Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
model-checker : fix dpor
[simgrid.git] / include / xbt / config.h
index 6000dbb..67c25bc 100644 (file)
@@ -44,8 +44,6 @@ SG_BEGIN_DECL()
  *
  *  To some extend, configuration sets can be seen as typed hash structures.
  *
- *  \todo This great mechanism is not used in SimGrid yet...
- *
  *
  *  \section XBT_cfg_ex Example of use
  *
@@ -88,8 +86,8 @@ SG_BEGIN_DECL()
  *
  * @{
  */
-  /** @brief Configuration set are only special dynars. But don't rely on it, it may change. */
-typedef xbt_dynar_t xbt_cfg_t;
+/** @brief Configuration set's data type is opaque. */
+typedef void* xbt_cfg_t;
 
 XBT_PUBLIC(void) xbt_cfg_set(xbt_cfg_t cfg, const char *name, ...);
 XBT_PUBLIC(void) xbt_cfg_set_vargs(xbt_cfg_t cfg, const char *name,
@@ -107,6 +105,7 @@ XBT_PUBLIC(void) xbt_cfg_set_string(xbt_cfg_t cfg, const char *name,
                                     const char *val);
 XBT_PUBLIC(void) xbt_cfg_set_peer(xbt_cfg_t cfg, const char *name,
                                   const char *peer, int port);
+XBT_PUBLIC(void*) xbt_cfg_set_as_string(xbt_cfg_t cfg, const char *name, const char *val);
 
 /*
   Set the default value of the cell \a name in \a cfg with the provided value.
@@ -141,6 +140,9 @@ XBT_PUBLIC(void) xbt_cfg_rm_at(xbt_cfg_t cfg, const char *name, int pos);
 /* rm every values */
 XBT_PUBLIC(void) xbt_cfg_empty(xbt_cfg_t cfg, const char *name);
 
+/* Return if configuration is set by default*/
+XBT_PUBLIC(int) xbt_cfg_is_default_value(xbt_cfg_t cfg, const char *name);
+
 /* @} */
 
 /** @defgroup XBT_cfg_decl Configuration type declaration and memory management
@@ -163,7 +165,7 @@ typedef enum {
   xbt_cfgelm_type_count
 } e_xbt_cfgelm_type_t;
 
-  /** \brief Callback types. They get the name of the modified entry, and the position of the changed value */
+/** \brief Callback types. They get the name of the modified entry, and the position of the changed value */
 typedef void (*xbt_cfg_cb_t) (const char *, int);
 
 XBT_PUBLIC(xbt_cfg_t) xbt_cfg_new(void);