grim/pidgin

Define a new signal 'jabber-message-delivered'

2015-06-23, Koosha Khajehmoogahi
167e69a881ee
Parents d848d5003e4b
Children b7032e60b614
Define a new signal 'jabber-message-delivered'
--- a/libpurple/plugins/signals-test.c Tue Jun 23 04:16:41 2015 +0200
+++ b/libpurple/plugins/signals-test.c Tue Jun 23 04:19:25 2015 +0200
@@ -692,6 +692,12 @@
return TRUE;
}
+static void
+jabber_message_delivered(PurpleConnection *pc, const char *id)
+{
+ purple_debug_misc("signals test", "jabber message delivered (id=%s)\n", id);
+}
+
/**************************************************************************
* Plugin stuff
**************************************************************************/
@@ -888,6 +894,8 @@
purple_signal_connect(jabber_handle, "jabber-watched-iq", plugin,
PURPLE_CALLBACK(jabber_watched_iq), NULL);
+ purple_signal_connect(jabber_handle, "jabber-message-delivered", plugin,
+ PURPLE_CALLBACK(jabber_message_delivered), NULL);
}
return TRUE;
--- a/libpurple/protocols/jabber/jabber.c Tue Jun 23 04:16:41 2015 +0200
+++ b/libpurple/protocols/jabber/jabber.c Tue Jun 23 04:19:25 2015 +0200
@@ -4122,6 +4122,12 @@
G_TYPE_STRING, /* type */
G_TYPE_STRING, /* from */
PURPLE_TYPE_XMLNODE);
+
+ purple_signal_register(protocol, "jabber-message-delivered",
+ purple_marshal_VOID__POINTER_POINTER,
+ G_TYPE_NONE, 2,
+ PURPLE_TYPE_CONNECTION,
+ G_TYPE_STRING); /* id */
}
static void jabber_uninit_protocol(PurpleProtocol *protocol)
--- a/libpurple/protocols/jabber/message.c Tue Jun 23 04:16:41 2015 +0200
+++ b/libpurple/protocols/jabber/message.c Tue Jun 23 04:19:25 2015 +0200
@@ -77,6 +77,7 @@
pending_msg = (JabberMessage *) g_hash_table_lookup(pending_receipts, jm->id);
if (pending_msg != NULL) {
g_hash_table_remove(pending_receipts, jm->id);
+ purple_signal_emit(purple_connection_get_protocol(jm->js->gc), "jabber-message-delivered", jm->js->gc, jm->id);
return TRUE;
}