+/*
+ * Store.hh
+ *
+ * Created on: Oct 31, 2010
+ * Author: lamikr
+ */
+
+#ifndef W1STORE_HH_
+#define W1STORE_HH_
+
+#include <string>
+#include <list>
+#include <vector>
+
+#include <stdbool.h>
+
+#include "Data.hh"
+#include "Date.hh"
+
+namespace plp {
+ class Store {
+ public:
+ Store(std::string device_id,
+ plp::Date *date_time);
+ Store(std::string file_name_param);
+ virtual ~Store();
+ 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<plp::Data *> *data_list, int dec_precision);
+ bool load();
+ plp::Data *get_sum();
+ plp::Data *get_delta();
+ plp::Data *get_mean();
+ plp::Data *get_max();
+ plp::Data *get_min();
+ std::vector<plp::Data *> *get_sum(int freq_sec);
+ std::vector<plp::Data *> *get_mean(int freq_sec);
+ std::vector<plp::Data *> *get_delta(int freq_sec);
+ std::vector<plp::Data *> *get_max(int freq_sec);
+ std::vector<plp::Data *> *get_min(int freq_sec);
+ plp::Data *get_oldest_data();
+ plp::Data *get_newest_data();
+ plp::DataRange *get_oldest_and_newest_data();
+ protected:
+ std::string store_file_name;
+ plp::DataRange *store_data;
+ plp::DataRange *range_data;
+ std::vector<plp::Data *> *get_max_or_min(int freq_sec, bool max);
+ };
+}
+
+#endif /* W1STORE_HH_ */