/*
* Store.hh
*
- * Created on: Oct 31, 2010
+ * Created on: Jan 20, 2011
* Author: lamikr
*/
-#ifndef W1STORE_HH_
-#define W1STORE_HH_
+#ifndef STORE_HH_
+#define STORE_HH_
#include <string>
-#include <list>
-#include <vector>
-
-#include <stdbool.h>
-
#include "Data.hh"
#include "Date.hh"
+#include "W1Configure.hh"
namespace plp {
class Store {
public:
- Store(std::string device_id,
- plp::Date *date_time);
- Store(std::string file_name_param);
+ Store(std::string device_id, plp::Date *date_time);
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();
+ virtual plp::DataRange *get_sum(EnumSummaryPeriod period_type_param) = 0;
+ virtual plp::DataRange *get_mean(EnumSummaryPeriod period_type_param) = 0;
+ virtual plp::DataRange *get_delta(EnumSummaryPeriod period_type_param) = 0;
+ virtual plp::DataRange *get_max(EnumSummaryPeriod period_type_param) = 0;
+ virtual plp::DataRange *get_min(EnumSummaryPeriod period_type_param) = 0;
protected:
- std::string store_file_name;
+ std::string device_id;
+ plp::Date *date;
plp::DataRange *store_data;
plp::DataRange *range_data;
- std::vector<plp::Data *> *get_max_or_min(int freq_sec, bool max);
+ bool load(std::string fname_param);
};
}
-#endif /* W1STORE_HH_ */
+#endif /* STORE_HH_ */