Example #1
0
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;
}
Example #2
0
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;
}