X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=src%2FDeviceConfig.hh;h=0ede1351afaae9511f875142ea9603a163bbc837;hb=65f22bbea2531f7cd492d6108b8902f92b7750a8;hp=194b8a7c6aaabd6fdec6106a9245055661262374;hpb=45dab65b4663bd3a4115d62effd430441e43fa23;p=libplp.git diff --git a/src/DeviceConfig.hh b/src/DeviceConfig.hh index 194b8a7..0ede135 100644 --- a/src/DeviceConfig.hh +++ b/src/DeviceConfig.hh @@ -12,7 +12,7 @@ extern "C" { #include - #include "config.h" + #include } 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;