4 * Created on: Nov 7, 2010
16 #include "DeviceConfig.hh"
23 DeviceData(std::string device_id);
24 virtual ~DeviceData();
25 plp::DataRange *get_data_range();
27 * Get monthly summary data.
28 * Depending from the device type, it may be daily mean value, daily delta, highest value, etc...
30 plp::DataRange *get_yearly_summary(plp::Date *date, EnumSummaryCalculationType calc_type);
31 plp::DataRange *get_yearly_summary(plp::Date *date);
32 plp::DataRange *get_yearly_summary(plp::Date *start_date, plp::Date *end_date);
34 * Get monthly summary data.
35 * Depending from the device type, it may be daily mean value, daily delta, highest value, etc...
37 plp::DataRange *get_monthly_summary(plp::Date *date, EnumSummaryCalculationType calc_type);
38 plp::DataRange *get_monthly_summary(plp::Date *date);
39 plp::DataRange *get_monthly_summary(plp::Date *start_date, plp::Date *end_date);
41 * Get daily summary data calculated from the daily data items.
42 * Depending from the device type, it may be daily mean value, daily delta, highest value, etc...
44 plp::DataRange *get_daily_summary(plp::Date *date, EnumSummaryCalculationType calc_type);
45 plp::DataRange *get_daily_summary(plp::Date *date);
46 plp::DataRange *get_daily_summary(plp::Date *start_date, plp::Date *end_date);
47 plp::DataRange *get_hourly_summary(plp::Date *date, EnumSummaryCalculationType calc_type);
48 plp::DataRange *get_hourly_summary(plp::Date *date);
49 plp::DataRange *get_hourly_summary(plp::Date *start_date, plp::Date *end_date);
50 plp::DataRange *get_data(plp::Date *start_date, plp::Date *end_date);
52 std::string device_id;
53 std::string device_dir;
54 std::string device_ch_dir;
55 w1::DeviceConfig *device_config;
56 EnumSummaryCalculationType summary_calc_type;
57 plp::Data *find_oldest_data(std::vector<std::string> year_vector);
58 plp::Data *find_newest_data(std::vector<std::string> year_vector);
59 plp::DataRange *get_summary(plp::Date *date_param,
60 EnumSummaryCalculationType calc_type_param,
61 EnumSummaryPeriod period_type_param);
65 #endif /* W1DATALIST_H_ */