X-Git-Url: http://git.maemo.org/git/?p=python-purple;a=blobdiff_plain;f=libpurple%2Fstatus.pxd;h=41a9c017dd2962f8ba52c789f5a2c6a6530b2828;hp=56747e51d8b8f0550e02dac3aaabb930bec639c8;hb=573def76e068006d507f09ea1239fcd6d6adfae7;hpb=75837780a72525b0df66ca1e30a215b2fbdcb887;ds=sidebyside diff --git a/libpurple/status.pxd b/libpurple/status.pxd index 56747e5..41a9c01 100644 --- a/libpurple/status.pxd +++ b/libpurple/status.pxd @@ -19,14 +19,29 @@ cimport glib +cimport account +cimport blist +cimport conversation +cimport value + +cdef extern from *: + ctypedef char const_char "const char" + ctypedef long int time_t + cdef extern from "libpurple/status.h": + ctypedef struct PurpleStatusType + ctypedef struct PurpleStatusAttr + ctypedef struct PurplePresence ctypedef struct PurpleStatus - ctypedef struct PurplePresence: - pass + ctypedef enum PurplePresenceContext: + PURPLE_PRESENCE_CONTEXT_UNSET = 0 + PURPLE_PRESENCE_CONTEXT_ACCOUNT + PURPLE_PRESENCE_CONTEXT_CONV + PURPLE_PRESENCE_CONTEXT_BUDDY ctypedef enum PurpleStatusPrimitive: - PURPLE_STATUS_UNSET + PURPLE_STATUS_UNSET = 0 PURPLE_STATUS_OFFLINE PURPLE_STATUS_AVAILABLE PURPLE_STATUS_UNAVAILABLE @@ -35,6 +50,56 @@ cdef extern from "libpurple/status.h": PURPLE_STATUS_EXTENDED_AWAY PURPLE_STATUS_MOBILE PURPLE_STATUS_TUNE - PURPLE_STATUS_NUN_PRIMITIVE + PURPLE_STATUS_NUM_PRIMITIVES + + ctypedef struct PurpleStatusType: + PurpleStatusPrimitive primitive + char *id + char *name + char *primary_attr_id + glib.gboolean saveable + glib.gboolean user_settable + glib.gboolean independent + glib.GList *attrs + + ctypedef struct PurpleStatusAttr: + char *id + char *name + value.PurpleValue *value_type + + ctypedef struct __ChatType: + conversation.PurpleConversation *conv + char *user + + ctypedef struct __BuddyType: + account.PurpleAccount *account + char *name + blist.PurpleBuddy *buddy + + ctypedef union __UnionType: + account.PurpleAccount *account + __ChatType chat + __BuddyType buddy + + ctypedef struct PurplePresence: + PurplePresenceContext context + glib.gboolean idle + time_t idle_time + time_t login_time + glib.GList *statuses + glib.GHashTable *status_table + PurpleStatus *active_status + __UnionType u + + ctypedef struct PurpleStatus: + PurpleStatusType *type + PurplePresence *presence + const_char *title + glib.gboolean active + glib.GHashTable *attr_values + + ctypedef struct PurpleStatusBuddyKey: + account.PurpleAccount *account + char *name glib.gboolean c_purple_presence_is_online "purple_presence_is_online" (PurplePresence *presence)