4 * Created on: Nov 15, 2010
15 #include <plp/Date.hh>
16 #include <plp/DataReader.hh>
17 #include <plp/DeviceConfig.hh>
18 #include <plp/Device.hh>
19 #include <plp/SensorDevice.hh>
27 bool try_parse_long(const char *str, long *result) {
34 new_result = strtol(str, &endptr, 10);
36 log_error("invalid input %s, could not convert to integer.\n", str);
40 log_error("invalid input %s, could not convert to integer.\n", str);
50 int main(int argc, char** argv) {
54 const DataReader *reader;
59 list<Device *> dev_lst;
60 list<Device *>::iterator list_iter;
62 // default values than can be overwritten with parameters
63 loc = DeviceConfig::get_base_dir_name();
66 log_info("storage location: %s\n", loc.c_str());
67 DeviceConfig::set_base_dir_name(loc);
70 log_warning("No storage location parameter given, using default location: %s\n", loc.c_str());
72 dev_lst = Factory::get_device_list();
73 for(list_iter = dev_lst.begin(); list_iter != dev_lst.end(); list_iter++) {
74 dev = (Device *)*list_iter;
76 device = dynamic_cast<SensorDevice *>(dev);
78 reader = device->get_device_data();
80 dr = ((DataReader *)reader)->get_data_range();
82 fdata = dr->get_first();
85 ldata = dr->get_last();
91 d1 = fdata->get_date();
92 d2 = ldata->get_date();
93 dr2 = ((DataReader *)reader)->get_data(&d1, &d2);
108 while (dev_lst.empty() == false) {
109 dev = dev_lst.back();