pidgin 2.14.14dev
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
35typedef enum _PurplePrefType
36{
46
62typedef void (*PurplePrefCallback) (const char *name, PurplePrefType type,
63 gconstpointer val, gpointer data);
64
70typedef struct _PurplePrefCallbackData PurplePrefCallbackData;
71
72
75
76
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
149extern "C" {
150#endif
151
152/**************************************************************************/
154/**************************************************************************/
163
171
174/**************************************************************************/
178/**************************************************************************/
187
192
197
203void purple_prefs_add_none(const char *name);
204
211void purple_prefs_add_bool(const char *name, gboolean value);
212
219void purple_prefs_add_int(const char *name, int value);
220
227void purple_prefs_add_string(const char *name, const char *value);
228
238void purple_prefs_add_string_list(const char *name, GList *value);
239
246void purple_prefs_add_path(const char *name, const char *value);
247
257void purple_prefs_add_path_list(const char *name, GList *value);
258
259
265void purple_prefs_remove(const char *name);
266
273void purple_prefs_rename(const char *oldname, const char *newname);
274
281void purple_prefs_rename_boolean_toggle(const char *oldname, const char *newname);
282
287
302/* TODO: When this is removed, also remove struct purple_pref->value.generic */
303void purple_prefs_set_generic(const char *name, gpointer value);
304
311void purple_prefs_set_bool(const char *name, gboolean value);
312
319void purple_prefs_set_int(const char *name, int value);
320
327void purple_prefs_set_string(const char *name, const char *value);
328
335void purple_prefs_set_string_list(const char *name, GList *value);
336
343void purple_prefs_set_path(const char *name, const char *value);
344
351void purple_prefs_set_path_list(const char *name, GList *value);
352
353
360gboolean purple_prefs_exists(const char *name);
361
369
376gboolean purple_prefs_get_bool(const char *name);
377
384int purple_prefs_get_int(const char *name);
385
392const char *purple_prefs_get_string(const char *name);
393
400GList *purple_prefs_get_string_list(const char *name);
401
408const char *purple_prefs_get_path(const char *name);
409
416GList *purple_prefs_get_path_list(const char *name);
417
428GList *purple_prefs_get_children_names(const char *name);
429
442guint purple_prefs_connect_callback(void *handle, const char *name, PurplePrefCallback cb,
443 gpointer data);
444
448void purple_prefs_disconnect_callback(guint callback_id);
449
454
458void purple_prefs_trigger_callback(const char *name);
459
467
468
472gboolean purple_prefs_load(void);
473
478
481#ifdef __cplusplus
482}
483#endif
484
485#endif /* _PURPLE_PREFS_H_ */
void purple_prefs_uninit(void)
Uninitializes the prefs subsystem.
gboolean purple_prefs_exists(const char *name)
Check if a pref exists.
void purple_prefs_set_string_list(const char *name, GList *value)
Set string list pref value.
void purple_prefs_set_path_list(const char *name, GList *value)
Set path list pref value.
void purple_prefs_set_path(const char *name, const char *value)
Set path pref value.
void purple_prefs_set_int(const char *name, int value)
Set integer pref value.
GList * purple_prefs_get_children_names(const char *name)
Returns a list of children for a pref.
void purple_prefs_disconnect_callback(guint callback_id)
Remove a callback to a pref.
void purple_prefs_rename_boolean_toggle(const char *oldname, const char *newname)
Rename a boolean pref, toggling it's value.
void(* PurplePrefCallback)(const char *name, PurplePrefType type, gconstpointer val, gpointer data)
The type of callbacks for preference changes.
Definition: prefs.h:62
void purple_prefs_add_path_list(const char *name, GList *value)
Add a new path list pref.
void purple_prefs_trigger_callback_object(PurplePrefCallbackData *data)
Trigger callbacks as if the pref changed, taking a PurplePrefCallbackData instead of a name.
_PurplePrefType
Preference data types.
Definition: prefs.h:36
@ PURPLE_PREF_NONE
No type.
Definition: prefs.h:37
@ PURPLE_PREF_INT
Integer.
Definition: prefs.h:39
@ PURPLE_PREF_STRING_LIST
List of strings.
Definition: prefs.h:41
@ PURPLE_PREF_BOOLEAN
Boolean.
Definition: prefs.h:38
@ PURPLE_PREF_STRING
String.
Definition: prefs.h:40
@ PURPLE_PREF_PATH_LIST
List of paths.
Definition: prefs.h:43
@ PURPLE_PREF_PATH
Path.
Definition: prefs.h:42
void purple_prefs_set_bool(const char *name, gboolean value)
Set boolean pref value.
const char * purple_prefs_get_path(const char *name)
Get path pref value.
GList * purple_prefs_get_string_list(const char *name)
Get string list pref value.
void purple_prefs_update_old(void)
Rename legacy prefs and delete some that no longer exist.
void purple_prefs_init(void)
Initialize core prefs.
void purple_prefs_add_path(const char *name, const char *value)
Add a new path pref.
enum _PurplePrefType PurplePrefType
Preference data types.
void purple_prefs_add_bool(const char *name, gboolean value)
Add a new boolean pref.
void purple_prefs_add_string(const char *name, const char *value)
Add a new string pref.
void * purple_prefs_get_handle(void)
Returns the prefs subsystem handle.
void purple_prefs_set_string(const char *name, const char *value)
Set string pref value.
gboolean purple_prefs_load(void)
Read preferences.
int purple_prefs_get_int(const char *name)
Get integer pref value.
GList * purple_prefs_get_path_list(const char *name)
Get path list pref value.
void purple_prefs_disconnect_by_handle(void *handle)
Remove all pref callbacks by handle.
const char * purple_prefs_get_string(const char *name)
Get string pref value.
void purple_prefs_set_ui_ops(PurplePrefsUiOps *ops)
Sets the UI operations structure to be used for preferences.
struct _PurplePrefCallbackData PurplePrefCallbackData
Opaque type to carry callback information.
Definition: prefs.h:70
void purple_prefs_set_generic(const char *name, gpointer value)
Set raw pref value.
void purple_prefs_remove(const char *name)
Remove a pref.
void purple_prefs_add_none(const char *name)
Add a new typeless pref.
gboolean purple_prefs_get_bool(const char *name)
Get boolean pref value.
void purple_prefs_trigger_callback(const char *name)
Trigger callbacks as if the pref changed.
PurplePrefsUiOps * purple_prefs_get_ui_ops(void)
Returns the UI operations structure used for preferences.
void purple_prefs_destroy(void)
Remove all prefs.
guint purple_prefs_connect_callback(void *handle, const char *name, PurplePrefCallback cb, gpointer data)
Add a callback to a pref (and its children)
void purple_prefs_add_int(const char *name, int value)
Add a new integer pref.
PurplePrefType purple_prefs_get_type(const char *name)
Get pref type.
void purple_prefs_rename(const char *oldname, const char *newname)
Rename a pref.
void purple_prefs_add_string_list(const char *name, GList *value)
Add a new string list pref.
Prefs UI operations.
Definition: prefs.h:88
void(* disconnect_callback)(const char *name, void *ui_data)
Called when a callback is removed from a preference.
Definition: prefs.h:137