]> pilppa.org Git - libplp.git/blobdiff - src/DeviceConfig.hh
add read_interval DeviceConfig methods
[libplp.git] / src / DeviceConfig.hh
index 194b8a7c6aaabd6fdec6106a9245055661262374..0ede1351afaae9511f875142ea9603a163bbc837 100644 (file)
@@ -12,7 +12,7 @@
 
 extern "C" {
        #include <uci.h>
-       #include "config.h"
+       #include <stdbool.h>
 }
 
 enum EnumSummaryPeriod{PERIOD_YEARLY, PERIOD_MONTHLY, PERIOD_DAILY, PERIOD_HOURLY, PERIOD_MINUTELY, PERIOD_SECONDLY};
@@ -21,24 +21,29 @@ enum EnumSummaryCalculationType {SUM, DELTA, MIN, MAX, MEAN};
 const std::string SUMMARY_PERIOD_NAMES_ARRAY[]         = {"yearly", "monthly", "daily", "minutely", "secondly"};
 const std::string CALCULATION_TYPE_NAMES_ARRAY[]       = {"sum", "delta", "min", "max", "mean"};
 
-#define DEVICE_CONFIG__FILE_NAME               "device_cfg"
-#define DEVICE_CONFIG__SECTION_TYPE            "device"
-#define DEVICE_CONFIG__SECTION_NAME            "base_data"
-#define DEVICE_CONFIG_VALUE_KEY__TYPE          "type"
-#define DEVICE_CONFIG_VALUE_KEY__ID            "id"
-#define DEVICE_CONFIG_VALUE_KEY__NAME          "name"
+#define DEVICE_CONFIG__FILE_NAME       "device_cfg"
+#define DEVICE_CONFIG__SECTION_TYPE    "device"
+#define DEVICE_CONFIG__SECTION_NAME    "base_data"
+#define DEVICE_CONFIG_VALUE_KEY__TYPE  "type"
+#define DEVICE_CONFIG_VALUE_KEY__ID    "id"
+#define DEVICE_CONFIG_VALUE_KEY__NAME  "name"
 
-#define DEFAULT_STORAGE_BASE_DIR               "/tmp/w1data"
-#define DATAFILE_SUFFIX                                ".txt"
-#define CACHE_DIR_NAME                         "cache"
+#define DEFAULT_STORAGE_BASE_DIR       "/tmp/w1data"
+#define DATAFILE_SUFFIX                        ".txt"
+#define CACHE_DIR_NAME                 "cache"
 
 namespace plp {
        struct ConfigHandle {
                public:
-                       ConfigHandle(uci_context *ctx_param, uci_package *pkg_param);
+                       ConfigHandle(uci_context *ctx_param,
+                               uci_package *pkg_param,
+                               const char *short_fname_param,
+                               const char *full_fname_param);
                        ~ConfigHandle();
                        struct uci_context      *_ctx;
                        struct uci_package      *_pkg;
+                       char                    *short_fname;
+                       char                    *full_fname;
        };
 
        class DeviceConfig {
@@ -47,12 +52,16 @@ namespace plp {
                        virtual ~DeviceConfig();
                        static std::string get_base_dir_name();
                        static void set_base_dir_name(std::string store_param);
+                       static long get_read_interval_seconds();
+                       static void set_read_interval_seconds(long seconds_param);
                        static DeviceConfig *get_device_config(std::string device_id);
-                       std::string get_cfg_value(std::string key);
-                       void set_cfg_value(std::string key, std::string value);
+                       std::string get_config_value(std::string key);
+                       void set_config_value(std::string key,
+                                       std::string value);
                        EnumSummaryCalculationType get_summary_calculation_type();
                private:
                        static std::string      store_base_dir;
+                       static long             read_interval_seconds;
                        std::string             device_id;
                        std::string             device_type;
                        ConfigHandle            *uci_handle;