]> pilppa.org Git - nws-w1.git/blobdiff - src_client/NetworkServiceClient_W1.cc
fix compiler warning from sleep prototype
[nws-w1.git] / src_client / NetworkServiceClient_W1.cc
index 8515ac7400e82cd010f8d37c080fdf035b811efe..12d8573f9b7403bf61b0325125eb0d4b247ee2ef 100644 (file)
@@ -5,6 +5,8 @@
  *      Author: lamikr
  */
 
+#include <unistd.h>
+
 #include <plp/log.h>
 #include <plp/retval.h>
 #include <plp/bus/BusServer.hh>
@@ -28,33 +30,68 @@ int main(int argc, char** argv)
        Device                          *device;
        string                          id;
        int                             err_flg;
+       Data                            *data;
+       DataRange                       *dr;
+       Date                            sdate;
+       Date                            edate;
 
+       dev_lst         = NULL;
        controller      = new DeviceManagerController();
        if (controller != NULL) {
                dev_lst = controller->get_device_list(&err_flg);
-               if (err_flg == PLP_OK) {
-                       if (dev_lst != NULL) {
-                               for (dev_iter = ((list<Device *> *)dev_lst)->begin(); dev_iter != ((list<Device *> *)dev_lst)->end(); dev_iter++) {
-                                       device  = (Device *)*dev_iter;
-                                       id      = device->get_id();
-                                       device->printout();
-                                       log_info("id: %s\n", id.c_str());
-                                       controller->get_latest_data(id, &err_flg);
-                                       if (err_flg == PLP_OK) {
-                                               log_info("latest data:\n");
+               if ((err_flg == PLP_OK) &&
+                    (dev_lst != NULL)) {
+                       for (dev_iter = ((list<Device *> *)dev_lst)->begin(); dev_iter != ((list<Device *> *)dev_lst)->end(); dev_iter++) {
+                               device  = (Device *)*dev_iter;
+                               id      = device->get_id();
+                               device->printout();
+                               log_info("id: %s\n", id.c_str());
+                               data    = controller->get_latest_data(id, &err_flg);
+                               if ((data != NULL) &&
+                                   (err_flg == PLP_OK)) {
+                                       log_info("latest data for device: %s\n", id.c_str());
+                                       data->printout();
+                                       delete(data);
+                               }
+                               else {
+                                       log_error("Could not get latest data for device id: %s\n", id.c_str());
+                               }
+                               dr      = controller->get_data_range(id, &err_flg);
+                               if (dr != NULL) {
+                                       data    = dr->get_first();
+                                       if (data != NULL) {
+                                               log_debug("first data for device: %s\n", id.c_str());
+                                               data->printout();
+                                               delete(data);
                                        }
-                                       else {
-                                               log_error("Could not get latest data for device id: %s\n", id.c_str());
+                                       data    = dr->get_last();
+                                       if (data != NULL) {
+                                               log_debug("last data for device: %s\n", id.c_str());
+                                               data->printout();
+
+                                               edate   = data->get_date();
+                                               delete(data);
+
+                                               edate.copy(&sdate);
+                                               edate.day       = edate.day;
+                                               sdate.day       = sdate.day - 2;
+                                               DataRange       *dr2;
+
+                                               log_debug("first date: %s\n", sdate.to_string().c_str());
+                                               log_debug("last date: %s\n", edate.to_string().c_str());
+                                               dr2     = controller->get_data(id, &sdate, &edate, &err_flg);
+                                               dr2->printout();
+                                               delete(dr2);
                                        }
+                                       delete(dr);
                                }
                        }
-                       else {
-                               log_error("Could not get device list, device list NULL");
-                       }
                }
                else {
-                       log_error("Could not get device list, error code: %d", err_flg);
+                       log_error("Could not get device list, device list NULL or error code returned.\n");
                }
+               //if (dev_lst != NULL)
+               //      delete(dev_lst);
                delete(controller);
                sleep(3);
        }