]> pilppa.org Git - lib1wire.git/blob - src/W1Store.hh
add min,max,mean,sum and delta calculations for stored data.
[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
14 #include "Data.hh"
15 #include "Date.hh"
16
17 namespace w1 {
18         class W1Store {
19                 public:
20                         W1Store(std::string device_id,
21                                 plp::Date *date_time);
22                         W1Store(std::string file_name_param);
23                         virtual ~W1Store();
24                         static std::string get_base_dir_name();
25                         static void set_base_dir_name(std::string store_param);
26                         static std::string get_dir_name(std::string device_id, plp::Date *ltime);
27                         static std::string get_file_name(std::string device_id, plp::Date *ltime);
28                         static void store(std::string device_id, std::list<std::string> *string_list);
29                         void load();
30                         Data *get_sum();
31                         Data *get_delta();
32                         Data *get_mean();
33                         Data *get_max();
34                         Data *get_min();
35                         w1::Data *get_oldest_data();
36                         w1::Data *get_newest_data();
37                         w1::DataRange *get_oldest_and_newest_data();
38                 protected:
39                         static std::string      store_base_dir;
40                         std::string             store_file_name;
41                         DataRange               *store_data;
42                         DataRange               *range_data;
43         };
44 }
45
46 #endif /* W1STORE_HH_ */