]> pilppa.org Git - nws-w1.git/blobdiff - src_client/NetworkServiceClient_W1.cc
call get_data_range from client
[nws-w1.git] / src_client / NetworkServiceClient_W1.cc
index 3d5687d6d180243960f99a4fe29653942ad3a918..7d801be3306d9c794265fbc43e87c82a3c8eed2f 100644 (file)
@@ -6,6 +6,7 @@
  */
 
 #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 +27,54 @@ int main(int argc, char** argv)
        list<Device *>::iterator        dev_iter;
        Device                          *device;
        string                          id;
+       int                             err_flg;
+       Data                            *data;
+       DataRange                       *dr;
 
+       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();
+                                               delete(data);
+                                       }
+                               }
+                               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);
        }