X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=src_test%2Ftest_w1_datalog_read.cc;h=48425e21b342069775512f050fcaeb0bc9c2d85d;hb=557fe3a639d7bd6fd146fdc9d573cf53bb2adff0;hp=d135c03f611b856f9fa26ecbf927a7d414433ceb;hpb=dcc5fd94e2ec65898dd8bda440cb0539e1f60373;p=lib1wire.git diff --git a/src_test/test_w1_datalog_read.cc b/src_test/test_w1_datalog_read.cc index d135c03..48425e2 100644 --- a/src_test/test_w1_datalog_read.cc +++ b/src_test/test_w1_datalog_read.cc @@ -12,15 +12,17 @@ #include #include +#include +#include +#include +#include +#include -#include "Date.hh" -#include "DeviceData.hh" -#include "DeviceConfig.hh" #include "Factory.hh" -#include "W1Util.hh" -using namespace w1; using namespace std; +using namespace plp; +using namespace w1; bool try_parse_long(const char *str, long *result) { int new_result; @@ -46,53 +48,62 @@ bool try_parse_long(const char *str, long *result) { } int main(int argc, char** argv) { - string loc; - Data *fdata; - Data *ldata; - DeviceData *dta; - DataRange *dr; - DataRange *dr2; - list dta_list; + string loc; + Data *fdata; + Data *ldata; + DataReader *reader; + Device *dev; + SensorDevice *device; + DataRange *dr; + DataRange *dr2; + list dev_lst; + list::iterator list_iter; // default values than can be overwritten with parameters - loc = "/tmp/w1data"; + loc = DeviceConfig::get_base_dir_name(); if (argc > 1) { loc = argv[1]; log_info("storage location: %s\n", loc.c_str()); + DeviceConfig::set_base_dir_name(loc); } else { log_warning("No storage location parameter given, using default location: %s\n", loc.c_str()); } - DeviceConfig::set_base_dir_name(loc); - dta_list = Factory::get_device_data_list(); - for(list::iterator list_iter = dta_list.begin(); list_iter != dta_list.end(); list_iter++) { - dta = (DeviceData *)*list_iter; - if (dta != NULL) { - dr = dta->get_data_range(); - if (dr != NULL) { - fdata = dr->get_first_data(); - if (fdata != NULL) { - fdata->printout(); - ldata = dr->get_last_data(); - if (ldata != NULL) { - ldata->printout(); - plp::Date d1; - plp::Date d2; + dev_lst = Factory::get_device_list(); + for(list_iter = dev_lst.begin(); list_iter != dev_lst.end(); list_iter++) { + dev = (Device *)*list_iter; + if (dev != NULL) { + device = dynamic_cast(dev); + if (device != NULL) { + reader = device->get_device_data(); + if (reader != NULL) { + dr = reader->get_data_range(); + if (dr != NULL) { + fdata = dr->get_first(); + if (fdata != NULL) { + fdata->printout(); + ldata = dr->get_last(); + if (ldata != NULL) { + ldata->printout(); + plp::Date d1; + plp::Date d2; - d1 = fdata->get_date(); - d2 = ldata->get_date(); - dr2 = dta->get_data(&d1, &d2); - if (dr2 != NULL) { - dr2->printout(); - delete(dr2); + d1 = fdata->get_date(); + d2 = ldata->get_date(); + dr2 = reader->get_data(&d1, &d2); + if (dr2 != NULL) { + dr2->printout(); + delete(dr2); + } + delete(ldata); + } + delete(fdata); } - delete(ldata); + delete(dr); } - delete(fdata); + delete(reader); } - delete(dr); } - delete(dta); } } return 0;