Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Convert xbt_cfg_set_parse -> simgrid::config::set_parse.
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Thu, 19 Apr 2018 16:08:11 +0000 (18:08 +0200)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Thu, 19 Apr 2018 16:53:26 +0000 (18:53 +0200)
include/xbt/config.h
include/xbt/config.hpp
src/s4u/s4u_engine.cpp
src/simgrid/sg_config.cpp
src/surf/xml/surfxml_sax_cb.cpp
src/xbt/config.cpp
teshsuite/surf/surf_usage/surf_usage.cpp
teshsuite/surf/surf_usage2/surf_usage2.cpp

index a709bb1..df1cedb 100644 (file)
@@ -67,7 +67,8 @@ typedef void* xbt_cfg_t;
 
 SG_BEGIN_DECL()
 
 
 SG_BEGIN_DECL()
 
-XBT_PUBLIC void xbt_cfg_set_parse(const char* options);
+XBT_ATTRIB_DEPRECATED_v323("Please use simgrid::config::set_parse") XBT_PUBLIC
+    void xbt_cfg_set_parse(const char* options);
 
 /* Set the value of the cell \a name in \a cfg with the provided value.*/
 XBT_ATTRIB_DEPRECATED_v323("Please use simgrid::config::set_value<int>") XBT_PUBLIC
 
 /* Set the value of the cell \a name in \a cfg with the provided value.*/
 XBT_ATTRIB_DEPRECATED_v323("Please use simgrid::config::set_value<int>") XBT_PUBLIC
index eb16016..48fd59f 100644 (file)
@@ -64,6 +64,7 @@ extern template XBT_PUBLIC void set_value<bool>(const char* name, bool value);
 extern template XBT_PUBLIC void set_value<std::string>(const char* name, std::string value);
 
 XBT_PUBLIC void set_as_string(const char* name, const std::string& value);
 extern template XBT_PUBLIC void set_value<std::string>(const char* name, std::string value);
 
 XBT_PUBLIC void set_as_string(const char* name, const std::string& value);
+XBT_PUBLIC void set_parse(std::string options);
 
 // Get config
 
 
 // Get config
 
index 77c71e5..f928ff7 100644 (file)
@@ -18,6 +18,7 @@
 #include "src/kernel/EngineImpl.hpp"
 #include "src/surf/network_interface.hpp"
 #include "surf/surf.hpp" // routing_platf. FIXME:KILLME. SOON
 #include "src/kernel/EngineImpl.hpp"
 #include "src/surf/network_interface.hpp"
 #include "surf/surf.hpp" // routing_platf. FIXME:KILLME. SOON
+#include "xbt/config.hpp"
 
 XBT_LOG_NEW_CATEGORY(s4u,"Log channels of the S4U (Simgrid for you) interface");
 
 
 XBT_LOG_NEW_CATEGORY(s4u,"Log channels of the S4U (Simgrid for you) interface");
 
@@ -246,7 +247,7 @@ bool Engine::isInitialized()
 }
 void Engine::setConfig(std::string str)
 {
 }
 void Engine::setConfig(std::string str)
 {
-  xbt_cfg_set_parse(str.c_str());
+  simgrid::config::set_parse(std::move(str));
 }
 }
 } // namespace
 }
 }
 } // namespace
index aa31ac1..86c1a6f 100644 (file)
@@ -44,7 +44,7 @@ static void sg_config_cmd_line(int *argc, char **argv)
       char *opt = strchr(argv[i], '=');
       opt++;
 
       char *opt = strchr(argv[i], '=');
       opt++;
 
-      xbt_cfg_set_parse(opt);
+      simgrid::config::set_parse(opt);
       XBT_DEBUG("Did apply '%s' as config setting", opt);
     } else if (not strcmp(argv[i], "--version")) {
       printf("%s\n", SIMGRID_VERSION_STRING);
       XBT_DEBUG("Did apply '%s' as config setting", opt);
     } else if (not strcmp(argv[i], "--version")) {
       printf("%s\n", SIMGRID_VERSION_STRING);
index ea98c47..91c0d5a 100644 (file)
@@ -867,7 +867,7 @@ void ETag_surfxml_config()
   for (auto const& elm : *current_property_set) {
     if (simgrid::config::is_default(elm.first.c_str())) {
       std::string cfg = elm.first + ":" + elm.second;
   for (auto const& elm : *current_property_set) {
     if (simgrid::config::is_default(elm.first.c_str())) {
       std::string cfg = elm.first + ":" + elm.second;
-      xbt_cfg_set_parse(cfg.c_str());
+      simgrid::config::set_parse(std::move(cfg));
     } else
       XBT_INFO("The custom configuration '%s' is already defined by user!", elm.first.c_str());
   }
     } else
       XBT_INFO("The custom configuration '%s' is already defined by user!", elm.first.c_str());
   }
index 3f05c02..92f0412 100644 (file)
@@ -400,6 +400,39 @@ void set_as_string(const char* name, const std::string& value)
   (*simgrid_config)[name].set_string_value(value.c_str());
 }
 
   (*simgrid_config)[name].set_string_value(value.c_str());
 }
 
+void set_parse(std::string options)
+{
+  XBT_DEBUG("List to parse and set:'%s'", options.c_str());
+  while (not options.empty()) {
+    XBT_DEBUG("Still to parse and set: '%s'", options.c_str());
+
+    // skip separators
+    size_t pos = options.find_first_not_of(" \t\n,");
+    options.erase(0, pos);
+    // find option
+    pos              = options.find_first_of(" \t\n,");
+    std::string name = options.substr(0, pos);
+    options.erase(0, pos);
+    XBT_DEBUG("parse now:'%s'; parse later:'%s'", name.c_str(), options.c_str());
+
+    if (name.empty())
+      continue;
+
+    pos = name.find(':');
+    xbt_assert(pos != std::string::npos, "Option '%s' badly formatted. Should be of the form 'name:value'",
+               name.c_str());
+
+    std::string val = name.substr(pos + 1);
+    name.erase(pos);
+
+    const std::string path("path");
+    if (name.compare(0, path.length(), path) != 0)
+      XBT_INFO("Configuration change: Set '%s' to '%s'", name.c_str(), val.c_str());
+
+    set_as_string(name.c_str(), val);
+  }
+}
+
 // ***** get_value *****
 
 template <class T> XBT_PUBLIC T const& get_value(const char* name)
 // ***** get_value *****
 
 template <class T> XBT_PUBLIC T const& get_value(const char* name)
@@ -513,40 +546,8 @@ void xbt_cfg_help()
  */
 void xbt_cfg_set_parse(const char *options)
 {
  */
 void xbt_cfg_set_parse(const char *options)
 {
-  if (not options || not strlen(options)) { /* nothing to do */
-    return;
-  }
-
-  XBT_DEBUG("List to parse and set:'%s'", options);
-  std::string optionlist(options);
-  while (not optionlist.empty()) {
-    XBT_DEBUG("Still to parse and set: '%s'", optionlist.c_str());
-
-    // skip separators
-    size_t pos = optionlist.find_first_not_of(" \t\n,");
-    optionlist.erase(0, pos);
-    // find option
-    pos              = optionlist.find_first_of(" \t\n,");
-    std::string name = optionlist.substr(0, pos);
-    optionlist.erase(0, pos);
-    XBT_DEBUG("parse now:'%s'; parse later:'%s'", name.c_str(), optionlist.c_str());
-
-    if (name.empty())
-      continue;
-
-    pos = name.find(':');
-    xbt_assert(pos != std::string::npos, "Option '%s' badly formatted. Should be of the form 'name:value'",
-               name.c_str());
-
-    std::string val = name.substr(pos + 1);
-    name.erase(pos);
-
-    const std::string path("path");
-    if (name.compare(0, path.length(), path) != 0)
-      XBT_INFO("Configuration change: Set '%s' to '%s'", name.c_str(), val.c_str());
-
-    (*simgrid_config)[name.c_str()].set_string_value(val.c_str());
-  }
+  if (options && strlen(options) > 0)
+    simgrid::config::set_parse(std::string(options));
 }
 
 /** @brief Set the value of a variable, using the string representation of that value
 }
 
 /** @brief Set the value of a variable, using the string representation of that value
@@ -728,7 +729,7 @@ XBT_TEST_UNIT("memuse", test_config_memuse, "Alloc and free a config set")
   auto temp = simgrid_config;
   make_set();
   xbt_test_add("Alloc and free a config set");
   auto temp = simgrid_config;
   make_set();
   xbt_test_add("Alloc and free a config set");
-  xbt_cfg_set_parse("peername:veloce user:bidule");
+  simgrid::config::set_parse("peername:veloce user:bidule");
   xbt_cfg_free(&simgrid_config);
   simgrid_config = temp;
 }
   xbt_cfg_free(&simgrid_config);
   simgrid_config = temp;
 }
@@ -740,7 +741,7 @@ XBT_TEST_UNIT("use", test_config_use, "Data retrieving tests")
   xbt_test_add("Get a single value");
   {
     /* get_single_value */
   xbt_test_add("Get a single value");
   {
     /* get_single_value */
-    xbt_cfg_set_parse("peername:toto:42 speed:42");
+    simgrid::config::set_parse("peername:toto:42 speed:42");
     int ival = simgrid::config::get_value<int>("speed");
     if (ival != 42)
       xbt_test_fail("Speed value = %d, I expected 42", ival);
     int ival = simgrid::config::get_value<int>("speed");
     if (ival != 42)
       xbt_test_fail("Speed value = %d, I expected 42", ival);
@@ -749,7 +750,7 @@ XBT_TEST_UNIT("use", test_config_use, "Data retrieving tests")
   xbt_test_add("Access to a non-existant entry");
   {
     try {
   xbt_test_add("Access to a non-existant entry");
   {
     try {
-      xbt_cfg_set_parse("color:blue");
+      simgrid::config::set_parse("color:blue");
     } catch(xbt_ex& e) {
       if (e.category != not_found_error)
         xbt_test_exception(e);
     } catch(xbt_ex& e) {
       if (e.category != not_found_error)
         xbt_test_exception(e);
@@ -772,7 +773,7 @@ XBT_TEST_UNIT("c++flags", test_config_cxx_flags, "C++ flags")
   simgrid::config::Flag<bool> bool_flag2("bool2", "", true);
 
   xbt_test_add("Parse values");
   simgrid::config::Flag<bool> bool_flag2("bool2", "", true);
 
   xbt_test_add("Parse values");
-  xbt_cfg_set_parse("int:42 string:bar double:8.0 bool1:true bool2:false");
+  simgrid::config::set_parse("int:42 string:bar double:8.0 bool1:true bool2:false");
   xbt_test_assert(int_flag == 42, "Check int flag");
   xbt_test_assert(string_flag == "bar", "Check string flag");
   xbt_test_assert(double_flag == 8.0, "Check double flag");
   xbt_test_assert(int_flag == 42, "Check int flag");
   xbt_test_assert(string_flag == "bar", "Check string flag");
   xbt_test_assert(double_flag == 8.0, "Check double flag");
index 27b9638..153da3f 100644 (file)
@@ -9,7 +9,7 @@
 #include "src/surf/cpu_interface.hpp"
 #include "src/surf/network_interface.hpp"
 #include "surf/surf.hpp"
 #include "src/surf/cpu_interface.hpp"
 #include "src/surf/network_interface.hpp"
 #include "surf/surf.hpp"
-#include "xbt/config.h"
+#include "xbt/config.hpp"
 
 XBT_LOG_NEW_DEFAULT_CATEGORY(surf_test, "Messages specific for surf example");
 
 
 XBT_LOG_NEW_DEFAULT_CATEGORY(surf_test, "Messages specific for surf example");
 
@@ -34,8 +34,8 @@ static const char* string_action(simgrid::kernel::resource::Action::State state)
 int main(int argc, char **argv)
 {
   surf_init(&argc, argv);       /* Initialize some common structures */
 int main(int argc, char **argv)
 {
   surf_init(&argc, argv);       /* Initialize some common structures */
-  xbt_cfg_set_parse("cpu/model:Cas01");
-  xbt_cfg_set_parse("network/model:CM02");
+  simgrid::config::set_parse("cpu/model:Cas01");
+  simgrid::config::set_parse("network/model:CM02");
 
   xbt_assert(argc > 1, "Usage: %s platform.xml\n", argv[0]);
   parse_platform_file(argv[1]);
 
   xbt_assert(argc > 1, "Usage: %s platform.xml\n", argv[0]);
   parse_platform_file(argv[1]);
index d8a86cc..9ddc811 100644 (file)
@@ -10,7 +10,7 @@
 #include "src/surf/network_interface.hpp"
 #include "src/surf/surf_interface.hpp"
 #include "surf/surf.hpp"
 #include "src/surf/network_interface.hpp"
 #include "src/surf/surf_interface.hpp"
 #include "surf/surf.hpp"
-#include "xbt/config.h"
+#include "xbt/config.hpp"
 
 XBT_LOG_NEW_DEFAULT_CATEGORY(surf_test, "Messages specific for surf example");
 
 
 XBT_LOG_NEW_DEFAULT_CATEGORY(surf_test, "Messages specific for surf example");
 
@@ -20,8 +20,8 @@ int main(int argc, char **argv)
 
   surf_init(&argc, argv);       /* Initialize some common structures */
 
 
   surf_init(&argc, argv);       /* Initialize some common structures */
 
-  xbt_cfg_set_parse("network/model:CM02");
-  xbt_cfg_set_parse("cpu/model:Cas01");
+  simgrid::config::set_parse("network/model:CM02");
+  simgrid::config::set_parse("cpu/model:Cas01");
 
   xbt_assert(argc > 1, "Usage: %s platform.xml\n", argv[0]);
   parse_platform_file(argv[1]);
 
   xbt_assert(argc > 1, "Usage: %s platform.xml\n", argv[0]);
   parse_platform_file(argv[1]);