X-Git-Url: http://git.maemo.org/git/?p=python-purple;a=blobdiff_plain;f=libpurple%2Fstatus.pxd;h=41a9c017dd2962f8ba52c789f5a2c6a6530b2828;hp=27131587f2fa5540a57f9e3c389ccf9dc4a4b62c;hb=573def76e068006d507f09ea1239fcd6d6adfae7;hpb=26e6c93524a3aebf8bff921ca5a6637a6f50cf6c;ds=sidebyside diff --git a/libpurple/status.pxd b/libpurple/status.pxd index 2713158..41a9c01 100644 --- a/libpurple/status.pxd +++ b/libpurple/status.pxd @@ -17,10 +17,89 @@ # along with this program. If not, see . # +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 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 = 0 + PURPLE_STATUS_OFFLINE + PURPLE_STATUS_AVAILABLE + PURPLE_STATUS_UNAVAILABLE + PURPLE_STATUS_INVISIBLE + PURPLE_STATUS_AWAY + PURPLE_STATUS_EXTENDED_AWAY + PURPLE_STATUS_MOBILE + PURPLE_STATUS_TUNE + 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: - pass + 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 int PurpleStatusPrimitive + ctypedef struct PurpleStatusBuddyKey: + account.PurpleAccount *account + char *name - gboolean c_purple_presence_is_online "purple_presence_is_online" (PurplePresence *presence) + glib.gboolean c_purple_presence_is_online "purple_presence_is_online" (PurplePresence *presence)