]> pilppa.org Git - lib1wire.git/blobdiff - src_test/test_w1_datalog_write.cc
configuration data related changes
[lib1wire.git] / src_test / test_w1_datalog_write.cc
index 08bd2392209e368b2b0c2495676bdb3bf16d9413..93acbd179c08f2aadd937ef89b8c6a4dd0b04bd2 100644 (file)
 
 #include <plp/log.h>
 
-#include "DeviceConfig.hh"
+#include <plp/DeviceConfig.hh>
+#include <plp/Device.hh>
+
+#include <plp/str_util.h>
+
 #include "Factory.hh"
-#include "Device.hh"
 
 using namespace w1;
 using namespace std;
@@ -24,36 +27,13 @@ using namespace plp;
 #define DEFAULT_READ_INTERVAL_SECONDS  600
 #define DEFAULT_MAX_READ_COUNT         -1
 
-bool try_parse_long(const char *str, long *result) {
-       int     new_result;
-       char    *endptr;
-       bool    ret_val;
-
-       ret_val         = false;
-       errno           = 0;
-       new_result      = strtol(str, &endptr, 10);
-       if (errno != 0) {
-               log_error("invalid input %s, could not convert to integer.\n", str);
-       }
-       else {
-               if (endptr == str) {
-                       log_error("invalid input %s, could not convert to integer.\n", str);
-               }
-               else {
-                       *result = new_result;
-                       ret_val = true;
-               }
-       }
-       return ret_val;
-}
-
 int main(int argc, char** argv) {
-       list<Device *>                  device_list;
        int                             read_count_total;
        long                            cnt_max_scans;
        long                            read_interval_seconds;
        string                          loc;
        Device                          *device;
+       list<Device *>                  device_list;
        list<Device *>::iterator        iter;
 
        // default values than can be overwritten with parameters
@@ -70,10 +50,10 @@ int main(int argc, char** argv) {
                log_info("\tmax_read_count == -1: read devices until application is terminated\n\n");
        }
        if (argc > 2) {
-               try_parse_long(argv[2], &read_interval_seconds);
+               parse_long(argv[2], &read_interval_seconds);
        }
        if (argc > 3) {
-               try_parse_long(argv[3], &cnt_max_scans);
+               parse_long(argv[3], &cnt_max_scans);
        }
        log_info("searching 1-wire devices\n");
        if (read_interval_seconds == DEFAULT_READ_INTERVAL_SECONDS) {
@@ -100,7 +80,7 @@ int main(int argc, char** argv) {
                                log_info("closing the application, max read count reached. (%ld)\n", cnt_max_scans);
                                break;
                        }
-                       for(iter = device_list.begin(); iter != device_list.end(); iter++) {
+                       for (iter = device_list.begin(); iter != device_list.end(); iter++) {
                                device = (Device *)*iter;
                                if (device->get_lifecycle_state() == LIFECYCLE_STATUS__AVAILABLE) {
                                        device->printout();
@@ -114,11 +94,13 @@ int main(int argc, char** argv) {
                }
        }
        else {
-               log_debug("could not find 1-wire devices.\n");
+               log_debug("could not find devices.\n");
        }
+       log_debug("trying to start emptying list\n");
        while (device_list.empty() == false) {
                device  = device_list.back();
                device_list.pop_back();
+               log_debug("calling delete\n");
                delete(device);
        }
        return 0;