X-Git-Url: http://git.maemo.org/git/?p=python-purple;a=blobdiff_plain;f=libpurple%2Fstatus.pxd;h=67cf1755029f8d63bbd4a76ea82ecc0c30d6491e;hp=23269065d6db1c94cc108e17c5c2a13f2ae0d675;hb=60e2bde48e3f6f4f451f1fae7fc0122b6d1e9f72;hpb=af63bece9d35071de457b059b60c97e9795fcb88 diff --git a/libpurple/status.pxd b/libpurple/status.pxd index 2326906..67cf175 100644 --- a/libpurple/status.pxd +++ b/libpurple/status.pxd @@ -17,8 +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 struct PurpleStatusBuddyKey: + account.PurpleAccount *account + char *name - ctypedef int PurpleStatusPrimitive + glib.gboolean purple_presence_is_online(PurplePresence *presence)