X-Git-Url: http://git.maemo.org/git/?p=python-purple;a=blobdiff_plain;f=blist_cbs.pxd;h=3622ce17f5f992c4c9a55be5b9f15726e355ed63;hp=2e535a2df41ba26050bd3dfa6e0c67be05ebf1f3;hb=f43bb1fee1c9660e1e8f39640926a8ed2ad52715;hpb=7765cea20dbc8acb9724ed33db570f8d4f605a59 diff --git a/blist_cbs.pxd b/blist_cbs.pxd index 2e535a2..3622ce1 100644 --- a/blist_cbs.pxd +++ b/blist_cbs.pxd @@ -26,104 +26,106 @@ blist_cbs = {} cdef void __group_node_cb(blist.PurpleBlistNode *node, object callback): cdef blist.PurpleGroup *group = node - cdef char *name = NULL + cdef char *c_name = NULL - name = blist.c_purple_group_get_name(group) - if name == NULL: - name = "" + c_name = blist.c_purple_group_get_name(group) + if c_name == NULL: + name = None + else: + name = c_name currentsize = blist.c_purple_blist_get_group_size(group, False) totalsize = blist.c_purple_blist_get_group_size(group, True) online = blist.c_purple_blist_get_group_online_count(group) - try: - callback(node.type, name, totalsize, currentsize, online) - except KeyError: - pass + callback(node.type, name, totalsize, currentsize, online) cdef void __contact_node_cb(blist.PurpleBlistNode *node, object callback): cdef blist.PurpleContact *contact = node - cdef char *alias = NULL + cdef char *c_alias = NULL - alias = blist.c_purple_contact_get_alias(contact) - if alias == NULL: - alias = "" + c_alias = blist.c_purple_contact_get_alias(contact) + if c_alias == NULL: + alias = None + else: + alias = c_alias - try: - callback(node.type, alias, contact.totalsize, contact.currentsize, \ - contact.online) - except KeyError: - pass + callback(node.type, alias, contact.totalsize, contact.currentsize, \ + contact.online) cdef void __buddy_node_cb(blist.PurpleBlistNode *node, object callback): cdef blist.PurpleBuddy *buddy = node - cdef char *name = NULL - cdef char *alias = NULL + cdef char *c_name = NULL + cdef char *c_alias = NULL - name = blist.c_purple_buddy_get_name(buddy) - if name == NULL: - name = "" - alias = blist.c_purple_buddy_get_alias_only(buddy) - if alias == NULL: - alias = "" + c_name = blist.c_purple_buddy_get_name(buddy) + if c_name == NULL: + name = None + else: + name = c_name - try: - callback(node.type, name, alias) - except KeyError: - pass + c_alias = blist.c_purple_buddy_get_alias_only(buddy) + if c_alias == NULL: + alias = None + else: + alias = c_alias + + callback(node.type, name, alias) cdef void __chat_node_cb(blist.PurpleBlistNode *node, object callback): cdef blist.PurpleChat *chat = node - cdef char *name = NULL + cdef char *c_name = NULL - name = blist.c_purple_chat_get_name(chat) - if name == NULL: - name = "" + c_name = blist.c_purple_chat_get_name(chat) + if c_name == NULL: + name = None + else: + name = c_name - try: - callback(node.type, name) - except KeyError: - pass + callback(node.type, name) cdef void __other_node_cb(blist.PurpleBlistNode *node, object callback): - try: - callback(node.type) - except KeyError: - pass - -cdef void new_list (blist.PurpleBuddyList *list): - debug.c_purple_debug(debug.PURPLE_DEBUG_INFO, "blist", "new_list\n") - try: - (blist_cbs["new_list"])("new_list") - except KeyError: - pass - -cdef void new_node (blist.PurpleBlistNode *node): - debug.c_purple_debug(debug.PURPLE_DEBUG_INFO, "blist", "new_node\n") - try: + callback(node.type) + +cdef void new_list(blist.PurpleBuddyList *list): + """ + Sets UI-specific data on a buddy list. + """ + debug.purple_debug_info("blist", "%s", "new-list\n") + if blist_cbs.has_key("new-list"): + ( blist_cbs["new-list"])("new-list: TODO") + +cdef void new_node(blist.PurpleBlistNode *node): + """ + Sets UI-specific data on a node. + """ + debug.purple_debug_info("blist", "%s", "new-node\n") + if blist_cbs.has_key("new-node"): if node.type == blist.PURPLE_BLIST_GROUP_NODE: - __group_node_cb(node, blist_cbs["new_node"]) + __group_node_cb(node, blist_cbs["new-node"]) elif node.type == blist.PURPLE_BLIST_CONTACT_NODE: - __contact_node_cb(node, blist_cbs["new_node"]) + __contact_node_cb(node, blist_cbs["new-node"]) elif node.type == blist.PURPLE_BLIST_BUDDY_NODE: - __buddy_node_cb(node, blist_cbs["new_node"]) + __buddy_node_cb(node, blist_cbs["new-node"]) elif node.type == blist.PURPLE_BLIST_CHAT_NODE: - __chat_node_cb(node, blist_cbs["new_node"]) + __chat_node_cb(node, blist_cbs["new-node"]) elif node.type == blist.PURPLE_BLIST_OTHER_NODE: - __other_node_cb(node, blist_cbs["new_node"]) - except KeyError: - pass - -cdef void show (blist.PurpleBuddyList *list): - debug.c_purple_debug(debug.PURPLE_DEBUG_INFO, "blist", "show\n") - try: - (blist_cbs["show"])("show") - except KeyError: - pass - -cdef void update (blist.PurpleBuddyList *list, blist.PurpleBlistNode *node): - debug.c_purple_debug(debug.PURPLE_DEBUG_INFO, "blist", "update\n") - try: + __other_node_cb(node, blist_cbs["new-node"]) + +cdef void show(blist.PurpleBuddyList *list): + """ + The core will call this when it's finished doing its core stuff. + """ + debug.purple_debug_info("blist", "%s", "show\n") + if blist_cbs.has_key("show"): + ( blist_cbs["show"])("show: TODO") + +cdef void update(blist.PurpleBuddyList *list, blist.PurpleBlistNode *node): + """ + This will update a node in the buddy list. + """ + debug.purple_debug_info("blist", "%s", "update\n") + if blist_cbs.has_key("update"): if node.type == blist.PURPLE_BLIST_GROUP_NODE: __group_node_cb(node, blist_cbs["update"]) elif node.type == blist.PURPLE_BLIST_CONTACT_NODE: @@ -134,13 +136,13 @@ cdef void update (blist.PurpleBuddyList *list, blist.PurpleBlistNode *node): __chat_node_cb(node, blist_cbs["update"]) elif node.type == blist.PURPLE_BLIST_OTHER_NODE: __other_node_cb(node, blist_cbs["update"]) - except KeyError: - pass - -cdef void remove (blist.PurpleBuddyList *list, blist.PurpleBlistNode *node): - debug.c_purple_debug(debug.PURPLE_DEBUG_INFO, "blist", "remove\n") - try: +cdef void remove(blist.PurpleBuddyList *list, blist.PurpleBlistNode *node): + """ + This removes a node from the list. + """ + debug.purple_debug_info("blist", "%s", "remove\n") + if blist_cbs.has_key("remove"): if node.type == blist.PURPLE_BLIST_GROUP_NODE: __group_node_cb(node, blist_cbs["remove"]) elif node.type == blist.PURPLE_BLIST_CONTACT_NODE: @@ -151,44 +153,45 @@ cdef void remove (blist.PurpleBuddyList *list, blist.PurpleBlistNode *node): __chat_node_cb(node, blist_cbs["remove"]) elif node.type == blist.PURPLE_BLIST_OTHER_NODE: __other_node_cb(node, blist_cbs["remove"]) - except KeyError: - pass - -cdef void destroy (blist.PurpleBuddyList *list): - debug.c_purple_debug(debug.PURPLE_DEBUG_INFO, "blist", "destroy\n") - try: - (blist_cbs["destroy"])("destroy") - except KeyError: - pass - -cdef void set_visible (blist.PurpleBuddyList *list, glib.gboolean show): - debug.c_purple_debug(debug.PURPLE_DEBUG_INFO, "blist", "set_visible\n") - try: - (blist_cbs["set_visible"])("set_visible") - except KeyError: - pass - -cdef void request_add_buddy (account.PurpleAccount *acc, - const_char *username, const_char *group, - const_char *alias): - debug.c_purple_debug(debug.PURPLE_DEBUG_INFO, "blist", "request_add_buddy\n") - try: - (blist_cbs["request_add_buddy"])("request_add_buddy") - except KeyError: - pass - -cdef void request_add_chat (account.PurpleAccount *acc, - blist.PurpleGroup *group, const_char *alias, - const_char *name): - debug.c_purple_debug(debug.PURPLE_DEBUG_INFO, "blist", "request_add_chat\n") - try: - (blist_cbs["request_add_chat"])("request_add_chat") - except KeyError: - pass - -cdef void request_add_group (): - debug.c_purple_debug(debug.PURPLE_DEBUG_INFO, "blist", "request_add_group\n") - try: - (blist_cbs["request_add_chat"])("request_add_group") - except KeyError: - pass + +cdef void destroy(blist.PurpleBuddyList *list): + """ + When the list gets destroyed, this gets called to destroy the UI. + """ + debug.purple_debug_info("blist", "%s", "destroy\n") + if blist_cbs.has_key("destroy"): + ( blist_cbs["destroy"])("destroy: TODO") + +cdef void set_visible(blist.PurpleBuddyList *list, glib.gboolean show): + """ + Hides or unhides the buddy list. + """ + debug.purple_debug_info("blist", "%s", "set-visible\n") + if blist_cbs.has_key("set-visible"): + ( blist_cbs["set-visible"])("set-visible: TODO") + +cdef void request_add_buddy(account.PurpleAccount *acc, \ + const_char *username, const_char *group, const_char *alias): + """ + TODO + """ + debug.purple_debug_info("blist", "%s", "request-add-buddy\n") + if blist_cbs.has_key("request-add-buddy"): + ( blist_cbs["request-add-buddy"])("request-add-buddy: TODO") + +cdef void request_add_chat(account.PurpleAccount *acc, \ + blist.PurpleGroup *group, const_char *alias, const_char *name): + """ + TODO + """ + debug.purple_debug_info("blist", "%s", "request-add-chat\n") + if blist_cbs.has_key("request-add-chat"): + ( blist_cbs["request-add-chat"])("request-add-chat: TODO") + +cdef void request_add_group(): + """ + TODO + """ + debug.purple_debug_info("blist", "%s", "request-add-group\n") + if blist_cbs.has_key("request-add-chat"): + (blist_cbs["request-add-chat"])("request-add-group: TODO")