prefs.h
Go to the documentation of this file.
1
6 /* purple
7 *
8 * Purple is the legal property of its developers, whose names are too numerous
9 * to list here. Please refer to the COPYRIGHT file distributed with this
10 * source distribution.
11 *
12 * This program is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License as published by
14 * the Free Software Foundation; either version 2 of the License, or
15 * (at your option) any later version.
16 *
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
21 *
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, write to the Free Software
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
25 *
26 */
27 #ifndef _PURPLE_PREFS_H_
28 #define _PURPLE_PREFS_H_
29
30 #include <glib.h>
31
35 typedef enum _PurplePrefType
36 {
37 PURPLE_PREF_NONE,
38 PURPLE_PREF_BOOLEAN,
39 PURPLE_PREF_INT,
40 PURPLE_PREF_STRING,
41 PURPLE_PREF_STRING_LIST,
42 PURPLE_PREF_PATH,
43 PURPLE_PREF_PATH_LIST
45 } PurplePrefType;
46
62 typedef void (*PurplePrefCallback) (const char *name, PurplePrefType type,
63 gconstpointer val, gpointer data);
64
70 typedef struct _PurplePrefCallbackData PurplePrefCallbackData;
71
72
74 typedef struct _PurplePrefsUiOps PurplePrefsUiOps;
75
76
87 struct _PurplePrefsUiOps
88 {
89 void (*add_none)(const char *name);
90 void (*add_bool)(const char *name, gboolean value);
91 void (*add_int)(const char *name, int value);
92 void (*add_string)(const char *name, const char *value);
93 void (*add_string_list)(const char *name, GList *value);
94
95 void (*set_bool)(const char *name, gboolean value);
96 void (*set_int)(const char *name, int value);
97 void (*set_string)(const char *name, const char *value);
98 void (*set_string_list)(const char *name, GList *value);
99
100 gboolean (*get_bool)(const char *name);
101 int (*get_int)(const char *name);
102 const char *(*get_string)(const char *name);
103 GList *(*get_string_list)(const char *name);
104
105 PurplePrefType (*get_type)(const char *name);
106 GList *(*get_children_names)(const char *name);
107
108 gboolean (*exists)(const char *name);
109 void (*remove)(const char *name);
110
111 void (*rename)(const char *oldname, const char *newname);
112 void (*rename_boolean_toggle)(const char *oldname, const char *newname);
113
114 gboolean (*load)(void);
115 void (*save)(void);
116 void (*schedule_save)(void);
117
127 void *(*connect_callback)(const char *name, PurplePrefCallbackData *data);
128
137 void (*disconnect_callback)(const char *name, void *ui_data);
138
139 void (*_purple_reserved1)(void);
140 void (*_purple_reserved2)(void);
141 void (*_purple_reserved3)(void);
142 void (*_purple_reserved4)(void);
143 void (*_purple_reserved5)(void);
144 };
145
146
147
148 #ifdef __cplusplus
149 extern "C" {
150 #endif
151
152 /**************************************************************************/
154 /**************************************************************************/
162 void purple_prefs_set_ui_ops(PurplePrefsUiOps *ops);
163
170 PurplePrefsUiOps *purple_prefs_get_ui_ops(void);
171
174 /**************************************************************************/
178 /**************************************************************************/
186 void *purple_prefs_get_handle(void);
187
191 void purple_prefs_init(void);
192
196 void purple_prefs_uninit(void);
197
203 void purple_prefs_add_none(const char *name);
204
211 void purple_prefs_add_bool(const char *name, gboolean value);
212
219 void purple_prefs_add_int(const char *name, int value);
220
227 void purple_prefs_add_string(const char *name, const char *value);
228
238 void purple_prefs_add_string_list(const char *name, GList *value);
239
246 void purple_prefs_add_path(const char *name, const char *value);
247
257 void purple_prefs_add_path_list(const char *name, GList *value);
258
259
265 void purple_prefs_remove(const char *name);
266
273 void purple_prefs_rename(const char *oldname, const char *newname);
274
281 void purple_prefs_rename_boolean_toggle(const char *oldname, const char *newname);
282
286 void purple_prefs_destroy(void);
287
302 /* TODO: When this is removed, also remove struct purple_pref->value.generic */
303 void purple_prefs_set_generic(const char *name, gpointer value);
304
311 void purple_prefs_set_bool(const char *name, gboolean value);
312
319 void purple_prefs_set_int(const char *name, int value);
320
327 void purple_prefs_set_string(const char *name, const char *value);
328
335 void purple_prefs_set_string_list(const char *name, GList *value);
336
343 void purple_prefs_set_path(const char *name, const char *value);
344
351 void purple_prefs_set_path_list(const char *name, GList *value);
352
353
360 gboolean purple_prefs_exists(const char *name);
361
368 PurplePrefType purple_prefs_get_type(const char *name);
369
376 gboolean purple_prefs_get_bool(const char *name);
377
384 int purple_prefs_get_int(const char *name);
385
392 const char *purple_prefs_get_string(const char *name);
393
400 GList *purple_prefs_get_string_list(const char *name);
401
408 const char *purple_prefs_get_path(const char *name);
409
416 GList *purple_prefs_get_path_list(const char *name);
417
428 GList *purple_prefs_get_children_names(const char *name);
429
442 guint purple_prefs_connect_callback(void *handle, const char *name, PurplePrefCallback cb,
443 gpointer data);
444
448 void purple_prefs_disconnect_callback(guint callback_id);
449
453 void purple_prefs_disconnect_by_handle(void *handle);
454
458 void purple_prefs_trigger_callback(const char *name);
459
466 void purple_prefs_trigger_callback_object(PurplePrefCallbackData *data);
467
468
472 gboolean purple_prefs_load(void);
473
477 void purple_prefs_update_old(void);
478
481 #ifdef __cplusplus
482 }
483 #endif
484
485 #endif /* _PURPLE_PREFS_H_ */
purple_prefs_add_int
void purple_prefs_add_int(const char *name, int value)
Add a new integer pref.
purple_prefs_uninit
void purple_prefs_uninit(void)
Uninitializes the prefs subsystem.
purple_prefs_connect_callback
guint purple_prefs_connect_callback(void *handle, const char *name, PurplePrefCallback cb, gpointer data)
Add a callback to a pref (and its children)
PurplePrefType
enum _PurplePrefType PurplePrefType
Preference data types.
purple_prefs_remove
void purple_prefs_remove(const char *name)
Remove a pref.
purple_prefs_update_old
void purple_prefs_update_old(void)
Rename legacy prefs and delete some that no longer exist.
purple_prefs_set_string_list
void purple_prefs_set_string_list(const char *name, GList *value)
Set string list pref value.
purple_prefs_get_string_list
GList * purple_prefs_get_string_list(const char *name)
Get string list pref value.
purple_prefs_exists
gboolean purple_prefs_exists(const char *name)
Check if a pref exists.
purple_prefs_set_bool
void purple_prefs_set_bool(const char *name, gboolean value)
Set boolean pref value.
PURPLE_PREF_BOOLEAN
Boolean.
Definition: prefs.h:38
purple_prefs_add_string
void purple_prefs_add_string(const char *name, const char *value)
Add a new string pref.
purple_prefs_get_handle
void * purple_prefs_get_handle(void)
Returns the prefs subsystem handle.
purple_prefs_disconnect_callback
void purple_prefs_disconnect_callback(guint callback_id)
Remove a callback to a pref.
purple_prefs_rename
void purple_prefs_rename(const char *oldname, const char *newname)
Rename a pref.
purple_prefs_set_generic
void purple_prefs_set_generic(const char *name, gpointer value)
Set raw pref value.
purple_prefs_set_int
void purple_prefs_set_int(const char *name, int value)
Set integer pref value.
PURPLE_PREF_NONE
No type.
Definition: prefs.h:37
purple_prefs_trigger_callback_object
void purple_prefs_trigger_callback_object(PurplePrefCallbackData *data)
Trigger callbacks as if the pref changed, taking a PurplePrefCallbackData instead of a name...
purple_prefs_set_ui_ops
void purple_prefs_set_ui_ops(PurplePrefsUiOps *ops)
Sets the UI operations structure to be used for preferences.
PURPLE_PREF_STRING
String.
Definition: prefs.h:40
purple_prefs_rename_boolean_toggle
void purple_prefs_rename_boolean_toggle(const char *oldname, const char *newname)
Rename a boolean pref, toggling it&#39;s value.
purple_prefs_set_string
void purple_prefs_set_string(const char *name, const char *value)
Set string pref value.
purple_prefs_get_ui_ops
PurplePrefsUiOps * purple_prefs_get_ui_ops(void)
Returns the UI operations structure used for preferences.
purple_prefs_destroy
void purple_prefs_destroy(void)
Remove all prefs.
purple_prefs_add_string_list
void purple_prefs_add_string_list(const char *name, GList *value)
Add a new string list pref.
_PurplePrefType
_PurplePrefType
Preference data types.
Definition: prefs.h:35
purple_prefs_get_type
PurplePrefType purple_prefs_get_type(const char *name)
Get pref type.
purple_prefs_get_children_names
GList * purple_prefs_get_children_names(const char *name)
Returns a list of children for a pref.
purple_prefs_get_int
int purple_prefs_get_int(const char *name)
Get integer pref value.
purple_prefs_add_none
void purple_prefs_add_none(const char *name)
Add a new typeless pref.
_PurplePrefsUiOps::disconnect_callback
void(* disconnect_callback)(const char *name, void *ui_data)
Called when a callback is removed from a preference.
Definition: prefs.h:137
purple_prefs_add_path
void purple_prefs_add_path(const char *name, const char *value)
Add a new path pref.
PurplePrefCallback
void(* PurplePrefCallback)(const char *name, PurplePrefType type, gconstpointer val, gpointer data)
The type of callbacks for preference changes.
Definition: prefs.h:62
PurplePrefCallbackData
struct _PurplePrefCallbackData PurplePrefCallbackData
Opaque type to carry callback information.
Definition: prefs.h:70
PURPLE_PREF_PATH
Path.
Definition: prefs.h:42
PURPLE_PREF_PATH_LIST
List of paths.
Definition: prefs.h:43
purple_prefs_get_bool
gboolean purple_prefs_get_bool(const char *name)
Get boolean pref value.
purple_prefs_get_path
const char * purple_prefs_get_path(const char *name)
Get path pref value.
purple_prefs_load
gboolean purple_prefs_load(void)
Read preferences.
_PurplePrefsUiOps
Prefs UI operations.
Definition: prefs.h:87
purple_prefs_disconnect_by_handle
void purple_prefs_disconnect_by_handle(void *handle)
Remove all pref callbacks by handle.
purple_prefs_get_path_list
GList * purple_prefs_get_path_list(const char *name)
Get path list pref value.
purple_prefs_add_path_list
void purple_prefs_add_path_list(const char *name, GList *value)
Add a new path list pref.
purple_prefs_get_string
const char * purple_prefs_get_string(const char *name)
Get string pref value.
PURPLE_PREF_INT
Integer.
Definition: prefs.h:39
PURPLE_PREF_STRING_LIST
List of strings.
Definition: prefs.h:41
purple_prefs_add_bool
void purple_prefs_add_bool(const char *name, gboolean value)
Add a new boolean pref.
purple_prefs_init
void purple_prefs_init(void)
Initialize core prefs.
purple_prefs_set_path
void purple_prefs_set_path(const char *name, const char *value)
Set path pref value.
purple_prefs_trigger_callback
void purple_prefs_trigger_callback(const char *name)
Trigger callbacks as if the pref changed.
purple_prefs_set_path_list
void purple_prefs_set_path_list(const char *name, GList *value)
Set path list pref value.