aboutsummaryrefslogtreecommitdiffstats
path: root/set.h
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2010-07-24 23:16:18 +0200
committerWilmer van der Gaast <wilmer@gaast.net>2010-07-24 23:16:18 +0200
commit2945c6ff5d1848f6d8e51a0d804a2d769e6894a7 (patch)
tree595788105189dab5270fe2b7dc4e9baffa487aed /set.h
parentef14a83adbb9036c0006ad460c5e11882a3d7e13 (diff)
parent593971d9ff9f246cec5af5583f29e45fee62edfe (diff)
Merge ui-fix (which includes killerbee (i.e. file transfers and libpurple
support)). ui-fix rewrites the complete IRC core, fixing many things that were broken/hacky/limited so far. The list is too long to include here, but http://wiki.bitlbee.org/UiFix has a summary, as does doc/CHANGES and of course the full revision history.
Diffstat (limited to 'set.h')
-rw-r--r--set.h23
1 files changed, 14 insertions, 9 deletions
diff --git a/set.h b/set.h
index 19ea73fb..9b012405 100644
--- a/set.h
+++ b/set.h
@@ -53,6 +53,7 @@ typedef struct set
object this settings belongs to. */
char *key;
+ char *old_key; /* Previously known as; for smooth upgrades. */
char *value;
char *def; /* Default value. If the set_setstr() function
notices a new value is exactly the same as
@@ -68,35 +69,39 @@ typedef struct set
the passed value variable. When returning a corrected value,
set_setstr() should be able to free() the returned string! */
set_eval eval;
+ void *eval_data;
struct set *next;
} set_t;
/* Should be pretty clear. */
-set_t *set_add( set_t **head, char *key, char *def, set_eval eval, void *data );
+set_t *set_add( set_t **head, const char *key, const char *def, set_eval eval, void *data );
/* Returns the raw set_t. Might be useful sometimes. */
-set_t *set_find( set_t **head, char *key );
+set_t *set_find( set_t **head, const char *key );
/* Returns a pointer to the string value of this setting. Don't modify the
returned string, and don't free() it! */
-G_MODULE_EXPORT char *set_getstr( set_t **head, char *key );
+G_MODULE_EXPORT char *set_getstr( set_t **head, const char *key );
/* Get an integer. In previous versions set_getint() was also used to read
boolean values, but this SHOULD be done with set_getbool() now! */
-G_MODULE_EXPORT int set_getint( set_t **head, char *key );
-G_MODULE_EXPORT int set_getbool( set_t **head, char *key );
+G_MODULE_EXPORT int set_getint( set_t **head, const char *key );
+G_MODULE_EXPORT int set_getbool( set_t **head, const char *key );
/* set_setstr() strdup()s the given value, so after using this function
you can free() it, if you want. */
-int set_setstr( set_t **head, char *key, char *value );
-int set_setint( set_t **head, char *key, int value );
-void set_del( set_t **head, char *key );
-int set_reset( set_t **head, char *key );
+int set_setstr( set_t **head, const char *key, char *value );
+int set_setint( set_t **head, const char *key, int value );
+void set_del( set_t **head, const char *key );
+int set_reset( set_t **head, const char *key );
/* Two very useful generic evaluators. */
char *set_eval_int( set_t *set, char *value );
char *set_eval_bool( set_t *set, char *value );
+/* Another more complicated one. */
+char *set_eval_list( set_t *set, char *value );
+
/* Some not very generic evaluators that really shouldn't be here... */
char *set_eval_to_char( set_t *set, char *value );
char *set_eval_ops( set_t *set, char *value );