cimport glib
-cimport proxy
-cimport status
-
cdef extern from *:
ctypedef char const_char "const char"
+# hack to avoid recursive loops by cython
+cdef extern from "libpurple/connection.h":
+ ctypedef struct PurpleConnection:
+ pass
+
+cdef extern from "libpurple/log.h":
+ ctypedef struct PurpleLog:
+ pass
+
+cdef extern from "libpurple/proxy.h":
+ ctypedef struct PurpleProxyInfo:
+ pass
+
+cdef extern from "libpurple/status.h":
+ ctypedef struct PurpleStatus:
+ pass
+
+ ctypedef struct PurplePresence:
+ pass
+
cdef extern from "libpurple/account.h":
+ 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 struct PurpleAccount:
- char *username
- char *alias
- char *password
- char *user_info
- char *buddy_icon_path
- glib.gboolean remember_pass
- char *protocol_id
+ 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, \
- status.PurpleStatus *status)
+ 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, \
PurpleAccountRequestAuthorizationCb deny_cb, void *user_data)
void (*close_account_request) (void *ui_handle)
+ ctypedef struct PurpleAccount:
+ char *username
+ char *alias
+ char *password
+ char *user_info
+ char *buddy_icon_path
+ glib.gboolean remember_pass
+ char *protocol_id
+ PurpleConnection *gc
+ glib.gboolean disconnecting
+ glib.GHashTable *settings
+ glib.GHashTable *ui_settings
+ PurpleProxyInfo *proxy_info
+ glib.GSList *permit
+ glib.GSList *deny
+ int perm_deny
+ PurplePresence *presence
+ PurpleLog *system_log
+ void *ui_data
+ PurpleAccountRegistrationCb registration_cb
+ void *registration_cb_user_data
+ glib.gpointer priv
+
PurpleAccount *c_purple_account_new "purple_account_new" \
(char *username, char *protocol_id)
void c_purple_account_set_password "purple_account_set_password" \
(PurpleAccountUiOps *ops)
glib.gboolean c_purple_account_is_connected "purple_account_is_connected" \
(PurpleAccount *account)
- proxy.PurpleProxyInfo *c_purple_account_get_proxy_info \
+ PurpleProxyInfo *c_purple_account_get_proxy_info \
"purple_account_get_proxy_info" (PurpleAccount *account)
void c_purple_account_set_proxy_info "purple_account_set_proxy_info" \
- (PurpleAccount *account, proxy.PurpleProxyInfo *info)
+ (PurpleAccount *account, PurpleProxyInfo *info)
+ char *c_purple_account_get_string "purple_account_get_string" \
+ (PurpleAccount *account, char *name, char *default_value)
+ int c_purple_account_get_int "purple_account_get_int" \
+ (PurpleAccount *account, char *name, int default_value)
+ glib.gboolean c_purple_account_get_bool "purple_account_get_bool" \
+ (PurpleAccount *account, char *name, glib.gboolean default_value)
+ void c_purple_account_clear_settings "purple_account_clear_settings" \
+ (PurpleAccount *account)
+ void c_purple_account_set_int "purple_account_set_int" \
+ (PurpleAccount *account, char *name, int value)
+ void c_purple_account_set_string "purple_account_set_string" \
+ (PurpleAccount *account, char *name, char *value)
+ void c_purple_account_set_bool "purple_account_set_bool" \
+ (PurpleAccount *account, char *name, glib.gboolean value)