]> pilppa.org Git - lib1wire.git/blob - src/StoreCache.hh
fdf3fe028a8391853e1ecdbedffb84b5d1dc6710
[lib1wire.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 #include "W1Configure.hh"
18
19 namespace plp {
20         class StoreCache: public plp::Store {
21                 public:
22                         StoreCache(std::string device_id_param,
23                                 plp::Date *date_time_param);
24                         virtual ~StoreCache();
25                         plp::DataRange *get_sum(EnumSummaryPeriod period_type_param);
26                         plp::DataRange *get_mean(EnumSummaryPeriod period_type_param);
27                         plp::DataRange *get_delta(EnumSummaryPeriod period_type_param);
28                         plp::DataRange *get_max(EnumSummaryPeriod period_type_param);
29                         plp::DataRange *get_min(EnumSummaryPeriod period_type_param);
30                 protected:
31                         plp::Data *get_year_oldest_data();
32                         plp::Data *get_year_newest_data();
33                         static std::string get_dir_name(std::string device_id_param,
34                                                 Date *date_time_param,
35                                                 EnumSummaryPeriod period_type_param,
36                                                 EnumSummaryCalculationType calc_type_param);
37                         static std::string get_file_name(std::string device_id_param,
38                                                 Date *date_time_param,
39                                                 EnumSummaryPeriod period_type_param,
40                                                 EnumSummaryCalculationType calc_type_param);
41                         void save(std::string fname_param, plp::DataRange *datarange_param, int decimal_count_param);
42         };
43 }
44
45 #endif /* STORECACHE_HH_ */