/* * Store.hh * * Created on: Oct 31, 2010 * Author: lamikr */ #ifndef W1STORE_HH_ #define W1STORE_HH_ #include #include #include #include #include "Data.hh" #include "Date.hh" #include "Store.hh" namespace plp { class StoreDay: public plp::Store { public: StoreDay(std::string device_id_param, plp::Date *date_time_param); StoreDay(std::string file_name_param); virtual ~StoreDay(); static void save(std::string device_id, std::list *data_list, int dec_precision); plp::DataRange *get_sum(EnumSummaryPeriod period_type_param); plp::DataRange *get_mean(EnumSummaryPeriod period_type_param); plp::DataRange *get_delta(EnumSummaryPeriod period_type_param); plp::DataRange *get_max(EnumSummaryPeriod period_type_param); plp::DataRange *get_min(EnumSummaryPeriod period_type_param); plp::Data *get_oldest_data(); plp::Data *get_latest_data(); plp::DataRange *get_oldest_and_latest_data(); /* * Checks whether store file exist. */ bool exist(); protected: std::string store_fname; bool load(); plp::DataRange *get_max_or_min(EnumSummaryPeriod period_type_param, bool max); static std::string get_dir_name(std::string device_id, plp::Date *date_time_param); static std::string get_file_name(std::string device_id, plp::Date *date_time_param); plp::DataRange *get_oldest_and_latest_data(std::string fname_param); bool exist(std::string fname_param); }; } #endif /* W1STORE_HH_ */