]> pilppa.org Git - libplp.git/blob - src/StoreCache.hh
w1 independent file cleanups.
[libplp.git] / src / StoreCache.hh
1 /*
2  * StoreCache.hh
3  *
4  *  Created on: Jan 6, 2011
5  *      Author: lamikr
6  */
7
8 #ifndef STORECACHE_HH_
9 #define STORECACHE_HH_
10
11 #include <vector>
12 #include <list>
13
14 #include "Data.hh"
15 #include "Date.hh"
16 #include "Store.hh"
17
18 namespace plp {
19         class StoreCache: public plp::Store {
20                 public:
21                         StoreCache(std::string device_id_param,
22                                 plp::Date *date_time_param);
23                         virtual ~StoreCache();
24                         plp::DataRange *get_sum(EnumSummaryPeriod period_type_param);
25                         plp::DataRange *get_mean(EnumSummaryPeriod period_type_param);
26                         plp::DataRange *get_delta(EnumSummaryPeriod period_type_param);
27                         plp::DataRange *get_max(EnumSummaryPeriod period_type_param);
28                         plp::DataRange *get_min(EnumSummaryPeriod period_type_param);
29                         static plp::Data *get_oldest_data(plp::Date *date_param, std::string device_id_param, EnumSummaryPeriod period_type_param);
30                         static plp::Data *get_latest_data(plp::Date *date_param, std::string device_id_param, EnumSummaryPeriod period_type_param);
31                 protected:
32                         static std::string get_dir_name(std::string device_id_param,
33                                                 Date *date_time_param,
34                                                 EnumSummaryPeriod period_type_param,
35                                                 EnumSummaryCalculationType calc_type_param);
36                         static std::string get_file_name(std::string device_id_param,
37                                                 Date *date_time_param,
38                                                 EnumSummaryPeriod period_type_param,
39                                                 EnumSummaryCalculationType calc_type_param);
40                         void save(std::string fname_param, plp::DataRange *datarange_param, int decimal_count_param);
41                 private:
42                         plp::Date *get_scanning_limit_date(EnumSummaryPeriod period_type_param);
43         };
44 }
45
46 #endif /* STORECACHE_HH_ */