]> 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 3d5687d6d180243960f99a4fe29653942ad3a918..12d8573f9b7403bf61b0325125eb0d4b247ee2ef 100644 (file)
@@ -5,7 +5,10 @@
  *      Author: lamikr
  */
 
+#include <unistd.h>
+
 #include <plp/log.h>
+#include <plp/retval.h>
 #include <plp/bus/BusServer.hh>
 #include <plp/bus/BusClient.hh>
 #include <plp/bus/BusMessage.hh>
@@ -26,18 +29,69 @@ int main(int argc, char** argv)
        list<Device *>::iterator        dev_iter;
        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();
-               if (dev_lst != NULL) {
+               dev_lst = controller->get_device_list(&err_flg);
+               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();
-                               log_debug("device id: %s\n", id.c_str());
-                               //dev_man->send_request__get_latest_data(client, 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);
+                                       }
+                                       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 or error code returned.\n");
+               }
+               //if (dev_lst != NULL)
+               //      delete(dev_lst);
                delete(controller);
                sleep(3);
        }