]> pilppa.org Git - lib1wire.git/blobdiff - src/W1Store.hh
add min,max,mean,sum and delta calculations for stored data.
[lib1wire.git] / src / W1Store.hh
index abdc0b656140187c17b837774a8e158e0abb44b2..d27768a04af9fc62881a90396563f17e124b66bf 100644 (file)
 #include <string>
 #include <list>
 
+#include "Data.hh"
+#include "Date.hh"
+
 namespace w1 {
        class W1Store {
                public:
-                       W1Store();
+                       W1Store(std::string device_id,
+                               plp::Date *date_time);
+                       W1Store(std::string file_name_param);
                        virtual ~W1Store();
-                       static std::string location;
-                       static void set_location(std::string location_param);
-                       static void store(std::string device_id, std::list<std::string> string_list);
+                       static std::string get_base_dir_name();
+                       static void set_base_dir_name(std::string store_param);
+                       static std::string get_dir_name(std::string device_id, plp::Date *ltime);
+                       static std::string get_file_name(std::string device_id, plp::Date *ltime);
+                       static void store(std::string device_id, std::list<std::string> *string_list);
+                       void load();
+                       Data *get_sum();
+                       Data *get_delta();
+                       Data *get_mean();
+                       Data *get_max();
+                       Data *get_min();
+                       w1::Data *get_oldest_data();
+                       w1::Data *get_newest_data();
+                       w1::DataRange *get_oldest_and_newest_data();
+               protected:
+                       static std::string      store_base_dir;
+                       std::string             store_file_name;
+                       DataRange               *store_data;
+                       DataRange               *range_data;
        };
 }