Fixing cython error to purple_account_set_status bind
[python-purple] / libpurple / blist.pxd
index d3ccf07..4954f3f 100644 (file)
 cimport glib
 
 cimport account
-cimport status
+cimport buddyicon
 
 cdef extern from *:
     ctypedef char const_char "const char"
 
+# hack to avoid recursive loops by cython
+cdef extern from "libpurple/status.h":
+    ctypedef struct PurplePresence:
+        pass
+
 cdef extern from "libpurple/blist.h":
     ctypedef struct PurpleBuddyList
     ctypedef struct PurpleBlistUiOps
@@ -59,15 +64,31 @@ cdef extern from "libpurple/blist.h":
         char *alias
         char *server_alias
         void *proto_data
+        buddyicon.PurpleBuddyIcon *icon
+        account.PurpleAccount *account
+        PurplePresence *presence
 
     ctypedef struct PurpleContact:
-        pass
+        PurpleBlistNode node
+        char *alias
+        int totalsize
+        int currentsize
+        int online
+        PurpleBuddy *priority
+        glib.gboolean priority_valid
 
     ctypedef struct PurpleGroup:
-        pass
+        PurpleBlistNode node
+        char *name
+        int totalsize
+        int currentsize
+        int online
 
     ctypedef struct PurpleChat:
-        pass
+        PurpleBlistNode node
+        char *alias
+        glib.GHashTable *components
+        account.PurpleAccount *account
 
     ctypedef struct PurpleBuddyList:
         PurpleBlistNode *root
@@ -89,14 +110,22 @@ cdef extern from "libpurple/blist.h":
     void *c_purple_blist_get_handle "purple_blist_get_handle" ()
     void c_purple_blist_load "purple_blist_load" ()
     PurpleBuddyList* c_purple_blist_new "purple_blist_new" ()
+    PurpleBlistNodeType c_purple_blist_node_get_type \
+            "purple_blist_node_get_type" (PurpleBlistNode *node)
+    int c_purple_blist_get_group_size "purple_blist_get_group_size" \
+            (PurpleGroup *group, glib.gboolean offline)
+    int c_purple_blist_get_group_online_count \
+            "purple_blist_get_group_online_count" (PurpleGroup *group)
     void c_purple_blist_set_ui_ops "purple_blist_set_ui_ops" (PurpleBlistUiOps *ops)
-
+    const_char *c_purple_chat_get_name "purple_chat_get_name" (PurpleChat *chat)
+    const_char *c_purple_contact_get_alias "purple_contact_get_alias" (PurpleContact *contact)
+    const_char *c_purple_group_get_name "purple_group_get_name" (PurpleGroup *group)
     PurpleBuddy *c_purple_buddy_new "purple_buddy_new" (account.PurpleAccount *account,
             char *screenname, char *alias)
-    char *c_purple_buddy_get_alias_only "purple_buddy_get_alias_only" (PurpleBuddy *buddy)
-    char *c_purple_buddy_get_name "purple_buddy_get_name" (PurpleBuddy *buddy)
+    const_char *c_purple_buddy_get_alias_only "purple_buddy_get_alias_only" (PurpleBuddy *buddy)
+    const_char *c_purple_buddy_get_name "purple_buddy_get_name" (PurpleBuddy *buddy)
     PurpleBuddy *c_purple_find_buddy "purple_find_buddy" (account.PurpleAccount *account, char *name)
     void c_purple_set_blist "purple_set_blist" (PurpleBuddyList *list)
     glib.GSList *c_purple_find_buddies "purple_find_buddies" (account.PurpleAccount *account, char *name)
     account.PurpleAccount *c_purple_buddy_get_account "purple_buddy_get_account" (PurpleBuddy *buddy)
-    status.PurplePresence *c_purple_buddy_get_presence "purple_buddy_get_presence" (PurpleBuddy *buddy)
+    PurplePresence *c_purple_buddy_get_presence "purple_buddy_get_presence" (PurpleBuddy *buddy)