Mercurial > pidgin
annotate plugins/autorecon.c @ 10462:f7b32dd67bdf
[gaim-migrate @ 11735]
Fix for bug 1027454: Blank "Unable to open socket" window if locale is not UTF-8
committer: Tailor Script <tailor@pidgin.im>
| author | Stu Tomlinson <stu@nosnilmot.com> |
|---|---|
| date | Fri, 31 Dec 2004 15:34:18 +0000 |
| parents | 3e4ecbdf8d0a |
| children | 77ef3f2f0df8 |
| 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", | |
| 10345 | 111 "hid disconnect error message (%s)\n", text); |
| 8774 | 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", | |
| 10345 | 118 "hid error message while connecting (%s)\n", text); |
| 8774 | 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"); |
| 10401 | 143 /* XXX: make this remember the status from disconnect */ |
| 144 gaim_account_connect(account, gaim_account_get_status(account, "online")); | |
|
5587
1c55b1540e18
[gaim-migrate @ 5991]
Christian Hammond <chipx86@chipx86.com>
parents:
5227
diff
changeset
|
145 gaim_debug(GAIM_DEBUG_INFO, "autorecon", "done calling gaim_account_connect\n"); |
| 6113 | 146 |
|
1817
b367beee6448
[gaim-migrate @ 1827]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1404
diff
changeset
|
147 return FALSE; |
|
1378
aedeb1218a0a
[gaim-migrate @ 1388]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1165
diff
changeset
|
148 } |
|
aedeb1218a0a
[gaim-migrate @ 1388]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1165
diff
changeset
|
149 |
| 8774 | 150 |
|
5587
1c55b1540e18
[gaim-migrate @ 5991]
Christian Hammond <chipx86@chipx86.com>
parents:
5227
diff
changeset
|
151 static void reconnect(GaimConnection *gc, void *m) { |
| 6113 | 152 GaimAccount *account; |
| 153 GaimAutoRecon *info; | |
| 10020 | 154 GSList* listAccount; |
| 6113 | 155 |
| 156 g_return_if_fail(gc != NULL); | |
| 157 account = gaim_connection_get_account(gc); | |
| 158 info = g_hash_table_lookup(hash, account); | |
| 10020 | 159 if (accountReconnecting) |
| 160 listAccount = g_slist_find(accountReconnecting, account); | |
| 161 else | |
| 162 listAccount = NULL; | |
| 6113 | 163 |
|
2216
66783ad29e55
[gaim-migrate @ 2226]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1818
diff
changeset
|
164 if (!gc->wants_to_die) { |
| 6113 | 165 if (info == NULL) { |
| 166 info = g_new0(GaimAutoRecon, 1); | |
| 167 g_hash_table_insert(hash, account, info); | |
| 168 info->delay = INITIAL; | |
| 8249 | 169 } else { |
| 6113 | 170 info->delay = MIN(2 * info->delay, MAXTIME); |
| 8250 | 171 if (info->timeout != 0) |
| 172 g_source_remove(info->timeout); | |
| 8249 | 173 } |
| 6113 | 174 info->timeout = g_timeout_add(info->delay, do_signon, account); |
| 10020 | 175 |
| 176 if (!listAccount) | |
| 177 accountReconnecting = g_slist_prepend(accountReconnecting, account); | |
| 6113 | 178 } else if (info != NULL) { |
| 179 g_hash_table_remove(hash, account); | |
| 10020 | 180 |
| 181 if (listAccount) | |
| 182 accountReconnecting = g_slist_delete_link(accountReconnecting, listAccount); | |
|
2216
66783ad29e55
[gaim-migrate @ 2226]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1818
diff
changeset
|
183 } |
| 9546 | 184 } |
| 8774 | 185 |
| 6113 | 186 static void |
| 10020 | 187 reconnected(GaimConnection *gc, void *m) { |
| 188 GaimAccount *account; | |
| 189 | |
| 190 g_return_if_fail(gc != NULL && accountReconnecting != NULL); | |
| 191 account = gaim_connection_get_account(gc); | |
| 192 | |
| 193 accountReconnecting = g_slist_remove(accountReconnecting, account); | |
| 194 } | |
| 195 | |
| 196 static void | |
| 6113 | 197 free_auto_recon(gpointer data) |
| 198 { | |
| 199 GaimAutoRecon *info = data; | |
| 200 | |
| 201 if (info->timeout != 0) | |
| 202 g_source_remove(info->timeout); | |
| 203 | |
| 204 g_free(info); | |
| 205 } | |
| 206 | |
| 8774 | 207 |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
208 static gboolean |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
209 plugin_load(GaimPlugin *plugin) |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
210 { |
| 8774 | 211 |
| 212 /* this was the suggested way to override a single function of the | |
| 213 real ui ops. However, there's a mild concern of having more than one | |
| 214 bit of code making a new ui op call-through copy. If plugins A and B | |
| 215 both override the ui ops (in that order), B thinks that the | |
| 216 overridden ui ops A created was the original. If A unloads first, | |
| 217 and swaps out and frees its overridden version, then B is calling | |
| 218 through to a free'd ui op. There needs to be a way to "stack up" | |
| 219 overridden ui ops or something... I have a good idea of how to write | |
| 220 such a creature if someone wants it done. - siege 2004-04-20 */ | |
| 221 | |
| 222 /* get old ops, make a copy with a minor change */ | |
| 223 old_ops = gaim_connections_get_ui_ops(); | |
| 224 new_ops = (GaimConnectionUiOps *) g_memdup(old_ops, | |
| 225 sizeof(GaimConnectionUiOps)); | |
| 10020 | 226 new_ops->connect_progress = connect_progress; |
| 227 new_ops->connected = connected; | |
| 228 new_ops->disconnected = disconnected; | |
| 229 new_ops->notice = notice; | |
| 8774 | 230 new_ops->report_disconnect = report_disconnect; |
| 231 gaim_connections_set_ui_ops(new_ops); | |
| 232 | |
|
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
233 hash = g_hash_table_new_full(g_int_hash, g_int_equal, NULL, |
| 8774 | 234 free_auto_recon); |
| 10020 | 235 |
| 236 accountReconnecting = NULL; | |
| 3630 | 237 |
|
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
238 gaim_signal_connect(gaim_connections_get_handle(), "signed-off", |
| 8774 | 239 plugin, GAIM_CALLBACK(reconnect), NULL); |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
240 |
| 10020 | 241 gaim_signal_connect(gaim_connections_get_handle(), "signed-on", |
| 242 plugin, GAIM_CALLBACK(reconnected), NULL); | |
| 243 | |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
244 return TRUE; |
| 3802 | 245 } |
| 246 | |
| 8774 | 247 |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
248 static gboolean |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
249 plugin_unload(GaimPlugin *plugin) |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
250 { |
| 8243 | 251 gaim_signal_disconnect(gaim_connections_get_handle(), "signed-off", |
| 252 plugin, GAIM_CALLBACK(reconnect)); | |
| 9546 | 253 |
| 10020 | 254 gaim_signal_disconnect(gaim_connections_get_handle(), "signed-on", |
| 255 plugin, GAIM_CALLBACK(reconnected)); | |
| 256 | |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
257 g_hash_table_destroy(hash); |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
258 hash = NULL; |
| 10020 | 259 |
| 260 if (accountReconnecting) { | |
| 261 g_slist_free(accountReconnecting); | |
| 262 accountReconnecting = NULL; | |
| 263 } | |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
264 |
| 8774 | 265 gaim_connections_set_ui_ops(old_ops); |
| 266 g_free(new_ops); | |
| 267 old_ops = new_ops = NULL; | |
| 268 | |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
269 return TRUE; |
| 3630 | 270 } |
| 271 | |
| 8774 | 272 |
| 273 static GaimPluginPrefFrame *get_plugin_pref_frame(GaimPlugin *plugin) { | |
| 274 GaimPluginPrefFrame *frame = gaim_plugin_pref_frame_new(); | |
| 275 GaimPluginPref *pref; | |
| 276 | |
| 277 pref = gaim_plugin_pref_new_with_label(_("Error Message Suppression")); | |
| 9549 | 278 gaim_plugin_pref_frame_add(frame, pref); |
| 8774 | 279 |
| 280 pref = gaim_plugin_pref_new_with_name_and_label(OPT_HIDE_CONNECTED, | |
| 281 _("Hide Disconnect Errors")); | |
| 282 gaim_plugin_pref_frame_add(frame, pref); | |
| 283 | |
| 284 pref = gaim_plugin_pref_new_with_name_and_label(OPT_HIDE_CONNECTING, | |
| 285 _("Hide Login Errors")); | |
| 286 gaim_plugin_pref_frame_add(frame, pref); | |
| 287 | |
| 10020 | 288 pref = gaim_plugin_pref_new_with_name_and_label(OPT_HIDE_RECONNECTING_DIALOG, |
| 289 _("Hide Reconnecting Dialog")); | |
| 290 gaim_plugin_pref_frame_add(frame, pref); | |
| 291 | |
| 8774 | 292 return frame; |
| 293 } | |
| 294 | |
| 295 | |
| 296 static GaimPluginUiInfo pref_info = { | |
| 297 get_plugin_pref_frame | |
| 298 }; | |
| 299 | |
| 300 | |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
301 static GaimPluginInfo info = |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
302 { |
| 9943 | 303 GAIM_PLUGIN_MAGIC, |
| 304 GAIM_MAJOR_VERSION, | |
| 305 GAIM_MINOR_VERSION, | |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
306 GAIM_PLUGIN_STANDARD, /**< type */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
307 NULL, /**< ui_requirement */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
308 0, /**< flags */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
309 NULL, /**< dependencies */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
310 GAIM_PRIORITY_DEFAULT, /**< priority */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
311 |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
312 AUTORECON_PLUGIN_ID, /**< id */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
313 N_("Auto-Reconnect"), /**< name */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
314 VERSION, /**< version */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
315 /** summary */ |
|
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
316 N_("When you are kicked offline, this reconnects you."), |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
317 /** description */ |
|
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
318 N_("When you are kicked offline, this reconnects you."), |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
319 "Eric Warmenhoven <eric@warmenhoven.org>", /**< author */ |
|
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
320 GAIM_WEBSITE, /**< homepage */ |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
321 |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
322 plugin_load, /**< load */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
323 plugin_unload, /**< unload */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
324 NULL, /**< destroy */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
325 |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
326 NULL, /**< ui_info */ |
| 8774 | 327 NULL, /**< extra_info */ |
| 8993 | 328 &pref_info, /**< prefs_info */ |
| 329 NULL | |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
330 }; |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
331 |
| 8774 | 332 |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
333 static void |
|
5920
7d385de2f9cd
[gaim-migrate @ 6360]
Christian Hammond <chipx86@chipx86.com>
parents:
5873
diff
changeset
|
334 init_plugin(GaimPlugin *plugin) |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
335 { |
| 8774 | 336 gaim_prefs_add_none(AUTORECON_OPT); |
| 337 gaim_prefs_add_bool(OPT_HIDE_CONNECTED, FALSE); | |
| 338 gaim_prefs_add_bool(OPT_HIDE_CONNECTING, FALSE); | |
| 10020 | 339 gaim_prefs_add_bool(OPT_HIDE_RECONNECTING_DIALOG, FALSE); |
| 9971 | 340 gaim_prefs_remove(OPT_RESTORE_STATE); |
| 3630 | 341 } |
| 342 | |
| 6063 | 343 GAIM_INIT_PLUGIN(autorecon, init_plugin, info) |
| 8774 | 344 |
