]> pilppa.org Git - lib1wire.git/blobdiff - src/W1DataList.hh
add min,max,mean,sum and delta calculations for stored data.
[lib1wire.git] / src / W1DataList.hh
index 967efa6d47f06db90b7c4ffc5a4f464d388071a7..2d6ceda966dea44528193acff56572a2e9cc9d2c 100644 (file)
@@ -13,6 +13,7 @@
 
 #include "Data.hh"
 #include "Date.hh"
+#include "DeviceConfig.hh"
 
 #include <time.h>
 
@@ -22,17 +23,21 @@ namespace w1 {
                        W1DataList(std::string device_id);
                        virtual ~W1DataList();
                        DataRange *get_data_range();
-                       Data *get_avg_day_data(plp::Date *date);
-                       DataRange *get_avg_day_data(plp::Date *start_date, plp::Date *end_date);
+                       /**
+                        * Get summary data calculated from the daily data items that is meaning full.
+                        * Depending from the device type, it may be daily mean value, daily delta, highest value, etc...
+                        */
+                       Data *get_daily_summary(plp::Date *date);
+                       DataRange *get_daily_summary(plp::Date *start_date, plp::Date *end_date);
                        DataRange *get_data(plp::Date *start_date, plp::Date *end_date);
                protected:
-                       std::string     device_id;
-                       std::string     device_dir;
-                       std::string     device_ch_dir;
-                       std::string get_day_data(plp::Date *date);
+                       std::string                     device_id;
+                       std::string                     device_dir;
+                       std::string                     device_ch_dir;
+                       w1::DeviceConfig                *device_config;
+                       enum_summary_calculation        summary_calc_type;
                        Data *find_oldest_data(std::vector<std::string> year_vector);
                        Data *find_newest_data(std::vector<std::string> year_vector);
-
        };
 }