Adding Classes Plugin and PluginInfo
[python-purple] / libpurple / blist.pxd
index 6176877..61167d9 100644 (file)
 cimport glib
 
 cimport account
-cimport status
 
 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
@@ -45,12 +49,20 @@ cdef extern from "libpurple/blist.h":
         PURPLE_BLIST_NODE_FLAG_NO_SAVE = 1 << 0
 
     ctypedef struct PurpleBlistNode:
-        pass
+        PurpleBlistNodeType type
+        PurpleBlistNode *prev
+        PurpleBlistNode *next
+        PurpleBlistNode *parent
+        PurpleBlistNode *child
+        glib.GHashTable *settings
+        void *ui_data
+        PurpleBlistNodeFlags flags
 
     ctypedef struct PurpleBuddy:
         char *name
         char *alias
         char *server_alias
+        void *proto_data
 
     ctypedef struct PurpleContact:
         pass
@@ -62,7 +74,9 @@ cdef extern from "libpurple/blist.h":
         pass
 
     ctypedef struct PurpleBuddyList:
-        pass
+        PurpleBlistNode *root
+        glib.GHashTable *buddies
+        void *ui_data
 
     ctypedef struct PurpleBlistUiOps:
         void (*new_list) (PurpleBuddyList *list)
@@ -89,4 +103,4 @@ cdef extern from "libpurple/blist.h":
     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)