X-Git-Url: http://git.maemo.org/git/?p=python-purple;a=blobdiff_plain;f=purple.pyx;h=62f441b36161ef6d5d0f22802cf4e72c06d5283d;hp=bd2bed5a1020098c787b44c51b61572091da065b;hb=1c455c44923358f678cb51d1b5f3bbe5a4d51f99;hpb=22ed5fb55427ef6c065ce5899606cb238c97997b diff --git a/purple.pyx b/purple.pyx index bd2bed5..62f441b 100644 --- a/purple.pyx +++ b/purple.pyx @@ -51,6 +51,7 @@ include "conversation_cbs.pxd" include "notify_cbs.pxd" include "request_cbs.pxd" #include "roomlist_cbs.pxd" +include "signal_cbs.pxd" cdef class Purple: """ Purple class. @@ -72,7 +73,7 @@ cdef class Purple: plugin.c_purple_plugins_add_search_path(default_path) # adds glib iteration inside ecore main loop - ecore.idler_add(self.__glib_iteration_when_idle) + ecore.timer_add(0.001, self.__glib_iteration_when_idle) def __del__(self): core.c_purple_core_quit() @@ -260,6 +261,22 @@ cdef class Purple: conn = Connection() conn.connect() + def attach_signals(self, __signal_cbs=None): + if __signal_cbs is not None: + global signal_cbs + signal_cbs = __signal_cbs + + cdef int handle + + signals.c_purple_signal_connect(blist.c_purple_blist_get_handle(), + "buddy-signed-off", &handle, + signal_buddy_signed_off_cb, NULL) + + signals.c_purple_signal_connect( + conversation.c_purple_conversations_get_handle(), + "receiving-im-msg", &handle, + signal_receiving_im_msg_cb, NULL) + include "proxy.pyx" include "account.pyx" include "buddy.pyx"