pidgin  2.14.13dev
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 {
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 
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 /**************************************************************************/
163 
171 
174 /**************************************************************************/
178 /**************************************************************************/
187 
191 void purple_prefs_init(void);
192 
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 
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 
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 
454 
458 void purple_prefs_trigger_callback(const char *name);
459 
467 
468 
472 gboolean 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.
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.
GList * purple_prefs_get_children_names(const char *name)
Returns a list of children for a pref.
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_get_handle(void)
Returns the prefs subsystem handle.
void purple_prefs_add_string(const char *name, const char *value)
Add a new string pref.
const char * purple_prefs_get_path(const char *name)
Get path pref value.
void purple_prefs_set_string(const char *name, const char *value)
Set string pref value.
const char * purple_prefs_get_string(const char *name)
Get 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_string_list(const char *name)
Get string list pref value.
void purple_prefs_disconnect_by_handle(void *handle)
Remove all pref callbacks by handle.
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.
GList * purple_prefs_get_path_list(const char *name)
Get path list pref value.
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.
PurplePrefsUiOps * purple_prefs_get_ui_ops(void)
Returns the UI operations structure used for preferences.
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