From dd446d6d03c2c550010993a4e949007c242ecbe7 Mon Sep 17 00:00:00 2001 From: Ragner Magalhaes Date: Tue, 2 Dec 2008 20:49:46 +0000 Subject: [PATCH] Struct Callbacks for blist_cb. (UPDATE) FIXES: - Add blist_cb on nullclient-ecore. - Add new struct callbacks for blist_cb on purple.pyx. Signed-off-by: Ricardo Guimaraes Signed-off-by: Ragner Magalhaes git-svn-id: https://garage.maemo.org/svn/carman/branches/carman-0.7-beta2/python-purple@1357 596f6dd7-e928-0410-a184-9e12fd12cf7e --- nullclient-ecore.py | 23 ++++++----------------- purple.pyx | 6 ++++-- 2 files changed, 10 insertions(+), 19 deletions(-) diff --git a/nullclient-ecore.py b/nullclient-ecore.py index 72cc655..6cba3f8 100644 --- a/nullclient-ecore.py +++ b/nullclient-ecore.py @@ -3,8 +3,6 @@ import ecore import purple cbs = {} -acc_cbs = {} -blist_cbs = {} conn_cbs = {} conv_cbs = {} notify_cbs = {} @@ -16,19 +14,6 @@ def account_callback(name): def blist_callback(name): print "---- blist callback example: %s" % name -#blist_cbs["new_list"] = blist_callback -#blist_cbs["new_node"] = blist_callback -#blist_cbs["show"] = blist_callback -#blist_cbs["update"] = blist_callback -#blist_cbs["remove"] = blist_callback -#blist_cbs["destroy"] = blist_callback -blist_cbs["set_visible"] = blist_callback -blist_cbs["request_add_buddy"] = blist_callback -blist_cbs["request_add_chat"] = blist_callback -blist_cbs["request_add_group"] = blist_callback - -cbs["blist"] = blist_cbs - def conn_callback(name): print "---- connection callback example: %s" % name @@ -268,8 +253,6 @@ class NullClientPurple: self.protocol_id = "prpl-jabber" self.accs = None - global cbs - cbs["blist"]["update"] = self._purple_update_blist_cb self.p.add_account_cb("notify_added", account_callback) self.p.add_account_cb("status_changed", account_callback) @@ -277,6 +260,12 @@ class NullClientPurple: self.p.add_account_cb("request_authorize", account_callback) self.p.add_account_cb("close_account_request", account_callback) + self.p.add_blist_cb("set_visible", blist_callback) + self.p.add_blist_cb("request_add_buddy", blist_callback) + self.p.add_blist_cb("request_add_chat", blist_callback) + self.p.add_blist_cb("request_add_group", blist_callback) + self.p.add_blist_cb("update", self._purple_update_blist_cb) + self.p.purple_init(cbs) #Initializing UI diff --git a/purple.pyx b/purple.pyx index 36e01de..54be931 100644 --- a/purple.pyx +++ b/purple.pyx @@ -141,13 +141,11 @@ cdef class Purple: """ Initializes libpurple """ if callbacks_dict is not None: - global blist_cbs global connection_cbs global conversation_cbs global notify_cbs global request_cbs - blist_cbs = callbacks_dict["blist"] connection_cbs = callbacks_dict["connection"] conversation_cbs = callbacks_dict["conversation"] notify_cbs = callbacks_dict["notify"] @@ -257,6 +255,10 @@ cdef class Purple: global account_cbs account_cbs[name] = func + def add_blist_cb(self, name, func): + global blist_cbs + blist_cbs[name] = func + def connect(self): conn = Connection() conn.connect() -- 1.7.9.5