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
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
pass
ctypedef struct PurpleBuddyList:
- pass
+ PurpleBlistNode *root
+ glib.GHashTable *buddies
+ void *ui_data
ctypedef struct PurpleBlistUiOps:
void (*new_list) (PurpleBuddyList *list)
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)