static gboolean load_plugin (PurplePlugin *plugin) { purple_signal_register(plugin, "irc-sending-text", purple_marshal_VOID__POINTER_POINTER, NULL, 2, purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION), purple_value_new_outgoing(PURPLE_TYPE_STRING)); purple_signal_register(plugin, "irc-receiving-text", purple_marshal_VOID__POINTER_POINTER, NULL, 2, purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION), purple_value_new_outgoing(PURPLE_TYPE_STRING)); return TRUE; }
void purple_plugins_init(void) { void *handle = purple_plugins_get_handle(); purple_plugins_add_search_path(LIBDIR); purple_signal_register(handle, "plugin-load", purple_marshal_VOID__POINTER, G_TYPE_NONE, 1, PURPLE_TYPE_PLUGIN); purple_signal_register(handle, "plugin-unload", purple_marshal_VOID__POINTER, G_TYPE_NONE, 1, PURPLE_TYPE_PLUGIN); }
void pidgin_log_init(void) { void *handle = pidgin_log_get_handle(); purple_signal_register(handle, "log-displaying", purple_marshal_VOID__POINTER_POINTER, NULL, 2, purple_value_new(PURPLE_TYPE_BOXED, "PidginLogViewer *"), purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_LOG)); }
void purple_xfers_init(void) { void *handle = purple_xfers_get_handle(); xfers_data = g_hash_table_new_full(g_direct_hash, g_direct_equal, NULL, purple_xfer_priv_data_destroy); /* register signals */ purple_signal_register(handle, "file-recv-accept", purple_marshal_VOID__POINTER, NULL, 1, purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XFER)); purple_signal_register(handle, "file-send-accept", purple_marshal_VOID__POINTER, NULL, 1, purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XFER)); purple_signal_register(handle, "file-recv-start", purple_marshal_VOID__POINTER, NULL, 1, purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XFER)); purple_signal_register(handle, "file-send-start", purple_marshal_VOID__POINTER, NULL, 1, purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XFER)); purple_signal_register(handle, "file-send-cancel", purple_marshal_VOID__POINTER, NULL, 1, purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XFER)); purple_signal_register(handle, "file-recv-cancel", purple_marshal_VOID__POINTER, NULL, 1, purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XFER)); purple_signal_register(handle, "file-send-complete", purple_marshal_VOID__POINTER, NULL, 1, purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XFER)); purple_signal_register(handle, "file-recv-complete", purple_marshal_VOID__POINTER, NULL, 1, purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XFER)); purple_signal_register(handle, "file-recv-request", purple_marshal_VOID__POINTER, NULL, 1, purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XFER)); }
void purple_imgstore_init() { void *handle = purple_imgstore_get_handle(); purple_signal_register(handle, "image-deleting", purple_marshal_VOID__POINTER, NULL, 1, purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_STORED_IMAGE)); imgstore = g_hash_table_new(g_int_hash, g_int_equal); }
static void waprpl_init(PurplePlugin * plugin) { PurpleAccountOption *option; prpl_info.user_splits = NULL; option = purple_account_option_string_new("Server", "server", ""); prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); option = purple_account_option_int_new("Port", "port", WHATSAPP_DEFAULT_PORT); prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); option = purple_account_option_string_new("Nickname", "nick", ""); prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); option = purple_account_option_string_new("Resource", "resource", default_resource); prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); _whatsapp_protocol = plugin; // Some signals which can be caught by plugins purple_signal_register(plugin, "whatsapp-sending-message", purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER, NULL, 4, purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION), purple_value_new(PURPLE_TYPE_STRING), /* id */ purple_value_new(PURPLE_TYPE_STRING), /* who */ purple_value_new(PURPLE_TYPE_STRING) /* message */ ); purple_signal_register(plugin, "whatsapp-message-received", purple_marshal_VOID__POINTER_POINTER_UINT, NULL, 3, purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION), purple_value_new(PURPLE_TYPE_STRING), /* id */ purple_value_new(PURPLE_TYPE_INT) /* reception-types */ ); }
void purple_notify_init(void) { gpointer handle = purple_notify_get_handle(); purple_signal_register(handle, "displaying-email-notification", purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER, G_TYPE_NONE, 4, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); purple_signal_register(handle, "displaying-emails-notification", purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_UINT, G_TYPE_NONE, 5, G_TYPE_POINTER, G_TYPE_POINTER, G_TYPE_POINTER, G_TYPE_POINTER, G_TYPE_UINT); purple_signal_register(handle, "displaying-emails-clear", purple_marshal_VOID, G_TYPE_NONE, 0); purple_signal_register(handle, "displaying-userinfo", purple_marshal_VOID__POINTER_POINTER_POINTER, G_TYPE_NONE, 3, PURPLE_TYPE_ACCOUNT, G_TYPE_STRING, PURPLE_TYPE_NOTIFY_USER_INFO); }
void purple_ciphers_init() { gpointer handle; handle = purple_ciphers_get_handle(); purple_signal_register(handle, "cipher-added", purple_marshal_VOID__POINTER, NULL, 1, purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CIPHER)); purple_signal_register(handle, "cipher-removed", purple_marshal_VOID__POINTER, NULL, 1, purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CIPHER)); purple_ciphers_register_cipher("md5", purple_md5_cipher_get_ops()); purple_ciphers_register_cipher("sha1", purple_sha1_cipher_get_ops()); purple_ciphers_register_cipher("sha256", purple_sha256_cipher_get_ops()); purple_ciphers_register_cipher("md4", purple_md4_cipher_get_ops()); purple_ciphers_register_cipher("hmac", purple_hmac_cipher_get_ops()); purple_ciphers_register_cipher("des", purple_des_cipher_get_ops()); purple_ciphers_register_cipher("des3", purple_des3_cipher_get_ops()); purple_ciphers_register_cipher("rc4", purple_rc4_cipher_get_ops()); }
void purple_sound_init() { void *handle = purple_sounds_get_handle(); /********************************************************************** * Register signals **********************************************************************/ purple_signal_register(handle, "playing-sound-event", purple_marshal_BOOLEAN__INT_POINTER, G_TYPE_BOOLEAN, 2, G_TYPE_INT, PURPLE_TYPE_ACCOUNT); purple_prefs_add_none("/purple/sound"); purple_prefs_add_int("/purple/sound/while_status", PURPLE_SOUND_STATUS_AVAILABLE); memset(last_played, 0, sizeof(last_played)); purple_theme_manager_register_type(g_object_new(PURPLE_TYPE_SOUND_THEME_LOADER, "type", "sound", NULL)); }
void purple_sound_init() { void *handle = purple_sounds_get_handle(); /********************************************************************** * Register signals **********************************************************************/ purple_signal_register(handle, "playing-sound-event", purple_marshal_BOOLEAN__INT_POINTER, purple_value_new(PURPLE_TYPE_BOOLEAN), 2, purple_value_new(PURPLE_TYPE_INT), purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_ACCOUNT)); purple_prefs_add_none("/purple/sound"); purple_prefs_add_int("/purple/sound/while_status", STATUS_AVAILABLE); memset(last_played, 0, sizeof(last_played)); }
void purple_connections_init(void) { void *handle = purple_connections_get_handle(); purple_signal_register(handle, "signing-on", purple_marshal_VOID__POINTER, NULL, 1, purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION)); purple_signal_register(handle, "signed-on", purple_marshal_VOID__POINTER, NULL, 1, purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION)); purple_signal_register(handle, "signing-off", purple_marshal_VOID__POINTER, NULL, 1, purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION)); purple_signal_register(handle, "signed-off", purple_marshal_VOID__POINTER, NULL, 1, purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION)); purple_signal_register(handle, "connection-error", purple_marshal_VOID__POINTER_INT_POINTER, NULL, 3, purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION), purple_value_new(PURPLE_TYPE_ENUM), purple_value_new(PURPLE_TYPE_STRING)); purple_signal_register(handle, "autojoin", purple_marshal_BOOLEAN__POINTER, NULL, 1, purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION)); }
static gboolean load_plugin(PurplePlugin *plugin) { purple_signal_register(plugin, "jabber-receiving-xmlnode", purple_marshal_VOID__POINTER_POINTER, NULL, 2, purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION), purple_value_new_outgoing(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XMLNODE)); purple_signal_register(plugin, "jabber-sending-xmlnode", purple_marshal_VOID__POINTER_POINTER, NULL, 2, purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION), purple_value_new_outgoing(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XMLNODE)); /* * Do not remove this or the plugin will fail. Completely. You have been * warned! */ purple_signal_connect_priority(plugin, "jabber-sending-xmlnode", plugin, PURPLE_CALLBACK(jabber_send_signal_cb), NULL, PURPLE_SIGNAL_PRIORITY_HIGHEST); purple_signal_register(plugin, "jabber-sending-text", purple_marshal_VOID__POINTER_POINTER, NULL, 2, purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION), purple_value_new_outgoing(PURPLE_TYPE_STRING)); purple_signal_register(plugin, "jabber-receiving-message", purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER_POINTER, purple_value_new(PURPLE_TYPE_BOOLEAN), 6, purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION), purple_value_new(PURPLE_TYPE_STRING), /* type */ purple_value_new(PURPLE_TYPE_STRING), /* id */ purple_value_new(PURPLE_TYPE_STRING), /* from */ purple_value_new(PURPLE_TYPE_STRING), /* to */ purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XMLNODE)); purple_signal_register(plugin, "jabber-receiving-iq", purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER, purple_value_new(PURPLE_TYPE_BOOLEAN), 5, purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION), purple_value_new(PURPLE_TYPE_STRING), /* type */ purple_value_new(PURPLE_TYPE_STRING), /* id */ purple_value_new(PURPLE_TYPE_STRING), /* from */ purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XMLNODE)); purple_signal_register(plugin, "jabber-watched-iq", purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER, purple_value_new(PURPLE_TYPE_BOOLEAN), 5, purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION), purple_value_new(PURPLE_TYPE_STRING), /* type */ purple_value_new(PURPLE_TYPE_STRING), /* id */ purple_value_new(PURPLE_TYPE_STRING), /* from */ purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XMLNODE)); /* child */ /* Modifying these? Look at jabber_init_plugin for the ipc versions */ purple_signal_register(plugin, "jabber-register-namespace-watcher", purple_marshal_VOID__POINTER_POINTER, NULL, 2, purple_value_new(PURPLE_TYPE_STRING), /* node */ purple_value_new(PURPLE_TYPE_STRING)); /* namespace */ purple_signal_register(plugin, "jabber-unregister-namespace-watcher", purple_marshal_VOID__POINTER_POINTER, NULL, 2, purple_value_new(PURPLE_TYPE_STRING), /* node */ purple_value_new(PURPLE_TYPE_STRING)); /* namespace */ purple_signal_connect(plugin, "jabber-register-namespace-watcher", plugin, PURPLE_CALLBACK(jabber_iq_signal_register), NULL); purple_signal_connect(plugin, "jabber-unregister-namespace-watcher", plugin, PURPLE_CALLBACK(jabber_iq_signal_unregister), NULL); purple_signal_register(plugin, "jabber-receiving-presence", purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER, purple_value_new(PURPLE_TYPE_BOOLEAN), 4, purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION), purple_value_new(PURPLE_TYPE_STRING), /* type */ purple_value_new(PURPLE_TYPE_STRING), /* from */ purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XMLNODE)); return TRUE; }
STATIC_PROTO_INIT gboolean purple_core_init(const char *ui) { PurpleCoreUiOps *ops; PurpleCore *core; g_return_val_if_fail(ui != NULL, FALSE); g_return_val_if_fail(purple_get_core() == NULL, FALSE); #ifdef ENABLE_NLS bindtextdomain(PACKAGE, LOCALEDIR); #endif //VOXOX - JRT - 2009.04.11 #ifdef _WIN32 wpurple_init(); #ifdef _DEBUG // _CrtSetDbgFlag( 0x20 ); //_CRTDBG_LEAK_CHECK_DF );//VOXOX - JRT - 2009.04.10 JRT-XXX // _CrtSetAllocHook( AllocHook ); #endif #endif g_type_init(); _core = core = g_new0(PurpleCore, 1); core->ui = g_strdup(ui); core->reserved = NULL; ops = purple_core_get_ui_ops(); /* The signals subsystem is important and should be first. */ purple_signals_init(); purple_util_init(); purple_signal_register(core, "uri-handler", purple_marshal_BOOLEAN__POINTER_POINTER_POINTER, purple_value_new(PURPLE_TYPE_BOOLEAN), 3, purple_value_new(PURPLE_TYPE_STRING), /* Protocol */ purple_value_new(PURPLE_TYPE_STRING), /* Command */ purple_value_new(PURPLE_TYPE_BOXED, "GHashTable *")); /* Parameters */ purple_signal_register(core, "quitting", purple_marshal_VOID, NULL, 0); /* The prefs subsystem needs to be initialized before static protocols * for protocol prefs to work. */ purple_prefs_init(); purple_debug_init(); if (ops != NULL) { if (ops->ui_prefs_init != NULL) ops->ui_prefs_init(); if (ops->debug_ui_init != NULL) ops->debug_ui_init(); } #ifdef HAVE_DBUS purple_dbus_init(); #endif purple_ciphers_init(); purple_cmds_init(); /* Since plugins get probed so early we should probably initialize their * subsystem right away too. */ purple_plugins_init(); /* Initialize all static protocols. */ static_proto_init(); purple_plugins_probe(G_MODULE_SUFFIX); /* The buddy icon code uses the imgstore, so init it early. */ purple_imgstore_init(); /* Accounts use status, buddy icons and connection signals, so * initialize these before accounts */ purple_status_init(); purple_buddy_icons_init(); purple_connections_init(); purple_accounts_init(); purple_savedstatuses_init(); purple_notify_init(); purple_certificate_init(); purple_conversations_init(); purple_blist_init(); purple_log_init(); purple_network_init(); purple_privacy_init(); purple_pounces_init(); purple_proxy_init(); purple_dnsquery_init(); purple_sound_init(); purple_ssl_init(); purple_stun_init(); purple_xfers_init(); purple_idle_init(); purple_smileys_init(); /* * Call this early on to try to auto-detect our IP address and * hopefully save some time later. */ purple_network_get_my_ip(-1); if (ops != NULL && ops->ui_init != NULL) ops->ui_init(); return TRUE; }
void purple_conversations_init(void) { void *handle = purple_conversations_get_handle(); conversation_cache = g_hash_table_new_full((GHashFunc)_purple_conversations_hconv_hash, (GEqualFunc)_purple_conversations_hconv_equal, (GDestroyNotify)_purple_conversations_hconv_free_key, NULL); /********************************************************************** * Register preferences **********************************************************************/ /* Conversations */ purple_prefs_add_none("/purple/conversations"); /* Conversations -> Chat */ purple_prefs_add_none("/purple/conversations/chat"); purple_prefs_add_bool("/purple/conversations/chat/show_nick_change", TRUE); /* Conversations -> IM */ purple_prefs_add_none("/purple/conversations/im"); purple_prefs_add_bool("/purple/conversations/im/send_typing", TRUE); /********************************************************************** * Register signals **********************************************************************/ purple_signal_register(handle, "writing-im-msg", purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_UINT, G_TYPE_BOOLEAN, 5, PURPLE_TYPE_ACCOUNT, G_TYPE_STRING, G_TYPE_POINTER, /* pointer to a string */ PURPLE_TYPE_IM_CONVERSATION, G_TYPE_UINT); purple_signal_register(handle, "wrote-im-msg", purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_UINT, G_TYPE_NONE, 5, PURPLE_TYPE_ACCOUNT, G_TYPE_STRING, G_TYPE_STRING, PURPLE_TYPE_IM_CONVERSATION, G_TYPE_UINT); purple_signal_register(handle, "sent-attention", purple_marshal_VOID__POINTER_POINTER_POINTER_UINT, G_TYPE_NONE, 4, PURPLE_TYPE_ACCOUNT, G_TYPE_STRING, PURPLE_TYPE_CONVERSATION, G_TYPE_UINT); purple_signal_register(handle, "got-attention", purple_marshal_VOID__POINTER_POINTER_POINTER_UINT, G_TYPE_NONE, 4, PURPLE_TYPE_ACCOUNT, G_TYPE_STRING, PURPLE_TYPE_CONVERSATION, G_TYPE_UINT); purple_signal_register(handle, "sending-im-msg", purple_marshal_VOID__POINTER_POINTER_POINTER, G_TYPE_NONE, 3, PURPLE_TYPE_ACCOUNT, G_TYPE_STRING, G_TYPE_POINTER); /* pointer to a string */ purple_signal_register(handle, "sent-im-msg", purple_marshal_VOID__POINTER_POINTER_POINTER, G_TYPE_NONE, 3, PURPLE_TYPE_ACCOUNT, G_TYPE_STRING, G_TYPE_STRING); purple_signal_register(handle, "receiving-im-msg", purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER, G_TYPE_BOOLEAN, 5, PURPLE_TYPE_ACCOUNT, G_TYPE_POINTER, /* pointer to a string */ G_TYPE_POINTER, /* pointer to a string */ PURPLE_TYPE_IM_CONVERSATION, G_TYPE_POINTER); /* pointer to a string */ purple_signal_register(handle, "received-im-msg", purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_UINT, G_TYPE_NONE, 5, PURPLE_TYPE_ACCOUNT, G_TYPE_STRING, G_TYPE_STRING, PURPLE_TYPE_IM_CONVERSATION, G_TYPE_UINT); purple_signal_register(handle, "blocked-im-msg", purple_marshal_VOID__POINTER_POINTER_POINTER_UINT_UINT, G_TYPE_NONE, 5, PURPLE_TYPE_ACCOUNT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT, G_TYPE_UINT); purple_signal_register(handle, "writing-chat-msg", purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_UINT, G_TYPE_BOOLEAN, 5, PURPLE_TYPE_ACCOUNT, G_TYPE_STRING, G_TYPE_POINTER, /* pointer to a string */ PURPLE_TYPE_CHAT_CONVERSATION, G_TYPE_UINT); purple_signal_register(handle, "wrote-chat-msg", purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_UINT, G_TYPE_NONE, 5, PURPLE_TYPE_ACCOUNT, G_TYPE_STRING, G_TYPE_STRING, PURPLE_TYPE_CHAT_CONVERSATION, G_TYPE_UINT); purple_signal_register(handle, "sending-chat-msg", purple_marshal_VOID__POINTER_POINTER_UINT, G_TYPE_NONE, 3, PURPLE_TYPE_ACCOUNT, G_TYPE_POINTER, /* pointer to a string */ G_TYPE_UINT); purple_signal_register(handle, "sent-chat-msg", purple_marshal_VOID__POINTER_POINTER_UINT, G_TYPE_NONE, 3, PURPLE_TYPE_ACCOUNT, G_TYPE_STRING, G_TYPE_UINT); purple_signal_register(handle, "receiving-chat-msg", purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER, G_TYPE_BOOLEAN, 5, PURPLE_TYPE_ACCOUNT, G_TYPE_POINTER, /* pointer to a string */ G_TYPE_POINTER, /* pointer to a string */ PURPLE_TYPE_CHAT_CONVERSATION, G_TYPE_POINTER); /* pointer to an unsigned int */ purple_signal_register(handle, "received-chat-msg", purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_UINT, G_TYPE_NONE, 5, PURPLE_TYPE_ACCOUNT, G_TYPE_STRING, G_TYPE_STRING, PURPLE_TYPE_CHAT_CONVERSATION, G_TYPE_UINT); purple_signal_register(handle, "conversation-created", purple_marshal_VOID__POINTER, G_TYPE_NONE, 1, PURPLE_TYPE_CONVERSATION); purple_signal_register(handle, "conversation-updated", purple_marshal_VOID__POINTER_UINT, G_TYPE_NONE, 2, PURPLE_TYPE_CONVERSATION, G_TYPE_UINT); purple_signal_register(handle, "deleting-conversation", purple_marshal_VOID__POINTER, G_TYPE_NONE, 1, PURPLE_TYPE_CONVERSATION); purple_signal_register(handle, "buddy-typing", purple_marshal_VOID__POINTER_POINTER, G_TYPE_NONE, 2, PURPLE_TYPE_ACCOUNT, G_TYPE_STRING); purple_signal_register(handle, "buddy-typed", purple_marshal_VOID__POINTER_POINTER, G_TYPE_NONE, 2, PURPLE_TYPE_ACCOUNT, G_TYPE_STRING); purple_signal_register(handle, "buddy-typing-stopped", purple_marshal_VOID__POINTER_POINTER, G_TYPE_NONE, 2, PURPLE_TYPE_ACCOUNT, G_TYPE_STRING); purple_signal_register(handle, "chat-user-joining", purple_marshal_BOOLEAN__POINTER_POINTER_UINT, G_TYPE_BOOLEAN, 3, PURPLE_TYPE_CHAT_CONVERSATION, G_TYPE_STRING, G_TYPE_UINT); purple_signal_register(handle, "chat-user-joined", purple_marshal_VOID__POINTER_POINTER_UINT_UINT, G_TYPE_NONE, 4, PURPLE_TYPE_CHAT_CONVERSATION, G_TYPE_STRING, G_TYPE_UINT, G_TYPE_BOOLEAN); purple_signal_register(handle, "chat-user-flags", purple_marshal_VOID__POINTER_UINT_UINT, G_TYPE_NONE, 3, PURPLE_TYPE_CHAT_USER, G_TYPE_UINT, G_TYPE_UINT); purple_signal_register(handle, "chat-user-leaving", purple_marshal_BOOLEAN__POINTER_POINTER_POINTER, G_TYPE_BOOLEAN, 3, PURPLE_TYPE_CHAT_CONVERSATION, G_TYPE_STRING, G_TYPE_STRING); purple_signal_register(handle, "chat-user-left", purple_marshal_VOID__POINTER_POINTER_POINTER, G_TYPE_NONE, 3, PURPLE_TYPE_CHAT_CONVERSATION, G_TYPE_STRING, G_TYPE_STRING); purple_signal_register(handle, "deleting-chat-user", purple_marshal_VOID__POINTER, G_TYPE_NONE, 1, PURPLE_TYPE_CHAT_USER); purple_signal_register(handle, "chat-inviting-user", purple_marshal_VOID__POINTER_POINTER_POINTER, G_TYPE_NONE, 3, PURPLE_TYPE_CHAT_CONVERSATION, G_TYPE_STRING, G_TYPE_POINTER); /* pointer to a string */ purple_signal_register(handle, "chat-invited-user", purple_marshal_VOID__POINTER_POINTER_POINTER, G_TYPE_NONE, 3, PURPLE_TYPE_CHAT_CONVERSATION, G_TYPE_STRING, G_TYPE_STRING); purple_signal_register(handle, "chat-invited", purple_marshal_INT__POINTER_POINTER_POINTER_POINTER_POINTER, G_TYPE_INT, 5, PURPLE_TYPE_ACCOUNT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER); purple_signal_register(handle, "chat-invite-blocked", purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_POINTER, G_TYPE_NONE, 5, PURPLE_TYPE_ACCOUNT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER); /* (GHashTable *) */ purple_signal_register(handle, "chat-joined", purple_marshal_VOID__POINTER, G_TYPE_NONE, 1, PURPLE_TYPE_CHAT_CONVERSATION); purple_signal_register(handle, "chat-join-failed", purple_marshal_VOID__POINTER_POINTER, G_TYPE_NONE, 2, PURPLE_TYPE_CONNECTION, G_TYPE_POINTER); purple_signal_register(handle, "chat-left", purple_marshal_VOID__POINTER, G_TYPE_NONE, 1, PURPLE_TYPE_CHAT_CONVERSATION); purple_signal_register(handle, "chat-topic-changed", purple_marshal_VOID__POINTER_POINTER_POINTER, G_TYPE_NONE, 3, PURPLE_TYPE_CHAT_CONVERSATION, G_TYPE_STRING, G_TYPE_STRING); purple_signal_register(handle, "cleared-message-history", purple_marshal_VOID__POINTER, G_TYPE_NONE, 1, PURPLE_TYPE_CONVERSATION); purple_signal_register(handle, "conversation-extended-menu", purple_marshal_VOID__POINTER_POINTER, G_TYPE_NONE, 2, PURPLE_TYPE_CONVERSATION, G_TYPE_POINTER); /* (GList **) */ }