X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a86b48cc8cbf39ba4c751a99248527278dafb7fa..789529a899d117470afb2156e71b35e41444e9b9:/include/xbt/config.h diff --git a/include/xbt/config.h b/include/xbt/config.h index 023f70ae61..58b3a41e7c 100644 --- a/include/xbt/config.h +++ b/include/xbt/config.h @@ -2,7 +2,7 @@ /* This is useful to build named structs, like option or property sets. */ -/* Copyright (c) 2004, 2005, 2006, 2007, 2009, 2010. The SimGrid Team. +/* Copyright (c) 2004-2007, 2009-2014. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -11,8 +11,8 @@ #ifndef _XBT_CONFIG_H_ #define _XBT_CONFIG_H_ -#include #include "xbt/dynar.h" +#include SG_BEGIN_DECL() @@ -103,8 +103,8 @@ XBT_PUBLIC(void) xbt_cfg_set_double(xbt_cfg_t cfg, const char *name, double val); 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_boolean(xbt_cfg_t cfg, const char *name, const char *val); +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. @@ -116,9 +116,8 @@ XBT_PUBLIC(void) xbt_cfg_setdefault_double(xbt_cfg_t cfg, const char *name, double val); XBT_PUBLIC(void) xbt_cfg_setdefault_string(xbt_cfg_t cfg, const char *name, const char *val); -XBT_PUBLIC(void) xbt_cfg_setdefault_peer(xbt_cfg_t cfg, const char *name, - const char *host, int port); - +XBT_PUBLIC(void) xbt_cfg_setdefault_boolean(xbt_cfg_t cfg, const char *name, + const char *val); /* Remove the provided value from the cell @name in @cfg. @@ -128,8 +127,7 @@ XBT_PUBLIC(void) xbt_cfg_rm_double(xbt_cfg_t cfg, const char *name, double val); XBT_PUBLIC(void) xbt_cfg_rm_string(xbt_cfg_t cfg, const char *name, const char *val); -XBT_PUBLIC(void) xbt_cfg_rm_peer(xbt_cfg_t cfg, const char *name, - const char *peer, int port); +XBT_PUBLIC(void) xbt_cfg_rm_boolean(xbt_cfg_t cfg, const char *name, int val); /* Remove the value at position \e pos from the config \e cfg @@ -158,12 +156,24 @@ typedef enum { /**< double */ xbt_cfgelm_string, /**< char* */ - xbt_cfgelm_peer, /**< both a char* (representing the peername) and an integer (representing the port) */ + xbt_cfgelm_boolean, /**< int */ + //! @cond xbt_cfgelm_any, /* not shown to users to prevent errors */ xbt_cfgelm_type_count + //! @endcond } e_xbt_cfgelm_type_t; +/** Boolean possible values **/ + +struct xbt_boolean_couple { + const char *true_val; + const char *false_val; +}; + + + + /** \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); @@ -188,7 +198,7 @@ XBT_PUBLIC(void) xbt_cfg_register(xbt_cfg_t * cfg, const char *name, const char *description, e_xbt_cfgelm_type_t type, - void *default_value, int min, int max, + int min, int max, xbt_cfg_cb_t cb_set, xbt_cfg_cb_t cb_rm); XBT_PUBLIC(void) xbt_cfg_unregister(xbt_cfg_t cfg, const char *name); XBT_PUBLIC(void) xbt_cfg_register_str(xbt_cfg_t * cfg, const char *entry); @@ -214,8 +224,7 @@ XBT_PUBLIC(e_xbt_cfgelm_type_t) xbt_cfg_get_type(xbt_cfg_t cfg, XBT_PUBLIC(int) xbt_cfg_get_int(xbt_cfg_t cfg, const char *name); XBT_PUBLIC(double) xbt_cfg_get_double(xbt_cfg_t cfg, const char *name); XBT_PUBLIC(char *) xbt_cfg_get_string(xbt_cfg_t cfg, const char *name); -XBT_PUBLIC(void) xbt_cfg_get_peer(xbt_cfg_t cfg, const char *name, - char **peer, int *port); +XBT_PUBLIC(int) xbt_cfg_get_boolean(xbt_cfg_t cfg, const char *name); XBT_PUBLIC(xbt_dynar_t) xbt_cfg_get_dynar(xbt_cfg_t cfg, const char *name); XBT_PUBLIC(int) xbt_cfg_get_int_at(xbt_cfg_t cfg, const char *name, @@ -224,8 +233,8 @@ XBT_PUBLIC(double) xbt_cfg_get_double_at(xbt_cfg_t cfg, const char *name, int pos); XBT_PUBLIC(char *) xbt_cfg_get_string_at(xbt_cfg_t cfg, const char *name, int pos); -XBT_PUBLIC(void) xbt_cfg_get_peer_at(xbt_cfg_t cfg, const char *name, - int pos, char **peer, int *port); +XBT_PUBLIC(int) xbt_cfg_get_boolean_at(xbt_cfg_t cfg, const char *name, + int pos); /** @} */