Mon, 12 Sep 2016 08:55:35 -0500
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 | 2 | * |
| 15884 | 3 | * Purple is the legal property of its developers, whose names are too numerous |
| 8046 | 4 | * to list here. Please refer to the COPYRIGHT file distributed with this |
| 5 | * source distribution. | |
| 5441 | 6 | * |
| 7 | * This program is free software; you can redistribute it and/or modify | |
| 8 | * it under the terms of the GNU General Public License as published by | |
| 9 | * the Free Software Foundation; either version 2 of the License, or | |
| 10 | * (at your option) any later version. | |
| 11 | * | |
| 12 | * This program is distributed in the hope that it will be useful, | |
| 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 15 | * GNU General Public License for more details. | |
| 16 | * | |
| 17 | * You should have received a copy of the GNU General Public License | |
| 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 | 20 | * |
| 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 | 23 | #ifndef _PURPLE_PREFS_H_ |
| 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 | 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 | 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 | 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 | 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 | 56 | } PurplePrefType; |
| 5441 | 57 | |
| 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 | 64 | * preference, use <literal>GPOINTER_TO_INT(val)</literal>. |
| 65 | * Alternatively, just call purple_prefs_get_int(), | |
| 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 | 72 | * See purple_prefs_connect_callback(). |
| 5441 | 73 | */ |
| 15884 | 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 | 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 | 177 | /**************************************************************************/ |
| 35472 | 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 | 181 | /**************************************************************************/ |
| 182 | ||
| 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 | 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 | 195 | * Initialize core prefs |
| 196 | */ | |
| 15884 | 197 | void purple_prefs_init(void); |
| 5441 | 198 | |
| 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 | 202 | * Uninitializes the prefs subsystem. |
| 203 | */ | |
| 15884 | 204 | void purple_prefs_uninit(void); |
| 8235 | 205 | |
| 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 | 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 | 211 | */ |
| 15884 | 212 | void purple_prefs_add_none(const char *name); |
| 5441 | 213 | |
| 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 | 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 | 220 | */ |
| 15884 | 221 | void purple_prefs_add_bool(const char *name, gboolean value); |
| 5441 | 222 | |
| 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 | 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 | 229 | */ |
| 15884 | 230 | void purple_prefs_add_int(const char *name, int value); |
| 5441 | 231 | |
| 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 | 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 | 238 | */ |
| 15884 | 239 | void purple_prefs_add_string(const char *name, const char *value); |
| 5441 | 240 | |
| 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 | 246 | * Add a new string list pref. |
| 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 | 251 | */ |
| 15884 | 252 | void purple_prefs_add_string_list(const char *name, GList *value); |
| 5561 | 253 | |
| 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 | 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 | 260 | */ |
| 15884 | 261 | void purple_prefs_add_path(const char *name, const char *value); |
| 15370 | 262 | |
| 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 | 268 | * Add a new path list pref. |
| 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 | 273 | */ |
| 15884 | 274 | void purple_prefs_add_path_list(const char *name, GList *value); |
| 15370 | 275 | |
| 276 | ||
| 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 | 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 | 282 | */ |
| 15884 | 283 | void purple_prefs_remove(const char *name); |
| 5441 | 284 | |
| 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 | 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 | 291 | */ |
| 15884 | 292 | void purple_prefs_rename(const char *oldname, const char *newname); |
| 6693 | 293 | |
| 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 | 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 | 300 | */ |
| 15884 | 301 | void purple_prefs_rename_boolean_toggle(const char *oldname, const char *newname); |
| 8705 | 302 | |
| 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 | 306 | * Remove all prefs. |
| 307 | */ | |
| 15884 | 308 | void purple_prefs_destroy(void); |
| 5441 | 309 | |
| 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 | 315 | * Set boolean pref value |
| 316 | */ | |
| 15884 | 317 | void purple_prefs_set_bool(const char *name, gboolean value); |
| 5441 | 318 | |
| 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 | 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 | 325 | */ |
| 15884 | 326 | void purple_prefs_set_int(const char *name, int value); |
| 5441 | 327 | |
| 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 | 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 | 334 | */ |
| 15884 | 335 | void purple_prefs_set_string(const char *name, const char *value); |
| 5441 | 336 | |
| 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 | 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 | 343 | */ |
| 15884 | 344 | void purple_prefs_set_string_list(const char *name, GList *value); |
| 5561 | 345 | |
| 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 | 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 | 352 | */ |
| 15884 | 353 | void purple_prefs_set_path(const char *name, const char *value); |
| 15370 | 354 | |
| 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 | 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 | 361 | */ |
| 15884 | 362 | void purple_prefs_set_path_list(const char *name, GList *value); |
| 15370 | 363 | |
| 364 | ||
| 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 | 369 | * Check if a pref exists |
| 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 | 372 | */ |
| 15884 | 373 | gboolean purple_prefs_exists(const char *name); |
| 9611 | 374 | |
| 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 | 379 | * Get pref type |
| 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 | 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 | 384 | |
| 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 | 389 | * Get boolean pref value |
| 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 | 392 | */ |
| 15884 | 393 | gboolean purple_prefs_get_bool(const char *name); |
| 5441 | 394 | |
| 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 | 399 | * Get integer pref value |
| 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 | 402 | */ |
| 15884 | 403 | int purple_prefs_get_int(const char *name); |
| 5441 | 404 | |
| 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 | 409 | * Get string pref value |
| 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 | 412 | */ |
| 15884 | 413 | const char *purple_prefs_get_string(const char *name); |
| 5441 | 414 | |
| 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 | 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 | 422 | */ |
| 15884 | 423 | GList *purple_prefs_get_string_list(const char *name); |
| 5561 | 424 | |
| 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 | 429 | * Get path pref value |
| 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 | 432 | */ |
| 15884 | 433 | const char *purple_prefs_get_path(const char *name); |
| 15370 | 434 | |
| 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 | 439 | * Get path list pref value |
| 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 | 442 | */ |
| 15884 | 443 | GList *purple_prefs_get_path_list(const char *name); |
| 15370 | 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 | 456 | |
| 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 | 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 | 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 | 468 | * Returns: An id to disconnect the callback |
| 5441 | 469 | */ |
| 15884 | 470 | guint purple_prefs_connect_callback(void *handle, const char *name, PurplePrefCallback cb, |
| 5441 | 471 | gpointer data); |
| 472 | ||
| 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 | 476 | * Remove a callback to a pref |
| 477 | */ | |
| 15884 | 478 | void purple_prefs_disconnect_callback(guint callback_id); |
| 5441 | 479 | |
| 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 | 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 | 490 | * Trigger callbacks as if the pref changed |
| 491 | */ | |
| 15884 | 492 | void purple_prefs_trigger_callback(const char *name); |
| 5684 | 493 | |
| 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 | 505 | * Read preferences |
| 506 | */ | |
| 15884 | 507 | gboolean purple_prefs_load(void); |
| 5441 | 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 | 511 | #endif /* _PURPLE_PREFS_H_ */ |