libpurple/prefs.h

Mon, 12 Sep 2016 08:55:35 -0500

author
Mike Ruprecht <cmaiku@gmail.com>
date
Mon, 12 Sep 2016 08:55:35 -0500
changeset 38142
1dff6e343f9f
parent 37904
5915afa891bd
child 38556
5912dabcde42
permissions
-rw-r--r--

gg: Protect against issues when closing while connecting

Since the GIOStream is cancelled when data is freed, any cancelled
callbacks are called after such data is freed. This patch guards against
cancelled calls by safely returning without accessing any freed data if
the connection has been cancelled (aka closed).

Futhermore, if GG tries to connect and is quickly disconnected,
ggp_tcpsocket_close() is never called. As far as I can tell, it's an
existing bug, but PurpleSockets both work differently when closing and
are closed by the connection if any leak. So the issue wasn't a major
problem. This patch lessens the issue by guarding against it, but it
should be fixed at some point.

20147
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
1 /* purple
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
3 * Purple is the legal property of its developers, whose names are too numerous
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 6693
diff changeset
4 * to list here. Please refer to the COPYRIGHT file distributed with this
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 6693
diff changeset
5 * source distribution.
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
6 *
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
7 * This program is free software; you can redistribute it and/or modify
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
8 * it under the terms of the GNU General Public License as published by
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
10 * (at your option) any later version.
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
11 *
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful,
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
15 * GNU General Public License for more details.
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
16 *
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
18 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 18814
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
20 *
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
21 */
35487
494f09f7f331 Move section blocks inside inclusion guards -- otherwise g-ir-scanner yells
Ankit Vani <a@nevitus.org>
parents: 35486
diff changeset
22
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
23 #ifndef _PURPLE_PREFS_H_
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
24 #define _PURPLE_PREFS_H_
35440
467bb21b82a1 Add section blocks for debug.h to prpl.h
Ankit Vani <a@nevitus.org>
parents: 35419
diff changeset
25 /**
467bb21b82a1 Add section blocks for debug.h to prpl.h
Ankit Vani <a@nevitus.org>
parents: 35419
diff changeset
26 * SECTION:prefs
467bb21b82a1 Add section blocks for debug.h to prpl.h
Ankit Vani <a@nevitus.org>
parents: 35419
diff changeset
27 * @section_id: libpurple-prefs
467bb21b82a1 Add section blocks for debug.h to prpl.h
Ankit Vani <a@nevitus.org>
parents: 35419
diff changeset
28 * @short_description: <filename>prefs.h</filename>
467bb21b82a1 Add section blocks for debug.h to prpl.h
Ankit Vani <a@nevitus.org>
parents: 35419
diff changeset
29 * @title: Preferences API
467bb21b82a1 Add section blocks for debug.h to prpl.h
Ankit Vani <a@nevitus.org>
parents: 35419
diff changeset
30 */
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
31
5638
53e752c88ea1 [gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents: 5561
diff changeset
32 #include <glib.h>
53e752c88ea1 [gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents: 5561
diff changeset
33
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
34 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
35 * PurplePrefType:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
36 * @PURPLE_PREF_NONE: No type.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
37 * @PURPLE_PREF_BOOLEAN: Boolean.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
38 * @PURPLE_PREF_INT: Integer.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
39 * @PURPLE_PREF_STRING: String.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
40 * @PURPLE_PREF_STRING_LIST: List of strings.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
41 * @PURPLE_PREF_PATH: Path.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
42 * @PURPLE_PREF_PATH_LIST: List of paths.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
43 *
25631
2506d2a66c9f Document the PURPLE_MAJOR_VERSION, PURPLE_MINOR_VERSION, and
Etan Reisner <deryni@pidgin.im>
parents: 23129
diff changeset
44 * Preference data types.
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
45 */
32206
a2c62b07ae5a Please correct me if I'm wrong, but I don't think we gain anything
Mark Doliner <markdoliner@pidgin.im>
parents: 29267
diff changeset
46 typedef enum
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
47 {
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
48 PURPLE_PREF_NONE,
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
49 PURPLE_PREF_BOOLEAN,
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
50 PURPLE_PREF_INT,
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
51 PURPLE_PREF_STRING,
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
52 PURPLE_PREF_STRING_LIST,
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
53 PURPLE_PREF_PATH,
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
54 PURPLE_PREF_PATH_LIST
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5684
diff changeset
55
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
56 } PurplePrefType;
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
57
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
58 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
59 * PurplePrefCallback:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
60 * @name: the name of the preference which has changed.
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
61 * @type: the type of the preferenced named @name
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
62 * @val: the new value of the preferencs; should be cast to the correct
21427
fad701d9ba43 Document PurplePrefCallback.
Will Thompson <resiak@pidgin.im>
parents: 21054
diff changeset
63 * type. For instance, to recover the value of a #PURPLE_PREF_INT
35419
d0aecd9a8104 Get rid of <tt>
Ankit Vani <a@nevitus.org>
parents: 35397
diff changeset
64 * preference, use <literal>GPOINTER_TO_INT(val)</literal>.
d0aecd9a8104 Get rid of <tt>
Ankit Vani <a@nevitus.org>
parents: 35397
diff changeset
65 * Alternatively, just call purple_prefs_get_int(),
d0aecd9a8104 Get rid of <tt>
Ankit Vani <a@nevitus.org>
parents: 35397
diff changeset
66 * purple_prefs_get_string_list() etc.
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
67 * @data: Arbitrary data specified when the callback was connected with
21427
fad701d9ba43 Document PurplePrefCallback.
Will Thompson <resiak@pidgin.im>
parents: 21054
diff changeset
68 * purple_prefs_connect_callback().
fad701d9ba43 Document PurplePrefCallback.
Will Thompson <resiak@pidgin.im>
parents: 21054
diff changeset
69 *
fad701d9ba43 Document PurplePrefCallback.
Will Thompson <resiak@pidgin.im>
parents: 21054
diff changeset
70 * The type of callbacks for preference changes.
fad701d9ba43 Document PurplePrefCallback.
Will Thompson <resiak@pidgin.im>
parents: 21054
diff changeset
71 *
35471
a23769351b31 Remove @see
Ankit Vani <a@nevitus.org>
parents: 35440
diff changeset
72 * See purple_prefs_connect_callback().
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
73 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
74 typedef void (*PurplePrefCallback) (const char *name, PurplePrefType type,
12816
5f93e09fa9a6 [gaim-migrate @ 15164]
Mark Doliner <markdoliner@pidgin.im>
parents: 12712
diff changeset
75 gconstpointer val, gpointer data);
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
76
37904
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
77 /**
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
78 * Opaque type to carry callback information
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
79 *
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
80 * @since 2.11.0
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
81 */
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
82 typedef struct _PurplePrefCallbackData PurplePrefCallbackData;
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
83
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
84 /** @copydoc _PurplePrefsUiOps */
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
85 typedef struct _PurplePrefsUiOps PurplePrefsUiOps;
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
86
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
87 /**
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
88 * Prefs UI operations. This allows overriding the prefs.xml storage with
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
89 * anything else.
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
90 *
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
91 * Unless specified otherwise, each entry provides an implementation for the
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
92 * corresponding purple_prefs_* method, and disables the prefs.xml code for it.
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
93 * This means that to do anything useful, all the methods must be implemented.
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
94 *
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
95 * @since 2.11.0
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
96 */
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
97 struct _PurplePrefsUiOps
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
98 {
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
99 void (*add_none)(const char *name);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
100 void (*add_bool)(const char *name, gboolean value);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
101 void (*add_int)(const char *name, int value);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
102 void (*add_string)(const char *name, const char *value);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
103 void (*add_string_list)(const char *name, GList *value);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
104
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
105 void (*set_bool)(const char *name, gboolean value);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
106 void (*set_int)(const char *name, int value);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
107 void (*set_string)(const char *name, const char *value);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
108 void (*set_string_list)(const char *name, GList *value);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
109
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
110 gboolean (*get_bool)(const char *name);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
111 int (*get_int)(const char *name);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
112 const char *(*get_string)(const char *name);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
113 GList *(*get_string_list)(const char *name);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
114
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
115 PurplePrefType (*get_type)(const char *name);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
116 GList *(*get_children_names)(const char *name);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
117
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
118 gboolean (*exists)(const char *name);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
119 void (*remove)(const char *name);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
120
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
121 void (*rename)(const char *oldname, const char *newname);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
122 void (*rename_boolean_toggle)(const char *oldname, const char *newname);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
123
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
124 gboolean (*load)(void);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
125 void (*save)(void);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
126 void (*schedule_save)(void);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
127
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
128 /**
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
129 * Called when a callback is added to a preference. The UI must keep
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
130 * track of it and call #purple_prefs_trigger_callback_object with the
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
131 * data attribute.
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
132 *
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
133 * @param name The preference name.
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
134 * @param data The object to be passed when triggering the callback
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
135 * @return A pointer to a ui_data object.
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
136 * */
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
137 void *(*connect_callback)(const char *name, PurplePrefCallbackData *data);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
138
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
139 /**
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
140 * Called when a callback is removed from a preference. The ui_data
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
141 * object is the one returned from connect_callback.
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
142 *
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
143 * @param name The preference name
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
144 * @param ui_data The object that was returned from the
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
145 * connect_callback UI OP.
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
146 * */
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
147 void (*disconnect_callback)(const char *name, void *ui_data);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
148
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
149 void (*_purple_reserved1)(void);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
150 void (*_purple_reserved2)(void);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
151 void (*_purple_reserved3)(void);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
152 void (*_purple_reserved4)(void);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
153 };
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
154
32787
7072f190d6ad Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32438
diff changeset
155 G_BEGIN_DECLS
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5684
diff changeset
156
37904
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
157 /******************************************************************************
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
158 * UI Registration Functions
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
159 *****************************************************************************/
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
160
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
161 /**
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
162 * Sets the UI operations structure to be used for preferences.
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
163 *
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
164 * @param ops The UI operations structure.
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
165 * @since 2.11.0
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
166 */
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
167 void purple_prefs_set_ui_ops(PurplePrefsUiOps *ops);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
168
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
169 /**
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
170 * Returns the UI operations structure used for preferences.
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
171 *
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
172 * @return The UI operations structure in use.
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
173 * @since 2.11.0
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
174 */
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
175 PurplePrefsUiOps *purple_prefs_get_ui_ops(void);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
176
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
177 /**************************************************************************/
35472
474e26199560 Removed @name
Ankit Vani <a@nevitus.org>
parents: 35471
diff changeset
178 /* Prefs API
25888
d0fdd378a635 Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 23129
diff changeset
179 Preferences are named according to a directory-like structure.
17436
a3e9be0f17ef - Added a description of preference grouping to the Prefs API code
William Ehlhardt <williamehlhardt@gmail.com>
parents: 15884
diff changeset
180 Example: "/plugins/core/potato/is_from_idaho" (probably a boolean) */
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
181 /**************************************************************************/
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
182
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
183 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
184 * purple_prefs_get_handle:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
185 *
10443
aa7dcc1c796a [gaim-migrate @ 11703]
Mark Doliner <markdoliner@pidgin.im>
parents: 10087
diff changeset
186 * Returns the prefs subsystem handle.
aa7dcc1c796a [gaim-migrate @ 11703]
Mark Doliner <markdoliner@pidgin.im>
parents: 10087
diff changeset
187 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
188 * Returns: The prefs subsystem handle.
10443
aa7dcc1c796a [gaim-migrate @ 11703]
Mark Doliner <markdoliner@pidgin.im>
parents: 10087
diff changeset
189 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
190 void *purple_prefs_get_handle(void);
10443
aa7dcc1c796a [gaim-migrate @ 11703]
Mark Doliner <markdoliner@pidgin.im>
parents: 10087
diff changeset
191
aa7dcc1c796a [gaim-migrate @ 11703]
Mark Doliner <markdoliner@pidgin.im>
parents: 10087
diff changeset
192 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
193 * purple_prefs_init:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
194 *
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
195 * Initialize core prefs
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
196 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
197 void purple_prefs_init(void);
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
198
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
199 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
200 * purple_prefs_uninit:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
201 *
8235
00045afab151 [gaim-migrate @ 8958]
Gary Kramlich <grim@pidgin.im>
parents: 8046
diff changeset
202 * Uninitializes the prefs subsystem.
00045afab151 [gaim-migrate @ 8958]
Gary Kramlich <grim@pidgin.im>
parents: 8046
diff changeset
203 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
204 void purple_prefs_uninit(void);
8235
00045afab151 [gaim-migrate @ 8958]
Gary Kramlich <grim@pidgin.im>
parents: 8046
diff changeset
205
00045afab151 [gaim-migrate @ 8958]
Gary Kramlich <grim@pidgin.im>
parents: 8046
diff changeset
206 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
207 * purple_prefs_add_none:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
208 * @name: The name of the pref
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
209 *
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
210 * Add a new typeless pref.
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
211 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
212 void purple_prefs_add_none(const char *name);
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
213
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
214 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
215 * purple_prefs_add_bool:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
216 * @name: The name of the pref
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
217 * @value: The initial value to set
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
218 *
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
219 * Add a new boolean pref.
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
220 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
221 void purple_prefs_add_bool(const char *name, gboolean value);
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
222
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
223 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
224 * purple_prefs_add_int:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
225 * @name: The name of the pref
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
226 * @value: The initial value to set
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
227 *
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
228 * Add a new integer pref.
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
229 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
230 void purple_prefs_add_int(const char *name, int value);
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
231
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
232 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
233 * purple_prefs_add_string:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
234 * @name: The name of the pref
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
235 * @value: The initial value to set
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
236 *
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
237 * Add a new string pref.
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
238 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
239 void purple_prefs_add_string(const char *name, const char *value);
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
240
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
241 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
242 * purple_prefs_add_string_list:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
243 * @name: The name of the pref
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
244 * @value: The initial value to set
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
245 *
5561
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
246 * Add a new string list pref.
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
247 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
248 * Note: This function takes a copy of the strings in the value list. The list
21054
6a5d95fe1c8a Add notes about how the value argument to the
Etan Reisner <deryni@pidgin.im>
parents: 20940
diff changeset
249 * itself and original copies of the strings are up to the caller to
6a5d95fe1c8a Add notes about how the value argument to the
Etan Reisner <deryni@pidgin.im>
parents: 20940
diff changeset
250 * free.
5561
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
251 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
252 void purple_prefs_add_string_list(const char *name, GList *value);
5561
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
253
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
254 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
255 * purple_prefs_add_path:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
256 * @name: The name of the pref
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
257 * @value: The initial value to set
15370
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
258 *
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
259 * Add a new path pref.
15370
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
260 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
261 void purple_prefs_add_path(const char *name, const char *value);
15370
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
262
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
263 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
264 * purple_prefs_add_path_list:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
265 * @name: The name of the pref
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
266 * @value: The initial value to set
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
267 *
15370
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
268 * Add a new path list pref.
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
269 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
270 * Note: This function takes a copy of the strings in the value list. The list
21054
6a5d95fe1c8a Add notes about how the value argument to the
Etan Reisner <deryni@pidgin.im>
parents: 20940
diff changeset
271 * itself and original copies of the strings are up to the caller to
6a5d95fe1c8a Add notes about how the value argument to the
Etan Reisner <deryni@pidgin.im>
parents: 20940
diff changeset
272 * free.
15370
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
273 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
274 void purple_prefs_add_path_list(const char *name, GList *value);
15370
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
275
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
276
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
277 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
278 * purple_prefs_remove:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
279 * @name: The name of the pref
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
280 *
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
281 * Remove a pref.
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
282 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
283 void purple_prefs_remove(const char *name);
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
284
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
285 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
286 * purple_prefs_rename:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
287 * @oldname: The old name of the pref
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
288 * @newname: The new name for the pref
6693
705a8c7681e1 [gaim-migrate @ 7219]
Nathan Walp <nwalp@pidgin.im>
parents: 6538
diff changeset
289 *
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
290 * Rename a pref
6693
705a8c7681e1 [gaim-migrate @ 7219]
Nathan Walp <nwalp@pidgin.im>
parents: 6538
diff changeset
291 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
292 void purple_prefs_rename(const char *oldname, const char *newname);
6693
705a8c7681e1 [gaim-migrate @ 7219]
Nathan Walp <nwalp@pidgin.im>
parents: 6538
diff changeset
293
705a8c7681e1 [gaim-migrate @ 7219]
Nathan Walp <nwalp@pidgin.im>
parents: 6538
diff changeset
294 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
295 * purple_prefs_rename_boolean_toggle:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
296 * @oldname: The old name of the pref
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
297 * @newname: The new name for the pref
8705
98683838e7c7 [gaim-migrate @ 9458]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8235
diff changeset
298 *
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
299 * Rename a boolean pref, toggling it's value
8705
98683838e7c7 [gaim-migrate @ 9458]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8235
diff changeset
300 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
301 void purple_prefs_rename_boolean_toggle(const char *oldname, const char *newname);
8705
98683838e7c7 [gaim-migrate @ 9458]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8235
diff changeset
302
98683838e7c7 [gaim-migrate @ 9458]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8235
diff changeset
303 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
304 * purple_prefs_destroy:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
305 *
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
306 * Remove all prefs.
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
307 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
308 void purple_prefs_destroy(void);
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
309
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
310 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
311 * purple_prefs_set_bool:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
312 * @name: The name of the pref
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
313 * @value: The value to set
29266
6bbb2f3d7ade Mark this function as deprecated because I really don't know what
Mark Doliner <markdoliner@pidgin.im>
parents: 27805
diff changeset
314 *
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
315 * Set boolean pref value
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
316 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
317 void purple_prefs_set_bool(const char *name, gboolean value);
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
318
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
319 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
320 * purple_prefs_set_int:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
321 * @name: The name of the pref
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
322 * @value: The value to set
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
323 *
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
324 * Set integer pref value
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
325 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
326 void purple_prefs_set_int(const char *name, int value);
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
327
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
328 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
329 * purple_prefs_set_string:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
330 * @name: The name of the pref
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
331 * @value: The value to set
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
332 *
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
333 * Set string pref value
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
334 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
335 void purple_prefs_set_string(const char *name, const char *value);
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
336
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
337 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
338 * purple_prefs_set_string_list:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
339 * @name: The name of the pref
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
340 * @value: The value to set
5561
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
341 *
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
342 * Set string list pref value
5561
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
343 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
344 void purple_prefs_set_string_list(const char *name, GList *value);
5561
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
345
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
346 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
347 * purple_prefs_set_path:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
348 * @name: The name of the pref
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
349 * @value: The value to set
15370
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
350 *
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
351 * Set path pref value
15370
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
352 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
353 void purple_prefs_set_path(const char *name, const char *value);
15370
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
354
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
355 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
356 * purple_prefs_set_path_list:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
357 * @name: The name of the pref
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
358 * @value: The value to set
15370
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
359 *
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
360 * Set path list pref value
15370
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
361 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
362 void purple_prefs_set_path_list(const char *name, GList *value);
15370
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
363
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
364
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
365 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
366 * purple_prefs_exists:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
367 * @name: The name of the pref
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
368 *
9611
159762ee0f2d [gaim-migrate @ 10454]
Tim Ringenbach <marv@pidgin.im>
parents: 8900
diff changeset
369 * Check if a pref exists
159762ee0f2d [gaim-migrate @ 10454]
Tim Ringenbach <marv@pidgin.im>
parents: 8900
diff changeset
370 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
371 * Returns: TRUE if the pref exists. Otherwise FALSE.
9611
159762ee0f2d [gaim-migrate @ 10454]
Tim Ringenbach <marv@pidgin.im>
parents: 8900
diff changeset
372 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
373 gboolean purple_prefs_exists(const char *name);
9611
159762ee0f2d [gaim-migrate @ 10454]
Tim Ringenbach <marv@pidgin.im>
parents: 8900
diff changeset
374
159762ee0f2d [gaim-migrate @ 10454]
Tim Ringenbach <marv@pidgin.im>
parents: 8900
diff changeset
375 /**
35477
5036e4cd8a46 Update doc labels for renamed functions
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
376 * purple_prefs_get_pref_type:
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
377 * @name: The name of the pref
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
378 *
6538
04189f714692 [gaim-migrate @ 7056]
Ethan Blanton <elb@pidgin.im>
parents: 5944
diff changeset
379 * Get pref type
04189f714692 [gaim-migrate @ 7056]
Ethan Blanton <elb@pidgin.im>
parents: 5944
diff changeset
380 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
381 * Returns: The type of the pref
6538
04189f714692 [gaim-migrate @ 7056]
Ethan Blanton <elb@pidgin.im>
parents: 5944
diff changeset
382 */
35378
5d9e2581005b gtk-doc prep: *_get_type() functions are hidden as standard GType-returning funcs, so rename them.
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
383 PurplePrefType purple_prefs_get_pref_type(const char *name);
6538
04189f714692 [gaim-migrate @ 7056]
Ethan Blanton <elb@pidgin.im>
parents: 5944
diff changeset
384
04189f714692 [gaim-migrate @ 7056]
Ethan Blanton <elb@pidgin.im>
parents: 5944
diff changeset
385 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
386 * purple_prefs_get_bool:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
387 * @name: The name of the pref
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
388 *
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
389 * Get boolean pref value
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
390 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
391 * Returns: The value of the pref
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
392 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
393 gboolean purple_prefs_get_bool(const char *name);
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
394
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
395 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
396 * purple_prefs_get_int:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
397 * @name: The name of the pref
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
398 *
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
399 * Get integer pref value
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
400 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
401 * Returns: The value of the pref
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
402 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
403 int purple_prefs_get_int(const char *name);
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
404
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
405 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
406 * purple_prefs_get_string:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
407 * @name: The name of the pref
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
408 *
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
409 * Get string pref value
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
410 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
411 * Returns: The value of the pref
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
412 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
413 const char *purple_prefs_get_string(const char *name);
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
414
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
415 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
416 * purple_prefs_get_string_list:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
417 * @name: The name of the pref
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
418 *
10071
d2ba11541693 [gaim-migrate @ 11047]
Jonathan Champ <royanee@users.sourceforge.net>
parents: 10066
diff changeset
419 * Get string list pref value
5561
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
420 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
421 * Returns: The value of the pref
5561
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
422 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
423 GList *purple_prefs_get_string_list(const char *name);
5561
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
424
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
425 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
426 * purple_prefs_get_path:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
427 * @name: The name of the pref
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
428 *
15370
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
429 * Get path pref value
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
430 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
431 * Returns: The value of the pref
15370
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
432 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
433 const char *purple_prefs_get_path(const char *name);
15370
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
434
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
435 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
436 * purple_prefs_get_path_list:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
437 * @name: The name of the pref
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
438 *
15370
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
439 * Get path list pref value
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
440 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
441 * Returns: The value of the pref
15370
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
442 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
443 GList *purple_prefs_get_path_list(const char *name);
15370
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
444
23129
f2be0f621ef6 Make this a doxygen comment.
Etan Reisner <deryni@pidgin.im>
parents: 21427
diff changeset
445 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
446 * purple_prefs_get_children_names:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
447 * @name: The parent pref
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
448 *
18714
65048af91a2c Add purple_prefs_get_children_names in purple. And update Changelog.API
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15884
diff changeset
449 * Returns a list of children for a pref
65048af91a2c Add purple_prefs_get_children_names in purple. And update Changelog.API
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15884
diff changeset
450 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
451 * Returns: A list of newly allocated strings denoting the names of the children.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
452 * Returns %NULL if there are no children or if pref doesn't exist.
18714
65048af91a2c Add purple_prefs_get_children_names in purple. And update Changelog.API
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15884
diff changeset
453 * The caller must free all the strings and the list.
65048af91a2c Add purple_prefs_get_children_names in purple. And update Changelog.API
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15884
diff changeset
454 */
65048af91a2c Add purple_prefs_get_children_names in purple. And update Changelog.API
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15884
diff changeset
455 GList *purple_prefs_get_children_names(const char *name);
15370
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
456
ec2add2105cb [gaim-migrate @ 18099]
Nathan Walp <nwalp@pidgin.im>
parents: 14782
diff changeset
457 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
458 * purple_prefs_connect_callback:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
459 * @handle: The handle of the receiver.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
460 * @name: The name of the preference
35682
65c1912ee2c8 Add (scope) annotation to callback parameters (account.h to proxy.h)
Ankit Vani <a@nevitus.org>
parents: 35487
diff changeset
461 * @cb: (scope call): The callback function
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35177
diff changeset
462 * @data: The data to pass to the callback function.
27805
91e9fff01764 documents purple_prefs_connect_callback
Ka-Hing Cheung <khc@pidgin.im>
parents: 25911
diff changeset
463 *
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
464 * Add a callback to a pref (and its children)
27805
91e9fff01764 documents purple_prefs_connect_callback
Ka-Hing Cheung <khc@pidgin.im>
parents: 25911
diff changeset
465 *
35471
a23769351b31 Remove @see
Ankit Vani <a@nevitus.org>
parents: 35440
diff changeset
466 * See purple_prefs_disconnect_callback().
27805
91e9fff01764 documents purple_prefs_connect_callback
Ka-Hing Cheung <khc@pidgin.im>
parents: 25911
diff changeset
467 *
35471
a23769351b31 Remove @see
Ankit Vani <a@nevitus.org>
parents: 35440
diff changeset
468 * Returns: An id to disconnect the callback
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
469 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
470 guint purple_prefs_connect_callback(void *handle, const char *name, PurplePrefCallback cb,
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
471 gpointer data);
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
472
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
473 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
474 * purple_prefs_disconnect_callback:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
475 *
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
476 * Remove a callback to a pref
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
477 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
478 void purple_prefs_disconnect_callback(guint callback_id);
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
479
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
480 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
481 * purple_prefs_disconnect_by_handle:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
482 *
10087
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10071
diff changeset
483 * Remove all pref callbacks by handle
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10071
diff changeset
484 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
485 void purple_prefs_disconnect_by_handle(void *handle);
10087
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10071
diff changeset
486
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10071
diff changeset
487 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
488 * purple_prefs_trigger_callback:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
489 *
5684
10b916deb20c [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5638
diff changeset
490 * Trigger callbacks as if the pref changed
10b916deb20c [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5638
diff changeset
491 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
492 void purple_prefs_trigger_callback(const char *name);
5684
10b916deb20c [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5638
diff changeset
493
10b916deb20c [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5638
diff changeset
494 /**
37904
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
495 * Trigger callbacks as if the pref changed, taking a #PurplePrefCallbackData
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
496 * instead of a name
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
497 *
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
498 * @since 2.11.0
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
499 */
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
500 void purple_prefs_trigger_callback_object(PurplePrefCallbackData *data);
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
501
5915afa891bd Fix prefs for stuff that was broken in the merge
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
502 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
503 * purple_prefs_load:
37756
421e7b2020eb Add more documentation for PurpleAccountPrefsUiOps and PurplePrefsUiOps
dx <dx@dxzone.com.ar>
parents: 37750
diff changeset
504 *
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
505 * Read preferences
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
506 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
507 gboolean purple_prefs_load(void);
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
508
32787
7072f190d6ad Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32438
diff changeset
509 G_END_DECLS
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5684
diff changeset
510
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
511 #endif /* _PURPLE_PREFS_H_ */

mercurial