00001
00026 #ifndef _GAIM_PREFS_H_
00027 #define _GAIM_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 gboolean gaim_prefs_exists(const char *name);
00184
00191 GaimPrefType gaim_prefs_get_type(const char *name);
00192
00199 gboolean gaim_prefs_get_bool(const char *name);
00200
00207 int gaim_prefs_get_int(const char *name);
00208
00215 const char *gaim_prefs_get_string(const char *name);
00216
00223 GList *gaim_prefs_get_string_list(const char *name);
00224
00228 guint gaim_prefs_connect_callback(const char *name, GaimPrefCallback cb,
00229 gpointer data);
00230
00234 void gaim_prefs_disconnect_callback(guint callback_id);
00235
00239 void gaim_prefs_trigger_callback(const char *name);
00240
00244 gboolean gaim_prefs_load();
00245
00249 void gaim_prefs_sync();
00250
00254 void gaim_prefs_update_old();
00255
00258 #ifdef __cplusplus
00259 }
00260 #endif
00261
00262 #endif