/* * test_config2.cc * * Created on: Aug 3, 2012 * Author: lamikr */ #include #include "../src/DeviceConfig.hh" #include "../src/FileUtil.hh" #include "../src/log.h" using namespace plp; using namespace std; #define DEVICE_NAME1 "device_1" #define KEY_NAME1 "key1" #define KEY_NAME2 "key2" #define KEY_NAME3 "key3" #define VALUE_NAME1 "val1" #define VALUE_NAME2 "val2" #define VALUE_NAME3 "val3" int test_config() { DeviceConfig *dev_cfg; string val; string fname_full; string fname_path; bool succ; DeviceConfig::set_base_dir_name("/tmp/test"); dev_cfg = new DeviceConfig(DEVICE_NAME1); fname_full = dev_cfg->get_config_file_name(); fname_path = FileUtil::parse_directory_path(fname_full.c_str()); log_info("file-name: %s, path_name: %s\n", fname_full.c_str(), fname_path.c_str()); dev_cfg->set_config_value(KEY_NAME1, VALUE_NAME1, false); // check that read works even if values have not been saved yet succ = dev_cfg->get_config_value(KEY_NAME1, val); if (succ) { log_info("val1: %s\n", val.c_str()); } else { log_error("failed to get value for key: %s\n", KEY_NAME1); } dev_cfg->set_config_value(KEY_NAME2, VALUE_NAME2, true); succ = dev_cfg->get_config_value(KEY_NAME2, val); if (succ) { log_info("val2: %s\n", val.c_str()); } else { log_error("failed to get value for key: %s\n", KEY_NAME2); } succ = dev_cfg->get_config_value(KEY_NAME2, val); if (succ) { log_info("val3: %s\n", val.c_str()); } else { log_error("failed to get value for key: %s\n", KEY_NAME2); } dev_cfg->set_config_value(KEY_NAME3, VALUE_NAME3, false); // check whether device_config destructor will do the final save delete(dev_cfg); return 0; } int main(int argc, char** argv) { test_config(); return 0; }