static gboolean plugin_load(PurplePlugin *plugin) { PurplePlugin *server_plugin; gboolean ok; int result; server_plugin = purple_plugins_find_with_id("core-ipc-test-server"); if (server_plugin == NULL) { purple_debug_error("ipc-test-client", "Unable to locate plugin core-ipc-test-server, " "needed for IPC.\n"); return TRUE; } result = (int)purple_plugin_ipc_call(server_plugin, "add", &ok, 36, 6); if (!ok) { purple_debug_error("ipc-test-client", "Unable to call IPC function 'add' in " "core-ipc-test-server plugin."); return TRUE; } purple_debug_info("ipc-test-client", "36 + 6 = %d\n", result); result = (int)purple_plugin_ipc_call(server_plugin, "sub", &ok, 50, 8); if (!ok) { purple_debug_error("ipc-test-client", "Unable to call IPC function 'sub' in " "core-ipc-test-server plugin."); return TRUE; } purple_debug_info("ipc-test-client", "50 - 8 = %d\n", result); return TRUE; }
static gboolean plugin_load(PurplePlugin *plugin) { PurplePlugin *jabber = purple_find_prpl("prpl-jabber"); if (!jabber) return FALSE; //Publish support via caps gboolean ok; purple_plugin_ipc_call (jabber, "add_feature", &ok, "urn:xmpp:receipts"); #ifdef DEBUG if (ok) printf("receipt feature added\n"); else printf("receipt feature not added (will work anyway with most clients)\n"); #endif xmpp_console_handle = plugin; ht_locations = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free); purple_signal_connect(jabber, "jabber-receiving-xmlnode", xmpp_console_handle, PURPLE_CALLBACK(xmlnode_received_cb), NULL); purple_signal_connect(jabber, "jabber-sending-xmlnode", xmpp_console_handle, PURPLE_CALLBACK(xmlnode_sending_cb), NULL); //Connect signals for conversations to clean references void *conv_handle = purple_conversations_get_handle(); purple_signal_connect(conv_handle, "deleting-conversation", plugin, PURPLE_CALLBACK(deleting_conversation_cb), NULL); return TRUE; }