]> pilppa.org Git - lib1wire.git/blobdiff - src/W1Store.hh
Use pointers in date comparison functions.
[lib1wire.git] / src / W1Store.hh
index 396b419d005d5d6ca89bcb6175ccbc8d3428b76e..b4a6b1a1a6f4426d0f74971fbb9502d56a576858 100644 (file)
 
 #include <string>
 #include <list>
+#include <vector>
+
+#include <stdbool.h>
+
+#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 get_location_base_dir();
-                       static void set_location_base_dir(std::string location_param);
-                       static std::string get_location_dir(std::string device_id, struct tm *ltime);
-                       static std::string get_location_file(std::string device_id, struct tm *ltime);
-                       static void store(std::string device_id, std::list<std::string> *string_list);
+                       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 save(std::string device_id, std::list<Data *> *data_list, int dec_precision);
+                       bool load();
+                       Data *get_sum();
+                       Data *get_delta();
+                       Data *get_mean();
+                       Data *get_max();
+                       Data *get_min();
+                       std::vector<w1::Data *> *get_sum(int freq_sec);
+                       std::vector<w1::Data *> *get_mean(int freq_sec);
+                       std::vector<w1::Data *> *get_delta(int freq_sec);
+                       std::vector<w1::Data *> *get_max(int freq_sec);
+                       std::vector<w1::Data *> *get_min(int freq_sec);
+                       w1::Data *get_oldest_data();
+                       w1::Data *get_newest_data();
+                       w1::DataRange *get_oldest_and_newest_data();
                protected:
-                       static std::string location_base_dir;
+                       std::string             store_file_name;
+                       DataRange               *store_data;
+                       DataRange               *range_data;
+                       std::vector<Data *> *get_max_or_min(int freq_sec, bool max);
        };
 }