src/prefs.h

Thu, 17 Aug 2006 07:44:52 +0000

author
Mark Doliner <markdoliner@pidgin.im>
date
Thu, 17 Aug 2006 07:44:52 +0000
changeset 14225
35fa1f6160b4
parent 12816
5f93e09fa9a6
permissions
-rw-r--r--

[gaim-migrate @ 16811]
Split the DNS query stuff out into it's own file. Eventually
we should move the dnssrv code into this same file. Maybe
even share some code?

Also the first steps toward cancelable DNS queries.

5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1 /**
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2 * @file prefs.h Prefs API
10066
606927534c36 [gaim-migrate @ 11041]
Mark Doliner <markdoliner@pidgin.im>
parents: 9713
diff changeset
3 * @ingroup core
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
4 *
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
5 * gaim
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
6 *
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 6693
diff changeset
7 * Gaim is the legal property of its developers, whose names are too numerous
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 6693
diff changeset
8 * 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
9 * source distribution.
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
10 *
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
11 * This program is free software; you can redistribute it and/or modify
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
12 * 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
13 * the Free Software Foundation; either version 2 of the License, or
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
14 * (at your option) any later version.
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
15 *
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
16 * This program is distributed in the hope that it will be useful,
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
19 * GNU General Public License for more details.
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 * You should have received a copy of the GNU General Public License
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
22 * along with this program; if not, write to the Free Software
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
24 *
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
25 */
9713
bb37562302a1 [gaim-migrate @ 10574]
Mark Doliner <markdoliner@pidgin.im>
parents: 9619
diff changeset
26 #ifndef _GAIM_PREFS_H_
bb37562302a1 [gaim-migrate @ 10574]
Mark Doliner <markdoliner@pidgin.im>
parents: 9619
diff changeset
27 #define _GAIM_PREFS_H_
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
28
5638
53e752c88ea1 [gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents: 5561
diff changeset
29 #include <glib.h>
53e752c88ea1 [gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents: 5561
diff changeset
30
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
31 /**
12712
21ea46d3dee9 [gaim-migrate @ 15056]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12323
diff changeset
32 * String format for preferences.
21ea46d3dee9 [gaim-migrate @ 15056]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12323
diff changeset
33 */
21ea46d3dee9 [gaim-migrate @ 15056]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12323
diff changeset
34 typedef enum
21ea46d3dee9 [gaim-migrate @ 15056]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12323
diff changeset
35 {
21ea46d3dee9 [gaim-migrate @ 15056]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12323
diff changeset
36 GAIM_STRING_FORMAT_TYPE_NONE = 0,
21ea46d3dee9 [gaim-migrate @ 15056]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12323
diff changeset
37 GAIM_STRING_FORMAT_TYPE_MULTILINE = 1 << 0,
21ea46d3dee9 [gaim-migrate @ 15056]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12323
diff changeset
38 GAIM_STRING_FORMAT_TYPE_HTML = 1 << 1
21ea46d3dee9 [gaim-migrate @ 15056]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12323
diff changeset
39 } GaimStringFormatType;
21ea46d3dee9 [gaim-migrate @ 15056]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12323
diff changeset
40
21ea46d3dee9 [gaim-migrate @ 15056]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12323
diff changeset
41 /**
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
42 * Pref data types.
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
43 */
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
44 typedef enum _GaimPrefType
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
45 {
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
46 GAIM_PREF_NONE,
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
47 GAIM_PREF_BOOLEAN,
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
48 GAIM_PREF_INT,
5561
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
49 GAIM_PREF_STRING,
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
50 GAIM_PREF_STRING_LIST
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5684
diff changeset
51
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
52 } GaimPrefType;
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
53
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
54 /**
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
55 * Pref change callback type
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
56 */
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 typedef void (*GaimPrefCallback) (const char *name, GaimPrefType type,
12816
5f93e09fa9a6 [gaim-migrate @ 15164]
Mark Doliner <markdoliner@pidgin.im>
parents: 12712
diff changeset
59 gconstpointer val, gpointer data);
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
60
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5684
diff changeset
61 #ifdef __cplusplus
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5684
diff changeset
62 extern "C" {
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5684
diff changeset
63 #endif
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5684
diff changeset
64
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
65 /**************************************************************************/
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
66 /** @name Prefs API */
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
67 /**************************************************************************/
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
68 /*@{*/
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
69
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
70 /**
10443
aa7dcc1c796a [gaim-migrate @ 11703]
Mark Doliner <markdoliner@pidgin.im>
parents: 10087
diff changeset
71 * Returns the prefs subsystem handle.
aa7dcc1c796a [gaim-migrate @ 11703]
Mark Doliner <markdoliner@pidgin.im>
parents: 10087
diff changeset
72 *
aa7dcc1c796a [gaim-migrate @ 11703]
Mark Doliner <markdoliner@pidgin.im>
parents: 10087
diff changeset
73 * @return The prefs subsystem handle.
aa7dcc1c796a [gaim-migrate @ 11703]
Mark Doliner <markdoliner@pidgin.im>
parents: 10087
diff changeset
74 */
aa7dcc1c796a [gaim-migrate @ 11703]
Mark Doliner <markdoliner@pidgin.im>
parents: 10087
diff changeset
75 void *gaim_prefs_get_handle(void);
aa7dcc1c796a [gaim-migrate @ 11703]
Mark Doliner <markdoliner@pidgin.im>
parents: 10087
diff changeset
76
aa7dcc1c796a [gaim-migrate @ 11703]
Mark Doliner <markdoliner@pidgin.im>
parents: 10087
diff changeset
77 /**
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
78 * Initialize core prefs
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
79 */
12323
f52908fb23b0 [gaim-migrate @ 14627]
Richard Laager <rlaager@pidgin.im>
parents: 10443
diff changeset
80 void gaim_prefs_init(void);
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
81
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
82 /**
8235
00045afab151 [gaim-migrate @ 8958]
Gary Kramlich <grim@pidgin.im>
parents: 8046
diff changeset
83 * Uninitializes the prefs subsystem.
00045afab151 [gaim-migrate @ 8958]
Gary Kramlich <grim@pidgin.im>
parents: 8046
diff changeset
84 */
00045afab151 [gaim-migrate @ 8958]
Gary Kramlich <grim@pidgin.im>
parents: 8046
diff changeset
85 void gaim_prefs_uninit(void);
00045afab151 [gaim-migrate @ 8958]
Gary Kramlich <grim@pidgin.im>
parents: 8046
diff changeset
86
00045afab151 [gaim-migrate @ 8958]
Gary Kramlich <grim@pidgin.im>
parents: 8046
diff changeset
87 /**
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
88 * Add a new typeless pref.
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
89 *
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
90 * @param name The name of the pref
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
91 */
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
92 void gaim_prefs_add_none(const char *name);
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
93
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
94 /**
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
95 * Add a new boolean pref.
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
96 *
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
97 * @param name The name of the pref
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
98 * @param value The initial value to set
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
99 */
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
100 void gaim_prefs_add_bool(const char *name, gboolean value);
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
101
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
102 /**
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
103 * Add a new integer pref.
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
104 *
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
105 * @param name The name of the pref
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
106 * @param value The initial value to set
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
107 */
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
108 void gaim_prefs_add_int(const char *name, int value);
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
109
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
110 /**
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
111 * Add a new string pref.
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
112 *
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
113 * @param name The name of the pref
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
114 * @param value The initial value to set
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
115 */
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
116 void gaim_prefs_add_string(const char *name, const char *value);
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
117
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
118 /**
5561
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
119 * Add a new string list pref.
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
120 *
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
121 * @param name The name of the pref
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
122 * @param value The initial value to set
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
123 */
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
124 void gaim_prefs_add_string_list(const char *name, GList *value);
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
125
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
126 /**
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
127 * Remove a pref.
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
128 *
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
129 * @param name The name of the pref
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
130 */
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
131 void gaim_prefs_remove(const char *name);
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
132
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
133 /**
6693
705a8c7681e1 [gaim-migrate @ 7219]
Nathan Walp <nwalp@pidgin.im>
parents: 6538
diff changeset
134 * Rename a pref
705a8c7681e1 [gaim-migrate @ 7219]
Nathan Walp <nwalp@pidgin.im>
parents: 6538
diff changeset
135 *
705a8c7681e1 [gaim-migrate @ 7219]
Nathan Walp <nwalp@pidgin.im>
parents: 6538
diff changeset
136 * @param oldname The old name of the pref
705a8c7681e1 [gaim-migrate @ 7219]
Nathan Walp <nwalp@pidgin.im>
parents: 6538
diff changeset
137 * @param newname The new name for the pref
705a8c7681e1 [gaim-migrate @ 7219]
Nathan Walp <nwalp@pidgin.im>
parents: 6538
diff changeset
138 */
705a8c7681e1 [gaim-migrate @ 7219]
Nathan Walp <nwalp@pidgin.im>
parents: 6538
diff changeset
139 void gaim_prefs_rename(const char *oldname, const char *newname);
705a8c7681e1 [gaim-migrate @ 7219]
Nathan Walp <nwalp@pidgin.im>
parents: 6538
diff changeset
140
705a8c7681e1 [gaim-migrate @ 7219]
Nathan Walp <nwalp@pidgin.im>
parents: 6538
diff changeset
141 /**
8705
98683838e7c7 [gaim-migrate @ 9458]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8235
diff changeset
142 * Rename a boolean pref, toggling it's value
98683838e7c7 [gaim-migrate @ 9458]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8235
diff changeset
143 *
98683838e7c7 [gaim-migrate @ 9458]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8235
diff changeset
144 * @param oldname The old name of the pref
98683838e7c7 [gaim-migrate @ 9458]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8235
diff changeset
145 * @param newname The new name for the pref
98683838e7c7 [gaim-migrate @ 9458]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8235
diff changeset
146 */
98683838e7c7 [gaim-migrate @ 9458]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8235
diff changeset
147 void gaim_prefs_rename_boolean_toggle(const char *oldname, const char *newname);
98683838e7c7 [gaim-migrate @ 9458]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8235
diff changeset
148
98683838e7c7 [gaim-migrate @ 9458]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8235
diff changeset
149 /**
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
150 * Remove all prefs.
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
151 */
12323
f52908fb23b0 [gaim-migrate @ 14627]
Richard Laager <rlaager@pidgin.im>
parents: 10443
diff changeset
152 void gaim_prefs_destroy(void);
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
153
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
154 /**
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
155 * Set raw pref value
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
156 *
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
157 * @param name The name of the pref
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
158 * @param value The value to set
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
159 */
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
160 void gaim_prefs_set_generic(const char *name, gpointer value);
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
161
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
162 /**
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
163 * Set boolean pref value
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
164 *
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
165 * @param name The name of the pref
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
166 * @param value The value to set
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
167 */
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
168 void gaim_prefs_set_bool(const char *name, gboolean value);
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
169
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
170 /**
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
171 * Set integer pref value
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
172 *
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
173 * @param name The name of the pref
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
174 * @param value The value to set
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
175 */
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
176 void gaim_prefs_set_int(const char *name, int value);
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
177
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
178 /**
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
179 * Set string pref value
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
180 *
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
181 * @param name The name of the pref
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
182 * @param value The value to set
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
183 */
5451
3b9fea899f61 [gaim-migrate @ 5839]
Nathan Walp <nwalp@pidgin.im>
parents: 5441
diff changeset
184 void gaim_prefs_set_string(const char *name, const char *value);
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
185
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
186 /**
5561
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
187 * Set string pref value
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
188 *
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
189 * @param name The name of the pref
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
190 * @param value The value to set
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
191 */
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
192 void gaim_prefs_set_string_list(const char *name, GList *value);
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
193
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
194 /**
9611
159762ee0f2d [gaim-migrate @ 10454]
Tim Ringenbach <marv@pidgin.im>
parents: 8900
diff changeset
195 * Check if a pref exists
159762ee0f2d [gaim-migrate @ 10454]
Tim Ringenbach <marv@pidgin.im>
parents: 8900
diff changeset
196 *
9619
2d8adb92f665 [gaim-migrate @ 10463]
Mark Doliner <markdoliner@pidgin.im>
parents: 9611
diff changeset
197 * @param name The name of the pref
2d8adb92f665 [gaim-migrate @ 10463]
Mark Doliner <markdoliner@pidgin.im>
parents: 9611
diff changeset
198 * @return TRUE if the pref exists. Otherwise FALSE.
9611
159762ee0f2d [gaim-migrate @ 10454]
Tim Ringenbach <marv@pidgin.im>
parents: 8900
diff changeset
199 */
159762ee0f2d [gaim-migrate @ 10454]
Tim Ringenbach <marv@pidgin.im>
parents: 8900
diff changeset
200 gboolean gaim_prefs_exists(const char *name);
159762ee0f2d [gaim-migrate @ 10454]
Tim Ringenbach <marv@pidgin.im>
parents: 8900
diff changeset
201
159762ee0f2d [gaim-migrate @ 10454]
Tim Ringenbach <marv@pidgin.im>
parents: 8900
diff changeset
202 /**
6538
04189f714692 [gaim-migrate @ 7056]
Ethan Blanton <elb@pidgin.im>
parents: 5944
diff changeset
203 * Get pref type
04189f714692 [gaim-migrate @ 7056]
Ethan Blanton <elb@pidgin.im>
parents: 5944
diff changeset
204 *
04189f714692 [gaim-migrate @ 7056]
Ethan Blanton <elb@pidgin.im>
parents: 5944
diff changeset
205 * @param name The name of the pref
04189f714692 [gaim-migrate @ 7056]
Ethan Blanton <elb@pidgin.im>
parents: 5944
diff changeset
206 * @return The type of the pref
04189f714692 [gaim-migrate @ 7056]
Ethan Blanton <elb@pidgin.im>
parents: 5944
diff changeset
207 */
04189f714692 [gaim-migrate @ 7056]
Ethan Blanton <elb@pidgin.im>
parents: 5944
diff changeset
208 GaimPrefType gaim_prefs_get_type(const char *name);
04189f714692 [gaim-migrate @ 7056]
Ethan Blanton <elb@pidgin.im>
parents: 5944
diff changeset
209
04189f714692 [gaim-migrate @ 7056]
Ethan Blanton <elb@pidgin.im>
parents: 5944
diff changeset
210 /**
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
211 * Get boolean pref value
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
212 *
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
213 * @param name The name of the pref
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
214 * @return The value of the pref
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
215 */
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
216 gboolean gaim_prefs_get_bool(const char *name);
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
217
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
218 /**
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
219 * Get integer pref value
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
220 *
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
221 * @param name The name of the pref
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
222 * @return The value of the pref
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
223 */
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
224 int gaim_prefs_get_int(const char *name);
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
225
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
226 /**
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
227 * Get string pref value
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
228 *
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
229 * @param name The name of the pref
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
230 * @return The value of the pref
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
231 */
5545
a8b1a1262402 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5534
diff changeset
232 const char *gaim_prefs_get_string(const char *name);
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
233
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
234 /**
10071
d2ba11541693 [gaim-migrate @ 11047]
Jonathan Champ <royanee@users.sourceforge.net>
parents: 10066
diff changeset
235 * Get string list pref value
5561
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
236 *
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
237 * @param name The name of the pref
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
238 * @return The value of the pref
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
239 */
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
240 GList *gaim_prefs_get_string_list(const char *name);
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
241
d4a6b0c87193 [gaim-migrate @ 5962]
Nathan Walp <nwalp@pidgin.im>
parents: 5545
diff changeset
242 /**
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
243 * Add a callback to a pref (and its children)
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
244 */
10087
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10071
diff changeset
245 guint gaim_prefs_connect_callback(void *handle, const char *name, GaimPrefCallback cb,
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
246 gpointer data);
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
247
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
248 /**
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
249 * Remove a callback to a pref
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
250 */
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
251 void gaim_prefs_disconnect_callback(guint callback_id);
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
252
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
253 /**
10087
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10071
diff changeset
254 * Remove all pref callbacks by handle
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10071
diff changeset
255 */
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10071
diff changeset
256 void gaim_prefs_disconnect_by_handle(void *handle);
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10071
diff changeset
257
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10071
diff changeset
258 /**
5684
10b916deb20c [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5638
diff changeset
259 * Trigger callbacks as if the pref changed
10b916deb20c [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5638
diff changeset
260 */
10b916deb20c [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5638
diff changeset
261 void gaim_prefs_trigger_callback(const char *name);
10b916deb20c [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5638
diff changeset
262
10b916deb20c [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5638
diff changeset
263 /**
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
264 * Read preferences
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
265 */
12323
f52908fb23b0 [gaim-migrate @ 14627]
Richard Laager <rlaager@pidgin.im>
parents: 10443
diff changeset
266 gboolean gaim_prefs_load(void);
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
267
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
268 /**
8900
14f4b7ae958e [gaim-migrate @ 9669]
Mark Doliner <markdoliner@pidgin.im>
parents: 8705
diff changeset
269 * Rename legacy prefs and delete some that no longer exist.
14f4b7ae958e [gaim-migrate @ 9669]
Mark Doliner <markdoliner@pidgin.im>
parents: 8705
diff changeset
270 */
12323
f52908fb23b0 [gaim-migrate @ 14627]
Richard Laager <rlaager@pidgin.im>
parents: 10443
diff changeset
271 void gaim_prefs_update_old(void);
8900
14f4b7ae958e [gaim-migrate @ 9669]
Mark Doliner <markdoliner@pidgin.im>
parents: 8705
diff changeset
272
5441
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
273 /*@}*/
da02e587a6f2 [gaim-migrate @ 5823]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
274
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5684
diff changeset
275 #ifdef __cplusplus
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5684
diff changeset
276 }
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5684
diff changeset
277 #endif
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5684
diff changeset
278
9713
bb37562302a1 [gaim-migrate @ 10574]
Mark Doliner <markdoliner@pidgin.im>
parents: 9619
diff changeset
279 #endif /* _GAIM_PREFS_H_ */

mercurial