X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/0ac754a3a1133fcb39c1a1ecb1a68649939c76ce..a8760c75c04d098c2c100f94be5b99ceb83b0c17:/src/xbt/config.cpp diff --git a/src/xbt/config.cpp b/src/xbt/config.cpp index a172a49155..3f5be9aabe 100644 --- a/src/xbt/config.cpp +++ b/src/xbt/config.cpp @@ -366,17 +366,41 @@ void Config::help() } } -// ***** get_config ***** +// ***** set_default ***** -template XBT_PUBLIC T const& get_config(const char* name) +template XBT_PUBLIC void set_default(const char* name, T value) +{ + (*simgrid_config)[name].set_default_value(std::move(value)); +} + +template XBT_PUBLIC void set_default(const char* name, int value); +template XBT_PUBLIC void set_default(const char* name, double value); +template XBT_PUBLIC void set_default(const char* name, bool value); +template XBT_PUBLIC void set_default(const char* name, std::string value); + +// ***** set_value ***** + +template XBT_PUBLIC void set_value(const char* name, T value) +{ + (*simgrid_config)[name].set_value(std::move(value)); +} + +template XBT_PUBLIC void set_value(const char* name, int value); +template XBT_PUBLIC void set_value(const char* name, double value); +template XBT_PUBLIC void set_value(const char* name, bool value); +template XBT_PUBLIC void set_value(const char* name, std::string value); + +// ***** get_value ***** + +template XBT_PUBLIC T const& get_value(const char* name) { return (*simgrid_config)[name].get_value(); } -template XBT_PUBLIC int const& get_config(const char* name); -template XBT_PUBLIC double const& get_config(const char* name); -template XBT_PUBLIC bool const& get_config(const char* name); -template XBT_PUBLIC std::string const& get_config(const char* name); +template XBT_PUBLIC int const& get_value(const char* name); +template XBT_PUBLIC double const& get_value(const char* name); +template XBT_PUBLIC bool const& get_value(const char* name); +template XBT_PUBLIC std::string const& get_value(const char* name); // ***** alias ***** @@ -386,24 +410,24 @@ void alias(const char* realname, std::initializer_list aliases) simgrid_config->alias(realname, aliasname); } -// ***** declareFlag ***** +// ***** declare_flag ***** template -XBT_PUBLIC void declareFlag(const char* name, const char* description, T value, std::function callback) +XBT_PUBLIC void declare_flag(const char* name, const char* description, T value, std::function callback) { if (simgrid_config == nullptr) simgrid_config = xbt_cfg_new(); simgrid_config->register_option(name, description, std::move(value), std::move(callback)); } -template XBT_PUBLIC void declareFlag(const char* name, const char* description, int value, - std::function callback); -template XBT_PUBLIC void declareFlag(const char* name, const char* description, double value, - std::function callback); -template XBT_PUBLIC void declareFlag(const char* name, const char* description, bool value, - std::function callback); -template XBT_PUBLIC void declareFlag(const char* name, const char* description, std::string value, - std::function callback); +template XBT_PUBLIC void declare_flag(const char* name, const char* description, int value, + std::function callback); +template XBT_PUBLIC void declare_flag(const char* name, const char* description, double value, + std::function callback); +template XBT_PUBLIC void declare_flag(const char* name, const char* description, bool value, + std::function callback); +template XBT_PUBLIC void declare_flag(const char* name, const char* description, std::string value, + std::function callback); } } @@ -684,9 +708,9 @@ static void make_set() { simgrid_config = nullptr; xbt_log_threshold_set(&_XBT_LOGV(xbt_cfg), xbt_log_priority_critical); - simgrid::config::declareFlag("speed", "description", 0); - simgrid::config::declareFlag("peername", "description", ""); - simgrid::config::declareFlag("user", "description", ""); + simgrid::config::declare_flag("speed", "description", 0); + simgrid::config::declare_flag("peername", "description", ""); + simgrid::config::declare_flag("user", "description", ""); } /* end_of_make_set */ XBT_TEST_UNIT("memuse", test_config_memuse, "Alloc and free a config set") @@ -707,7 +731,7 @@ XBT_TEST_UNIT("use", test_config_use, "Data retrieving tests") { /* get_single_value */ xbt_cfg_set_parse("peername:toto:42 speed:42"); - int ival = xbt_cfg_get_int("speed"); + int ival = simgrid::config::get_value("speed"); if (ival != 42) xbt_test_fail("Speed value = %d, I expected 42", ival); }