]> 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 8515ac7400e82cd010f8d37c080fdf035b811efe..7d801be3306d9c794265fbc43e87c82a3c8eed2f 100644 (file)
@@ -28,33 +28,53 @@ int main(int argc, char** argv)
        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(&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();
+                                               delete(data);
                                        }
                                }
-                       }
-                       else {
-                               log_error("Could not get device list, device list NULL");
+                               delete(dr);
                        }
                }
                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);
        }