#include <stdlib.h>
#include <plp/log.h>
+#include <plp/Date.hh>
+#include <plp/DataReader.hh>
+#include <plp/DeviceConfig.hh>
+#include <plp/Device.hh>
+#include <plp/SensorDevice.hh>
-#include "Date.hh"
-#include "DataReader.hh"
-#include "DeviceConfig.hh"
#include "Factory.hh"
-#include "W1Util.hh"
using namespace std;
using namespace plp;
Data *fdata;
Data *ldata;
DataReader *reader;
- Device *device;
+ Device *dev;
+ SensorDevice *device;
DataRange *dr;
DataRange *dr2;
list<Device *> dev_lst;
list<Device *>::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);
dev_lst = Factory::get_device_list();
for(list_iter = dev_lst.begin(); list_iter != dev_lst.end(); list_iter++) {
- device = (Device *)*list_iter;
- 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;
+ dev = (Device *)*list_iter;
+ if (dev != NULL) {
+ device = dynamic_cast<SensorDevice *>(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 = reader->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(ldata);
+ delete(fdata);
}
- delete(fdata);
+ delete(dr);
}
- delete(dr);
+ delete(reader);
}
- delete(reader);
}
}
}