Mercurial > pidgin
annotate plugins/autorecon.c @ 10063:4b4975b2b1d5
[gaim-migrate @ 11038]
this lets you see who you have blocked and who doesn't have you on your
list as emblems for msn. it looks like its extendable to the other
protocols? thanks to Fernando Herrera for this.
committer: Tailor Script <tailor@pidgin.im>
author | Luke Schierer <lschiere@pidgin.im> |
---|---|
date | Mon, 27 Sep 2004 02:50:48 +0000 |
parents | c06c4a697b31 |
children | 2e01c503aa4f |
rev | line source |
---|---|
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
1 #include "internal.h" |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
2 |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
3 #include "connection.h" |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
4 #include "debug.h" |
8774 | 5 #include "pluginpref.h" |
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
6 #include "prpl.h" |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
7 #include "signals.h" |
9943 | 8 #include "version.h" |
4202
59751fe608c5
[gaim-migrate @ 4438]
Christian Hammond <chipx86@chipx86.com>
parents:
4113
diff
changeset
|
9 |
8774 | 10 |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
11 #define AUTORECON_PLUGIN_ID "core-autorecon" |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
12 |
2216
66783ad29e55
[gaim-migrate @ 2226]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1818
diff
changeset
|
13 #define INITIAL 8000 |
4590 | 14 #define MAXTIME 2048000 |
2216
66783ad29e55
[gaim-migrate @ 2226]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1818
diff
changeset
|
15 |
6113 | 16 typedef struct { |
17 int delay; | |
18 guint timeout; | |
19 } GaimAutoRecon; | |
2216
66783ad29e55
[gaim-migrate @ 2226]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1818
diff
changeset
|
20 |
6113 | 21 static GHashTable *hash = NULL; |
8774 | 22 |
10020 | 23 static GSList *accountReconnecting = NULL; |
24 | |
8774 | 25 #define AUTORECON_OPT "/plugins/core/autorecon" |
10020 | 26 #define OPT_HIDE_CONNECTED AUTORECON_OPT "/hide_connected_error" |
27 #define OPT_HIDE_CONNECTING AUTORECON_OPT "/hide_connecting_error" | |
28 #define OPT_RESTORE_STATE AUTORECON_OPT "/restore_state" | |
29 #define OPT_HIDE_RECONNECTING_DIALOG AUTORECON_OPT "/hide_reconnecting_dialog" | |
8774 | 30 |
31 /* storage of original (old_ops) and modified (new_ops) ui ops to allow us to | |
32 intercept calls to report_disconnect */ | |
33 static GaimConnectionUiOps *old_ops = NULL; | |
34 static GaimConnectionUiOps *new_ops = NULL; | |
35 | |
10020 | 36 static void connect_progress(GaimConnection *gc, const char *text, |
37 size_t step, size_t step_count) { | |
38 if(old_ops == NULL || old_ops->connect_progress == NULL) { | |
39 /* there's nothing to call through to, so don't bother | |
40 checking prefs */ | |
41 return; | |
42 } else if(gaim_prefs_get_bool(OPT_HIDE_RECONNECTING_DIALOG) && accountReconnecting && | |
43 g_slist_find(accountReconnecting, gc->account)) { | |
44 /* this is a reconnecting, and we're hiding those */ | |
45 gaim_debug(GAIM_DEBUG_INFO, "autorecon", | |
46 "hide connecting dialog while reconnecting\n"); | |
47 return; | |
48 } | |
49 | |
50 old_ops->connect_progress(gc, text, step, step_count); | |
51 } | |
52 | |
53 static void connected(GaimConnection *gc) { | |
54 if(old_ops == NULL || old_ops->connected == NULL) { | |
55 /* there's nothing to call through to, so don't bother | |
56 checking prefs */ | |
57 return; | |
58 } else if(gaim_prefs_get_bool(OPT_HIDE_RECONNECTING_DIALOG) && accountReconnecting && | |
59 g_slist_find(accountReconnecting, gc->account)) { | |
60 /* this is a reconnecting, and we're hiding those */ | |
61 gaim_debug(GAIM_DEBUG_INFO, "autorecon", | |
62 "hide connecting dialog while reconnecting\n"); | |
63 return; | |
64 } | |
65 | |
66 old_ops->connected(gc); | |
67 } | |
68 | |
69 static void disconnected(GaimConnection *gc) { | |
70 if(old_ops == NULL || old_ops->disconnected == NULL) { | |
71 /* there's nothing to call through to, so don't bother | |
72 checking prefs */ | |
73 return; | |
74 } else if(gaim_prefs_get_bool(OPT_HIDE_RECONNECTING_DIALOG) && accountReconnecting && | |
75 g_slist_find(accountReconnecting, gc->account)) { | |
76 /* this is a reconnecting, and we're hiding those */ | |
77 gaim_debug(GAIM_DEBUG_INFO, "autorecon", | |
78 "hide connecting dialog while reconnecting\n"); | |
79 return; | |
80 } | |
81 | |
82 old_ops->disconnected(gc); | |
83 } | |
84 | |
85 static void notice(GaimConnection *gc, const char *text) { | |
86 if(old_ops == NULL || old_ops->notice == NULL) { | |
87 /* there's nothing to call through to, so don't bother | |
88 checking prefs */ | |
89 return; | |
90 } else if(gaim_prefs_get_bool(OPT_HIDE_RECONNECTING_DIALOG) && accountReconnecting && | |
91 g_slist_find(accountReconnecting, gc->account)) { | |
92 /* this is a reconnecting, and we're hiding those */ | |
93 gaim_debug(GAIM_DEBUG_INFO, "autorecon", | |
94 "hide connecting dialog while reconnecting\n"); | |
95 } | |
96 | |
97 old_ops->notice(gc, text); | |
98 } | |
8774 | 99 |
100 static void report_disconnect(GaimConnection *gc, const char *text) { | |
101 | |
102 if(old_ops == NULL || old_ops->report_disconnect == NULL) { | |
103 /* there's nothing to call through to, so don't bother | |
104 checking prefs */ | |
105 return; | |
106 | |
107 } else if(gc->state == GAIM_CONNECTED | |
108 && gaim_prefs_get_bool(OPT_HIDE_CONNECTED)) { | |
109 /* this is a connected error, and we're hiding those */ | |
110 gaim_debug(GAIM_DEBUG_INFO, "autorecon", | |
111 "hid disconnect error message\n"); | |
112 return; | |
113 | |
114 } else if(gc->state == GAIM_CONNECTING | |
115 && gaim_prefs_get_bool(OPT_HIDE_CONNECTING)) { | |
116 /* this is a connecting error, and we're hiding those */ | |
117 gaim_debug(GAIM_DEBUG_INFO, "autorecon", | |
118 "hid error message while connecting\n"); | |
119 return; | |
120 } | |
121 | |
122 /* if we haven't returned by now, then let's pass to the real | |
123 function */ | |
124 old_ops->report_disconnect(gc, text); | |
125 } | |
126 | |
127 | |
2216
66783ad29e55
[gaim-migrate @ 2226]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1818
diff
changeset
|
128 static gboolean do_signon(gpointer data) { |
5587
1c55b1540e18
[gaim-migrate @ 5991]
Christian Hammond <chipx86@chipx86.com>
parents:
5227
diff
changeset
|
129 GaimAccount *account = data; |
6113 | 130 GaimAutoRecon *info; |
131 | |
5227
6d1707dc8c3d
[gaim-migrate @ 5597]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
132 gaim_debug(GAIM_DEBUG_INFO, "autorecon", "do_signon called\n"); |
6113 | 133 g_return_val_if_fail(account != NULL, FALSE); |
134 info = g_hash_table_lookup(hash, account); | |
4494
b5a50a6a13b0
[gaim-migrate @ 4769]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
4491
diff
changeset
|
135 |
5607 | 136 if (g_list_index(gaim_accounts_get_all(), account) < 0) |
1817
b367beee6448
[gaim-migrate @ 1827]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1404
diff
changeset
|
137 return FALSE; |
6113 | 138 |
7372 | 139 if(info) |
140 info->timeout = 0; | |
141 | |
5587
1c55b1540e18
[gaim-migrate @ 5991]
Christian Hammond <chipx86@chipx86.com>
parents:
5227
diff
changeset
|
142 gaim_debug(GAIM_DEBUG_INFO, "autorecon", "calling gaim_account_connect\n"); |
1c55b1540e18
[gaim-migrate @ 5991]
Christian Hammond <chipx86@chipx86.com>
parents:
5227
diff
changeset
|
143 gaim_account_connect(account); |
1c55b1540e18
[gaim-migrate @ 5991]
Christian Hammond <chipx86@chipx86.com>
parents:
5227
diff
changeset
|
144 gaim_debug(GAIM_DEBUG_INFO, "autorecon", "done calling gaim_account_connect\n"); |
6113 | 145 |
1817
b367beee6448
[gaim-migrate @ 1827]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1404
diff
changeset
|
146 return FALSE; |
1378
aedeb1218a0a
[gaim-migrate @ 1388]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1165
diff
changeset
|
147 } |
aedeb1218a0a
[gaim-migrate @ 1388]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1165
diff
changeset
|
148 |
8774 | 149 |
5587
1c55b1540e18
[gaim-migrate @ 5991]
Christian Hammond <chipx86@chipx86.com>
parents:
5227
diff
changeset
|
150 static void reconnect(GaimConnection *gc, void *m) { |
6113 | 151 GaimAccount *account; |
152 GaimAutoRecon *info; | |
10020 | 153 GSList* listAccount; |
6113 | 154 |
155 g_return_if_fail(gc != NULL); | |
156 account = gaim_connection_get_account(gc); | |
157 info = g_hash_table_lookup(hash, account); | |
10020 | 158 if (accountReconnecting) |
159 listAccount = g_slist_find(accountReconnecting, account); | |
160 else | |
161 listAccount = NULL; | |
6113 | 162 |
2216
66783ad29e55
[gaim-migrate @ 2226]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1818
diff
changeset
|
163 if (!gc->wants_to_die) { |
6113 | 164 if (info == NULL) { |
165 info = g_new0(GaimAutoRecon, 1); | |
166 g_hash_table_insert(hash, account, info); | |
167 info->delay = INITIAL; | |
8249 | 168 } else { |
6113 | 169 info->delay = MIN(2 * info->delay, MAXTIME); |
8250 | 170 if (info->timeout != 0) |
171 g_source_remove(info->timeout); | |
8249 | 172 } |
6113 | 173 info->timeout = g_timeout_add(info->delay, do_signon, account); |
10020 | 174 |
175 if (!listAccount) | |
176 accountReconnecting = g_slist_prepend(accountReconnecting, account); | |
6113 | 177 } else if (info != NULL) { |
178 g_hash_table_remove(hash, account); | |
10020 | 179 |
180 if (listAccount) | |
181 accountReconnecting = g_slist_delete_link(accountReconnecting, listAccount); | |
2216
66783ad29e55
[gaim-migrate @ 2226]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1818
diff
changeset
|
182 } |
9546 | 183 } |
8774 | 184 |
6113 | 185 static void |
10020 | 186 reconnected(GaimConnection *gc, void *m) { |
187 GaimAccount *account; | |
188 | |
189 g_return_if_fail(gc != NULL && accountReconnecting != NULL); | |
190 account = gaim_connection_get_account(gc); | |
191 | |
192 accountReconnecting = g_slist_remove(accountReconnecting, account); | |
193 } | |
194 | |
195 static void | |
6113 | 196 free_auto_recon(gpointer data) |
197 { | |
198 GaimAutoRecon *info = data; | |
199 | |
200 if (info->timeout != 0) | |
201 g_source_remove(info->timeout); | |
202 | |
203 g_free(info); | |
204 } | |
205 | |
8774 | 206 |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
207 static gboolean |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
208 plugin_load(GaimPlugin *plugin) |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
209 { |
8774 | 210 |
211 /* this was the suggested way to override a single function of the | |
212 real ui ops. However, there's a mild concern of having more than one | |
213 bit of code making a new ui op call-through copy. If plugins A and B | |
214 both override the ui ops (in that order), B thinks that the | |
215 overridden ui ops A created was the original. If A unloads first, | |
216 and swaps out and frees its overridden version, then B is calling | |
217 through to a free'd ui op. There needs to be a way to "stack up" | |
218 overridden ui ops or something... I have a good idea of how to write | |
219 such a creature if someone wants it done. - siege 2004-04-20 */ | |
220 | |
221 /* get old ops, make a copy with a minor change */ | |
222 old_ops = gaim_connections_get_ui_ops(); | |
223 new_ops = (GaimConnectionUiOps *) g_memdup(old_ops, | |
224 sizeof(GaimConnectionUiOps)); | |
10020 | 225 new_ops->connect_progress = connect_progress; |
226 new_ops->connected = connected; | |
227 new_ops->disconnected = disconnected; | |
228 new_ops->notice = notice; | |
8774 | 229 new_ops->report_disconnect = report_disconnect; |
230 gaim_connections_set_ui_ops(new_ops); | |
231 | |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
232 hash = g_hash_table_new_full(g_int_hash, g_int_equal, NULL, |
8774 | 233 free_auto_recon); |
10020 | 234 |
235 accountReconnecting = NULL; | |
3630 | 236 |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
237 gaim_signal_connect(gaim_connections_get_handle(), "signed-off", |
8774 | 238 plugin, GAIM_CALLBACK(reconnect), NULL); |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
239 |
10020 | 240 gaim_signal_connect(gaim_connections_get_handle(), "signed-on", |
241 plugin, GAIM_CALLBACK(reconnected), NULL); | |
242 | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
243 return TRUE; |
3802 | 244 } |
245 | |
8774 | 246 |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
247 static gboolean |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
248 plugin_unload(GaimPlugin *plugin) |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
249 { |
8243 | 250 gaim_signal_disconnect(gaim_connections_get_handle(), "signed-off", |
251 plugin, GAIM_CALLBACK(reconnect)); | |
9546 | 252 |
10020 | 253 gaim_signal_disconnect(gaim_connections_get_handle(), "signed-on", |
254 plugin, GAIM_CALLBACK(reconnected)); | |
255 | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
256 g_hash_table_destroy(hash); |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
257 hash = NULL; |
10020 | 258 |
259 if (accountReconnecting) { | |
260 g_slist_free(accountReconnecting); | |
261 accountReconnecting = NULL; | |
262 } | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
263 |
8774 | 264 gaim_connections_set_ui_ops(old_ops); |
265 g_free(new_ops); | |
266 old_ops = new_ops = NULL; | |
267 | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
268 return TRUE; |
3630 | 269 } |
270 | |
8774 | 271 |
272 static GaimPluginPrefFrame *get_plugin_pref_frame(GaimPlugin *plugin) { | |
273 GaimPluginPrefFrame *frame = gaim_plugin_pref_frame_new(); | |
274 GaimPluginPref *pref; | |
275 | |
276 pref = gaim_plugin_pref_new_with_label(_("Error Message Suppression")); | |
9549 | 277 gaim_plugin_pref_frame_add(frame, pref); |
8774 | 278 |
279 pref = gaim_plugin_pref_new_with_name_and_label(OPT_HIDE_CONNECTED, | |
280 _("Hide Disconnect Errors")); | |
281 gaim_plugin_pref_frame_add(frame, pref); | |
282 | |
283 pref = gaim_plugin_pref_new_with_name_and_label(OPT_HIDE_CONNECTING, | |
284 _("Hide Login Errors")); | |
285 gaim_plugin_pref_frame_add(frame, pref); | |
286 | |
10020 | 287 pref = gaim_plugin_pref_new_with_name_and_label(OPT_HIDE_RECONNECTING_DIALOG, |
288 _("Hide Reconnecting Dialog")); | |
289 gaim_plugin_pref_frame_add(frame, pref); | |
290 | |
8774 | 291 return frame; |
292 } | |
293 | |
294 | |
295 static GaimPluginUiInfo pref_info = { | |
296 get_plugin_pref_frame | |
297 }; | |
298 | |
299 | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
300 static GaimPluginInfo info = |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
301 { |
9943 | 302 GAIM_PLUGIN_MAGIC, |
303 GAIM_MAJOR_VERSION, | |
304 GAIM_MINOR_VERSION, | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
305 GAIM_PLUGIN_STANDARD, /**< type */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
306 NULL, /**< ui_requirement */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
307 0, /**< flags */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
308 NULL, /**< dependencies */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
309 GAIM_PRIORITY_DEFAULT, /**< priority */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
310 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
311 AUTORECON_PLUGIN_ID, /**< id */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
312 N_("Auto-Reconnect"), /**< name */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
313 VERSION, /**< version */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
314 /** summary */ |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
315 N_("When you are kicked offline, this reconnects you."), |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
316 /** description */ |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
317 N_("When you are kicked offline, this reconnects you."), |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
318 "Eric Warmenhoven <eric@warmenhoven.org>", /**< author */ |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
319 GAIM_WEBSITE, /**< homepage */ |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
320 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
321 plugin_load, /**< load */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
322 plugin_unload, /**< unload */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
323 NULL, /**< destroy */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
324 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
325 NULL, /**< ui_info */ |
8774 | 326 NULL, /**< extra_info */ |
8993 | 327 &pref_info, /**< prefs_info */ |
328 NULL | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
329 }; |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
330 |
8774 | 331 |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
332 static void |
5920
7d385de2f9cd
[gaim-migrate @ 6360]
Christian Hammond <chipx86@chipx86.com>
parents:
5873
diff
changeset
|
333 init_plugin(GaimPlugin *plugin) |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
334 { |
8774 | 335 gaim_prefs_add_none(AUTORECON_OPT); |
336 gaim_prefs_add_bool(OPT_HIDE_CONNECTED, FALSE); | |
337 gaim_prefs_add_bool(OPT_HIDE_CONNECTING, FALSE); | |
10020 | 338 gaim_prefs_add_bool(OPT_HIDE_RECONNECTING_DIALOG, FALSE); |
9971 | 339 gaim_prefs_remove(OPT_RESTORE_STATE); |
3630 | 340 } |
341 | |
6063 | 342 GAIM_INIT_PLUGIN(autorecon, init_plugin, info) |
8774 | 343 |