X-Git-Url: http://git.maemo.org/git/?p=python-purple;a=blobdiff_plain;f=signal_cbs.pxd;h=8155b745634759f90cadc8490035ed3e1eedb51d;hp=00369e8509de02607ff9effd306abaeba1427054;hb=df4a5bcd4de039784ad2abbd8c82d1b934bc0203;hpb=3ac088be4b86dfb87718586f7a095f88b566ce42;ds=sidebyside diff --git a/signal_cbs.pxd b/signal_cbs.pxd index 00369e8..8155b74 100644 --- a/signal_cbs.pxd +++ b/signal_cbs.pxd @@ -22,21 +22,51 @@ cimport purple signal_cbs = {} cdef void signal_buddy_signed_off_cb (blist.PurpleBuddy *buddy): - debug.c_purple_debug(debug.PURPLE_DEBUG_INFO, "signal", - "buddy_signed_off\n") + cdef char *c_name = NULL + cdef char *c_alias = NULL + + c_name = blist.c_purple_buddy_get_name(buddy) + if c_name == NULL: + name = None + else: + name = c_name + + c_alias = blist.c_purple_buddy_get_alias_only(buddy) + if c_alias == NULL: + alias = None + else: + alias = c_alias + try: - (signal_cbs["buddy_signed_off"])(buddy.name) + ( signal_cbs["buddy-signed-off"])(name, alias) except KeyError: pass cdef glib.gboolean signal_receiving_im_msg_cb (account.PurpleAccount *account, - char **sender, - char **message, - conversation.PurpleConversation *conv, - conversation.PurpleMessageFlags *flags): - debug.c_purple_debug(debug.PURPLE_DEBUG_INFO, "signal", - "receivinv_im_msg_cb\n") + char **sender, char **message, conversation.PurpleConversation *conv, + conversation.PurpleMessageFlags *flags): + cdef blist.PurpleBuddy *buddy = blist.c_purple_find_buddy(account, sender[0]) + cdef char *c_alias = NULL + + c_alias = blist.c_purple_buddy_get_alias_only(buddy) + if c_alias == NULL: + alias = None + else: + alias = c_alias + + stripped = util.c_purple_markup_strip_html(message[0]) + + try: + return ( signal_cbs["receiving-im-msg"])(sender[0], alias, stripped) + except KeyError: + return False + +cdef void jabber_receiving_xmlnode_cb (connection.PurpleConnection *gc, + xmlnode.xmlnode **packet, glib.gpointer null): + + message = xmlnode.xmlnode_to_str(packet[0], NULL) + try: - (signal_cbs["receiving_im_msg"])(sender[0], message[0]) + ( signal_cbs["jabber-receiving-xmlnode"])(message) except KeyError: pass