X-Git-Url: http://git.maemo.org/git/?p=python-purple;a=blobdiff_plain;f=libpurple%2Fblist.pxd;h=bfebb18dd5b5b442154ae4f6b3f8fc80197aa15a;hp=6176877e4f1dcd4273bf5c0d777f3ab95d960e0f;hb=67776a7b4725730be59aa1c1a8347385301e0771;hpb=c91fe1b6caf0ae1339fba5435b70d27fcffbe5fa;ds=sidebyside diff --git a/libpurple/blist.pxd b/libpurple/blist.pxd index 6176877..bfebb18 100644 --- a/libpurple/blist.pxd +++ b/libpurple/blist.pxd @@ -20,11 +20,16 @@ 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 @@ -45,24 +50,50 @@ 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 + 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: - pass + PurpleBlistNode *root + glib.GHashTable *buddies + void *ui_data ctypedef struct PurpleBlistUiOps: void (*new_list) (PurpleBuddyList *list) @@ -89,4 +120,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)