Mercurial > pidgin.yaz
annotate plugins/autorecon.c @ 10315:deec4b58d516
[gaim-migrate @ 11515]
Login Window
1998 -- 2004
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Sat, 04 Dec 2004 18:51:56 +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 |