X-Git-Url: http://git.maemo.org/git/?p=python-purple;a=blobdiff_plain;f=libpurple%2Frequest.pxd;h=9289520b8a0f274a3f1dd5e7307719b217cbd288;hp=f575125a0d44d95a921ec1c8c4405794a985b83f;hb=eb50d7687be6be199a85cc91292e5ac45713a6cd;hpb=f159e4e85c40eec62070f297af3fd54646dba4b0 diff --git a/libpurple/request.pxd b/libpurple/request.pxd index f575125..9289520 100644 --- a/libpurple/request.pxd +++ b/libpurple/request.pxd @@ -17,8 +17,103 @@ # along with this program. If not, see . # +cimport glib + +cimport account +cimport conversation + +cdef extern from *: + ctypedef char const_char "const char" + ctypedef int size_t + ctypedef void* va_list + cdef extern from "libpurple/request.h": - ctypedef struct PurpleRequestUiOps: + ctypedef enum PurpleRequestType: + PURPLE_REQUEST_INPUT = 0 + PURPLE_REQUEST_CHOICE + PURPLE_REQUEST_ACTION + PURPLE_REQUEST_FIELDS + PURPLE_REQUEST_FILE + PURPLE_REQUEST_FOLDER + + ctypedef enum PurpleRequestFieldType: + PURPLE_REQUEST_FIELD_NONE + PURPLE_REQUEST_FIELD_STRING + PURPLE_REQUEST_FIELD_INTEGER + PURPLE_REQUEST_FIELD_BOOLEAN + PURPLE_REQUEST_FIELD_CHOICE + PURPLE_REQUEST_FIELD_LIST + PURPLE_REQUEST_FIELD_LABEL + PURPLE_REQUEST_FIELD_IMAGE + PURPLE_REQUEST_FIELD_ACCOUNT + + ctypedef struct PurpleRequestFields: + glib.GList *groups + glib.GHashTable *fields + glib.GList required_fields + void *ui_data + + ctypedef struct PurpleRequestFieldGroup: + PurpleRequestFields *fields_list + char *title + glib.GList *fields + + ctypedef struct PurpleRequestField: pass - void c_purple_request_set_ui_ops "purple_request_set_ui_ops" (PurpleRequestUiOps *ops) + ctypedef struct PurpleRequestUiOps: + void *(*request_input) (const_char *title, const_char *primary, + const_char *secondary, + const_char *default_value, + glib.gboolean multiline, glib.gboolean masked, + glib.gchar *hint, const_char *ok_text, + glib.GCallback ok_cb, const_char *cancel_text, + glib.GCallback cancel_cb, + account.PurpleAccount *account, + const_char *who, + conversation.PurpleConversation *conv, + void *user_data) + void *(*request_choice) (const_char *title, const_char *primary, + const_char *secondary, int default_value, + const_char *ok_text, glib.GCallback ok_cb, + const_char *cancel_text, + glib.GCallback cancel_cb, + account.PurpleAccount *account, + const_char *who, + conversation.PurpleConversation *conv, + void *user_data, va_list choices) + void *(*request_action) (const_char *title, const_char *primary, + const_char *secondary, int default_action, + account.PurpleAccount *account, + const_char *who, + conversation.PurpleConversation *conv, + void *user_data, size_t action_count, + va_list actions) + void *(*request_fields) (const_char *title, const_char *primary, + const_char *secondary, + PurpleRequestFields *fields, + const_char *ok_text, glib.GCallback ok_cb, + const_char *cancel_text, + glib.GCallback cancel_cb, + account.PurpleAccount *account, + const_char *who, + conversation.PurpleConversation *conv, + void *user_data) + void *(*request_file) (const_char *title, const_char *filename, + glib.gboolean savedialog, glib.GCallback ok_cb, + glib.GCallback cancel_cb, + account.PurpleAccount *account, + const_char *who, + conversation.PurpleConversation *conv, + void *user_data) + void (*close_request) (PurpleRequestType type, void *ui_handle) + void *(*request_folder) (const_char *title, const_char *dirname, + glib.GCallback ok_cb, + glib.GCallback cancel_cb, + account.PurpleAccount *account, + const_char *who, + conversation.PurpleConversation *conv, + void *user_data) + + void purple_request_close(PurpleRequestType type, void *uihandle) + void purple_request_set_ui_ops(PurpleRequestUiOps *ops)