00001
00026 #ifndef _PREFS_H_
00027 #define _PREFS_H_
00028
00029 #include <glib.h>
00030
00034 typedef enum _GaimPrefType
00035 {
00036 GAIM_PREF_NONE,
00037 GAIM_PREF_BOOLEAN,
00038 GAIM_PREF_INT,
00039 GAIM_PREF_STRING,
00040 GAIM_PREF_STRING_LIST
00041
00042 } GaimPrefType;
00043
00048 typedef void (*GaimPrefCallback) (const char *name, GaimPrefType type,
00049 gpointer val, gpointer data);
00050
00051 #ifdef __cplusplus
00052 extern "C" {
00053 #endif
00054
00055
00057
00063 void gaim_prefs_init();
00064
00068 void gaim_prefs_uninit(void);
00069
00075 void gaim_prefs_add_none(const char *name);
00076
00083 void gaim_prefs_add_bool(const char *name, gboolean value);
00084
00091 void gaim_prefs_add_int(const char *name, int value);
00092
00099 void gaim_prefs_add_string(const char *name, const char *value);
00100
00107 void gaim_prefs_add_string_list(const char *name, GList *value);
00108
00114 void gaim_prefs_remove(const char *name);
00115
00122 void gaim_prefs_rename(const char *oldname, const char *newname);
00123
00130 void gaim_prefs_rename_boolean_toggle(const char *oldname, const char *newname);
00131
00135 void gaim_prefs_destroy();
00136
00143 void gaim_prefs_set_generic(const char *name, gpointer value);
00144
00151 void gaim_prefs_set_bool(const char *name, gboolean value);
00152
00159 void gaim_prefs_set_int(const char *name, int value);
00160
00167 void gaim_prefs_set_string(const char *name, const char *value);
00168
00175 void gaim_prefs_set_string_list(const char *name, GList *value);
00176
00183 GaimPrefType gaim_prefs_get_type(const char *name);
00184
00191 gboolean gaim_prefs_get_bool(const char *name);
00192
00199 int gaim_prefs_get_int(const char *name);
00200
00207 const char *gaim_prefs_get_string(const char *name);
00208
00215 GList *gaim_prefs_get_string_list(const char *name);
00216
00220 guint gaim_prefs_connect_callback(const char *name, GaimPrefCallback cb,
00221 gpointer data);
00222
00226 void gaim_prefs_disconnect_callback(guint callback_id);
00227
00231 void gaim_prefs_trigger_callback(const char *name);
00232
00236 gboolean gaim_prefs_load();
00237
00241 void gaim_prefs_sync();
00242
00245 #ifdef __cplusplus
00246 }
00247 #endif
00248
00249 #endif