Mercurial > pidgin
view plugins/ipc-test-client.c @ 8383:ae15e717ca75
[gaim-migrate @ 9111]
(00:18:52) lschiere: marv:
https://sourceforge.net/tracker/?func=detail&atid=300235&aid=908071&group_id=235
(00:21:24) marv: what does gc->wants_to_die = TRUE; do? is that some sort
of hint for the autoreconnect plugin?
(00:21:43) lschiere: kinda sorta
(00:21:51) lschiere: if a gc wants to die, you signed off
(00:22:01) lschiere: if it doesn't, then something killed it, and it should
be reconnected
(00:22:41) lschiere: i'm not sure how we used to handle that kind of thing
for aim
(00:23:03) lschiere: but basically if that's what he's doing, he's mimicing
you signing off manually
(00:23:52) marv: yeah, all the patch does is add that line right before the
gaim_connection_error when yahoo receives a patch telling us we got signed
off because we signed on with another client
(00:24:22) lschiere: i dare say it would work, as long as we can uniquely
id when we are kicked off for that reason
(00:25:07) marv: i think we do a pretty good job of that, i haven't heard
any reports of anyone getting that message when that's not what happened.
(00:25:22) marv: then again, i don't remember when i added that, and if
yahoo's worked since then.
(00:25:36) lschiere: *nods*
basically, Rob Foehl figured out a predictable way to work around yahoo
being too dumb to handle 2 instances of the same sn on at once. Jabber's
done that for years, and aim even figured it out, so you'd think yahoo
would get a clue... ;-)
committer: Tailor Script <tailor@pidgin.im>
author | Luke Schierer <lschiere@pidgin.im> |
---|---|
date | Tue, 02 Mar 2004 05:19:53 +0000 |
parents | 7dba3e17cb21 |
children | d7b8eb1f0a18 |
line wrap: on
line source
/* * IPC test client plugin. * * Copyright (C) 2003 Christian Hammond. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA * 02111-1307, USA. */ #include "internal.h" #include "debug.h" #include "plugin.h" #define IPC_TEST_CLIENT_PLUGIN_ID "core-ipc-test-client" static gboolean plugin_load(GaimPlugin *plugin) { GaimPlugin *server_plugin; gboolean ok; int result; server_plugin = gaim_plugins_find_with_id("core-ipc-test-server"); if (server_plugin == NULL) { gaim_debug_error("ipc-test-client", "Unable to locate plugin core-ipc-test-server, " "needed for IPC.\n"); return TRUE; } result = (int)gaim_plugin_ipc_call(server_plugin, "add", &ok, 36, 6); if (!ok) { gaim_debug_error("ipc-test-client", "Unable to call IPC function 'add' in " "core-ipc-test-server plugin."); return TRUE; } gaim_debug_info("ipc-test-client", "36 + 6 = %d\n", result); result = (int)gaim_plugin_ipc_call(server_plugin, "sub", &ok, 50, 8); if (!ok) { gaim_debug_error("ipc-test-client", "Unable to call IPC function 'sub' in " "core-ipc-test-server plugin."); return TRUE; } gaim_debug_info("ipc-test-client", "50 - 8 = %d\n", result); return TRUE; } static GaimPluginInfo info = { 2, /**< api_version */ GAIM_PLUGIN_STANDARD, /**< type */ NULL, /**< ui_requirement */ 0, /**< flags */ NULL, /**< dependencies */ GAIM_PRIORITY_DEFAULT, /**< priority */ IPC_TEST_CLIENT_PLUGIN_ID, /**< id */ N_("IPC Test Client"), /**< name */ VERSION, /**< version */ /** summary */ N_("Test plugin IPC support, as a client."), /** description */ N_("Test plugin IPC support, as a client. This locates the server " "plugin and calls the commands registered."), "Christian Hammond <chipx86@gnupdate.org>", /**< author */ GAIM_WEBSITE, /**< homepage */ plugin_load, /**< load */ NULL, /**< unload */ NULL, /**< destroy */ NULL, /**< ui_info */ NULL /**< extra_info */ }; static void init_plugin(GaimPlugin *plugin) { info.dependencies = g_list_append(info.dependencies, "core-ipc-test-server"); } GAIM_INIT_PLUGIN(ipctestclient, init_plugin, info)