Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
useless psychotic cleanup
[simgrid.git] / src / xbt / config.c
index 1890645..7c3de17 100644 (file)
@@ -21,7 +21,7 @@
 
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(xbt_cfg, xbt, "configuration support");
 
-xbt_cfg_t simgrid_config = NULL;
+XBT_EXPORT_NO_IMPORT(xbt_cfg_t) simgrid_config = NULL;
 static void xbt_cfg_register(xbt_cfg_t * cfg, const char *name, const char *desc, e_xbt_cfgelm_type_t type, xbt_cfg_cb_t cb_set);
 
 /* xbt_cfgelm_t: the typedef corresponding to a config variable. */
@@ -229,19 +229,19 @@ static void xbt_cfg_register(xbt_cfg_t * cfg, const char *name, const char *desc
   xbt_dict_set((xbt_dict_t) * cfg, name, res, NULL);
 }
 
-void xbt_cfg_register_double(const char *name, const char *desc, double default_value,xbt_cfg_cb_t cb_set){
+void xbt_cfg_register_double(const char *name, double default_value,xbt_cfg_cb_t cb_set, const char *desc){
   xbt_cfg_register(&simgrid_config,name,desc,xbt_cfgelm_double,cb_set);
   xbt_cfg_setdefault_double(name, default_value);
 }
-void xbt_cfg_register_int(const char *name, const char *desc, int default_value,xbt_cfg_cb_t cb_set){
+void xbt_cfg_register_int(const char *name, int default_value,xbt_cfg_cb_t cb_set, const char *desc) {
   xbt_cfg_register(&simgrid_config,name,desc,xbt_cfgelm_int,cb_set);
   xbt_cfg_setdefault_int(name, default_value);
 }
-void xbt_cfg_register_string(const char *name, const char *desc, const char *default_value, xbt_cfg_cb_t cb_set){
+void xbt_cfg_register_string(const char *name, const char *default_value, xbt_cfg_cb_t cb_set, const char *desc){
   xbt_cfg_register(&simgrid_config,name,desc,xbt_cfgelm_string,cb_set);
   xbt_cfg_setdefault_string(name, default_value);
 }
-void xbt_cfg_register_boolean(const char *name, const char *desc, const char*default_value,xbt_cfg_cb_t cb_set){
+void xbt_cfg_register_boolean(const char *name, const char*default_value,xbt_cfg_cb_t cb_set, const char *desc){
   xbt_cfg_register(&simgrid_config,name,desc,xbt_cfgelm_boolean,cb_set);
   xbt_cfg_setdefault_boolean(name, default_value);
 }
@@ -683,9 +683,8 @@ void xbt_cfg_setdefault_boolean(const char *name, const char *val)
     XBT_DEBUG("Do not override configuration variable '%s' with value '%s' because it was already set.", name, val);
 }
 
-/** @brief Set or add an integer value to \a name within \a cfg
+/** @brief Set an integer value to \a name within \a cfg
  *
- * @param cfg the config set
  * @param name the name of the variable
  * @param val the value of the variable
  */
@@ -696,15 +695,14 @@ void xbt_cfg_set_int(const char *name, int val)
   xbt_dynar_set(variable->content, 0, &val);
 
   if (variable->cb_set)
-    variable->cb_set(name, xbt_dynar_length(variable->content) - 1);
+    variable->cb_set(name);
   variable->isdefault = 0;
 }
 
 /** @brief Set or add a double value to \a name within \a cfg
  *
- * @param cfg the config set
  * @param name the name of the variable
- * @param val the doule to set
+ * @param val the double to set
  */
 void xbt_cfg_set_double(const char *name, double val)
 {
@@ -713,7 +711,7 @@ void xbt_cfg_set_double(const char *name, double val)
   xbt_dynar_set(variable->content, 0, &val);
 
   if (variable->cb_set)
-    variable->cb_set(name, xbt_dynar_length(variable->content) - 1);
+    variable->cb_set(name);
   variable->isdefault = 0;
 }
 
@@ -737,7 +735,7 @@ void xbt_cfg_set_string(const char *name, const char *val)
   xbt_dynar_set(variable->content, 0, &newval);
 
   if (variable->cb_set)
-    variable->cb_set(name, xbt_dynar_length(variable->content) - 1);
+    variable->cb_set(name);
   variable->isdefault = 0;
 }
 
@@ -748,10 +746,10 @@ void xbt_cfg_set_string(const char *name, const char *val)
  */
 void xbt_cfg_set_boolean(const char *name, const char *val)
 {
-  int i, bval;
+  int bval=-1;
   xbt_cfgelm_t variable = xbt_cfgelm_get(simgrid_config, name, xbt_cfgelm_boolean);
 
-  for (i = 0; xbt_cfgelm_boolean_values[i].true_val != NULL; i++) {
+  for (int i = 0; xbt_cfgelm_boolean_values[i].true_val != NULL; i++) {
     if (strcmp(val, xbt_cfgelm_boolean_values[i].true_val) == 0){
       bval = 1;
       break;
@@ -761,14 +759,11 @@ void xbt_cfg_set_boolean(const char *name, const char *val)
       break;
     }
   }
-  if (xbt_cfgelm_boolean_values[i].true_val == NULL) {
-    xbt_die("Value of option '%s' not valid. Should be a boolean (yes,no,on,off,true,false,0,1)", val);
-  }
-
+  xbt_assert(bval != -1, "Value of option '%s' not valid. Should be a boolean (yes,no,on,off,true,false,0,1)", val);
   xbt_dynar_set(variable->content, 0, &bval);
 
   if (variable->cb_set)
-    variable->cb_set(name, xbt_dynar_length(variable->content) - 1);
+    variable->cb_set(name);
   variable->isdefault = 0;
 }
 
@@ -865,61 +860,6 @@ int xbt_cfg_get_boolean(const char *name)
   return xbt_dynar_get_as(variable->content, 0, int);
 }
 
-/** @brief Retrieve the dynar of all the values stored in a variable
- *
- * @param cfg where to search in
- * @param name what to search for
- *
- * Get the data stored in the config set.
- *
- * \warning the returned value is the actual content of the config set
- */
-xbt_dynar_t xbt_cfg_get_dynar(const char *name)
-{
-  xbt_cfgelm_t variable = NULL;
-  xbt_ex_t e;
-
-  TRY {
-    variable = xbt_dict_get((xbt_dict_t) simgrid_config, name);
-  } CATCH(e) {
-    if (e.category == not_found_error) {
-      xbt_ex_free(e);
-      THROWF(not_found_error, 0, "No registered variable %s in this config set", name);
-    }
-    RETHROW;
-  }
-
-  return variable->content;
-}
-
-/** @brief Retrieve one of the integer value of a variable */
-int xbt_cfg_get_int_at(xbt_cfg_t cfg, const char *name, int pos)
-{
-  xbt_cfgelm_t variable = xbt_cfgelm_get(cfg, name, xbt_cfgelm_int);
-  return xbt_dynar_get_as(variable->content, pos, int);
-}
-
-/** @brief Retrieve one of the double value of a variable */
-double xbt_cfg_get_double_at(xbt_cfg_t cfg, const char *name, int pos)
-{
-  xbt_cfgelm_t variable = xbt_cfgelm_get(cfg, name, xbt_cfgelm_double);
-  return xbt_dynar_get_as(variable->content, pos, double);
-}
-
-/** @brief Retrieve one of the string value of a variable */
-char *xbt_cfg_get_string_at(xbt_cfg_t cfg, const char *name, int pos)
-{
-  xbt_cfgelm_t variable = xbt_cfgelm_get(cfg, name, xbt_cfgelm_string);
-  return xbt_dynar_get_as(variable->content, pos, char *);
-}
-
-/** @brief Retrieve one of the boolean value of a variable */
-int xbt_cfg_get_boolean_at(xbt_cfg_t cfg, const char *name, int pos)
-{
-  xbt_cfgelm_t variable = xbt_cfgelm_get(cfg, name, xbt_cfgelm_boolean);
-  return xbt_dynar_get_as(variable->content, pos, int);
-}
-
 #ifdef SIMGRID_TEST
 #include "xbt.h"
 #include "xbt/ex.h"