]> pilppa.org Git - lib1wire.git/blob - src/W1Store.hh
Use pointers in date comparison functions.
[lib1wire.git] / src / W1Store.hh
1 /*
2  * W1Store.hh
3  *
4  *  Created on: Oct 31, 2010
5  *      Author: lamikr
6  */
7
8 #ifndef W1STORE_HH_
9 #define W1STORE_HH_
10
11 #include <string>
12 #include <list>
13 #include <vector>
14
15 #include <stdbool.h>
16
17 #include "Data.hh"
18 #include "Date.hh"
19
20 namespace w1 {
21         class W1Store {
22                 public:
23                         W1Store(std::string device_id,
24                                 plp::Date *date_time);
25                         W1Store(std::string file_name_param);
26                         virtual ~W1Store();
27                         static std::string get_dir_name(std::string device_id, plp::Date *ltime);
28                         static std::string get_file_name(std::string device_id, plp::Date *ltime);
29                         static void save(std::string device_id, std::list<Data *> *data_list, int dec_precision);
30                         bool load();
31                         Data *get_sum();
32                         Data *get_delta();
33                         Data *get_mean();
34                         Data *get_max();
35                         Data *get_min();
36                         std::vector<w1::Data *> *get_sum(int freq_sec);
37                         std::vector<w1::Data *> *get_mean(int freq_sec);
38                         std::vector<w1::Data *> *get_delta(int freq_sec);
39                         std::vector<w1::Data *> *get_max(int freq_sec);
40                         std::vector<w1::Data *> *get_min(int freq_sec);
41                         w1::Data *get_oldest_data();
42                         w1::Data *get_newest_data();
43                         w1::DataRange *get_oldest_and_newest_data();
44                 protected:
45                         std::string             store_file_name;
46                         DataRange               *store_data;
47                         DataRange               *range_data;
48                         std::vector<Data *> *get_max_or_min(int freq_sec, bool max);
49         };
50 }
51
52 #endif /* W1STORE_HH_ */