+ ctypedef struct PurpleAccountUiOps
+ ctypedef struct PurpleAccount
+
+ ctypedef glib.gboolean (*PurpleFilterAccountFunc) (PurpleAccount *account)
+ ctypedef void (*PurpleAccountRequestAuthorizationCb) (void *)
+ ctypedef void (*PurpleAccountRegistrationCb) (PurpleAccount *account, \
+ glib.gboolean succeeded, void *user_data)
+ ctypedef void (*PurpleAccountUnregistrationCb) (PurpleAccount *account, \
+ glib.gboolean succeeded, void *user_data)
+
+ ctypedef enum PurpleAccountRequestType:
+ PURPLE_ACCOUNT_REQUEST_AUTHORIZATION = 0
+
+ ctypedef struct PurpleAccountUiOps:
+ void (*notify_added) (PurpleAccount *account, const_char *remote_user, \
+ const_char *id, const_char *alias, const_char *message)
+ void (*status_changed) (PurpleAccount *account, PurpleStatus *status)
+ void (*request_add) (PurpleAccount *account, const_char *remote_user, \
+ const_char *id, const_char *alias, const_char *message)
+ void *(*request_authorize) (PurpleAccount *account, \
+ const_char *remote_user, const_char *id, const_char *alias, \
+ const_char *message, glib.gboolean on_list, \
+ PurpleAccountRequestAuthorizationCb authorize_cb, \
+ PurpleAccountRequestAuthorizationCb deny_cb, void *user_data)
+ void (*close_account_request) (void *ui_handle)
+