From 94f2b4a7b8b62ed031fe96da4d24b2d5dbb4aded Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Sat, 22 Mar 2003 21:53:41 +0000 Subject: config system fleshed out. many thanks to woodlbock for his code! yay! --- openbox/config.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'openbox/config.h') diff --git a/openbox/config.h b/openbox/config.h index 9797f9e4..45ef015d 100644 --- a/openbox/config.h +++ b/openbox/config.h @@ -19,11 +19,36 @@ typedef struct { ConfigValue value; } ConfigEntry; +typedef struct { + char *name; + ConfigValueType type; + /* if it is a string type optionally provide a list of valid strings */ + gboolean hasList; + GSList *values; +} ConfigDefEntry; + void config_startup(); void config_shutdown(); +/* Set a config variable's value. The variable must have already been defined + with a call to config_def_set */ gboolean config_set(char *name, ConfigValueType type, ConfigValue value); +/* Get a config variable's value. Returns FALSE if the value has not been + set. */ +gboolean config_get(char *name, ConfigValueType type, ConfigValue *value); + +/* Create a new config definition to add to the config system */ +ConfigDefEntry *config_def_new(char *name, ConfigValueType type); + +/* Add a value to a String type config definition */ +gboolean config_def_add_value(ConfigDefEntry *entry, char *value); + +/* Sets up the definition in the config system, Don't free or touch the entry + after setting it with this. It is invalidated even if the function returns + FALSE. */ +gboolean config_def_set(ConfigDefEntry *entry); + void config_parse(); #endif -- cgit v1.2.3