From: Ragner Magalhaes Date: Tue, 2 Dec 2008 20:38:14 +0000 (+0000) Subject: Fix for accountopt, cosmetics and fix for union definition. X-Git-Url: http://git.maemo.org/git/?p=python-purple;a=commitdiff_plain;h=bd2d05ae6e1d133cd48429a25ff3dbce9c949571;ds=sidebyside Fix for accountopt, cosmetics and fix for union definition. FIXES: - account.pxd should not link to any other .pxd that belongs to libpurple, since it can cause redundancy problems to cython. - Moved all accountopt code to accountopt.pxd. - Fixed union definition in PurpleAccountOption. - Small cosmetics at end of some code lines. Signed-off-by: Bruno Abinader git-svn-id: https://garage.maemo.org/svn/carman/branches/carman-0.7-beta2/python-purple@1329 596f6dd7-e928-0410-a184-9e12fd12cf7e --- diff --git a/account.pyx b/account.pyx index 80b0b0e..1ae9d40 100644 --- a/account.pyx +++ b/account.pyx @@ -86,7 +86,7 @@ cdef class Account: def get_protocol_options(self): ''' FIXME: It is just a hack, to set the XMPP's options. ''' cdef glib.GList *iter - cdef account.PurpleAccountOption *option + cdef accountopt.PurpleAccountOption *option cdef prefs.PurplePrefType type cdef const_char *label_name cdef const_char *str_value @@ -95,12 +95,12 @@ cdef class Account: cdef glib.gboolean bool_value iter = self.c_prpl_info.protocol_options while iter: - option = iter.data - type = account.c_purple_account_option_get_type(option) - label_name = account.c_purple_account_option_get_text(option) - setting = account.c_purple_account_option_get_setting(option) + option = iter.data + type = accountopt.c_purple_account_option_get_type(option) + label_name = accountopt.c_purple_account_option_get_text(option) + setting = accountopt.c_purple_account_option_get_setting(option) if type == prefs.PURPLE_PREF_STRING: - str_value = account.c_purple_account_option_get_default_string(option) + str_value = accountopt.c_purple_account_option_get_default_string(option) # Google Talk default domain hackery! if str_value == NULL and str( label_name) == "Connect server": @@ -111,21 +111,21 @@ cdef class Account: account.c_purple_account_set_string(self.__account, setting, str_value ); elif type == prefs.PURPLE_PREF_INT: - int_value = account.c_purple_account_option_get_default_int(option) + int_value = accountopt.c_purple_account_option_get_default_int(option) if self.__account != NULL: int_value = account.c_purple_account_get_int(self.__account, setting, int_value) if str( setting) == "port": account.c_purple_account_set_int(self.__account, setting, 443); elif type == prefs.PURPLE_PREF_BOOLEAN: - bool_value = account.c_purple_account_option_get_default_bool(option) + bool_value = accountopt.c_purple_account_option_get_default_bool(option) if self.__account != NULL: bool_value = account.c_purple_account_get_bool(self.__account, setting, bool_value) if str( setting) == "old_ssl": account.c_purple_account_set_bool(self.__account, setting, True); elif type == prefs.PURPLE_PREF_STRING_LIST: - str_value = account.c_purple_account_option_get_default_list_value(option) + str_value = accountopt.c_purple_account_option_get_default_list_value(option) if self.__account != NULL: str_value = account.c_purple_account_get_string(self.__account, setting, str_value) diff --git a/libpurple/account.pxd b/libpurple/account.pxd index d656b2e..20b8440 100644 --- a/libpurple/account.pxd +++ b/libpurple/account.pxd @@ -18,7 +18,6 @@ # cimport glib -cimport prefs cdef extern from *: ctypedef char const_char "const char" @@ -43,52 +42,30 @@ cdef extern from "libpurple/status.h": ctypedef struct PurplePresence: pass -cdef extern from "libpurple/accountopt.h": - ctypedef struct PurpleAccountOption: - prefs.PurplePrefType type - char *text - char *pref_name - #union - #{ - # gboolean boolean - # int integer - # char *string - # GList *list - #} default_value; - glib.gboolean masked - - prefs.PurplePrefType c_purple_account_option_get_type "purple_account_option_get_type" (PurpleAccountOption *option) - char *c_purple_account_option_get_setting "purple_account_option_get_setting" (PurpleAccountOption *option) - char *c_purple_account_option_get_default_string "purple_account_option_get_default_string" (PurpleAccountOption *option) - int c_purple_account_option_get_default_int "purple_account_option_get_default_int" (PurpleAccountOption *option) - glib.gboolean c_purple_account_option_get_default_bool "purple_account_option_get_default_bool" (PurpleAccountOption *option) - const_char *c_purple_account_option_get_default_list_value "purple_account_option_get_default_list_value" (PurpleAccountOption *option) - const_char *c_purple_account_option_get_text "purple_account_option_get_text" (PurpleAccountOption *option) - 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,\ + ctypedef void (*PurpleAccountRegistrationCb) (PurpleAccount *account, \ glib.gboolean succeeded, void *user_data) - ctypedef void (*PurpleAccountUnregistrationCb) (PurpleAccount *account,\ + 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,\ + 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,\ + 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,\ + 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) @@ -115,38 +92,38 @@ cdef extern from "libpurple/account.h": void *registration_cb_user_data glib.gpointer priv - PurpleAccount *c_purple_account_new "purple_account_new"\ + PurpleAccount *c_purple_account_new "purple_account_new" \ (char *username, char *protocol_id) - void c_purple_account_set_password "purple_account_set_password"\ + void c_purple_account_set_password "purple_account_set_password" \ (PurpleAccount *account, char *password) - char *c_purple_account_get_password "purple_account_get_password"\ + char *c_purple_account_get_password "purple_account_get_password" \ (PurpleAccount *account) - void c_purple_account_set_enabled "purple_account_set_enabled"\ + void c_purple_account_set_enabled "purple_account_set_enabled" \ (PurpleAccount *account, char *ui, glib.gboolean value) - char *c_purple_account_get_username "purple_account_get_username"\ + char *c_purple_account_get_username "purple_account_get_username" \ (PurpleAccount *account) - glib.GList *c_purple_accounts_get_all_active\ + glib.GList *c_purple_accounts_get_all_active \ "purple_accounts_get_all_active" () - void c_purple_accounts_set_ui_ops "purple_accounts_set_ui_ops"\ + void c_purple_accounts_set_ui_ops "purple_accounts_set_ui_ops" \ (PurpleAccountUiOps *ops) - glib.gboolean c_purple_account_is_connected "purple_account_is_connected"\ + glib.gboolean c_purple_account_is_connected "purple_account_is_connected" \ (PurpleAccount *account) - 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"\ + void c_purple_account_set_proxy_info "purple_account_set_proxy_info" \ (PurpleAccount *account, PurpleProxyInfo *info) - char *c_purple_account_get_string "purple_account_get_string"\ + 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"\ + 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"\ + 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"\ + void c_purple_account_clear_settings "purple_account_clear_settings" \ (PurpleAccount *account) - void c_purple_account_set_int "purple_account_set_int"\ + 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"\ + 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"\ + void c_purple_account_set_bool "purple_account_set_bool" \ (PurpleAccount *account, char *name, glib.gboolean value) diff --git a/libpurple/accountopt.pxd b/libpurple/accountopt.pxd new file mode 100644 index 0000000..1de76fc --- /dev/null +++ b/libpurple/accountopt.pxd @@ -0,0 +1,48 @@ +# +# Copyright (c) 2008 INdT - Instituto Nokia de Tecnologia +# +# This file is part of python-purple. +# +# python-purple is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# python-purple is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +cimport glib + +cimport prefs + +cdef extern from *: + ctypedef char const_char "const char" + +cdef extern from "libpurple/accountopt.h": + + ctypedef struct UnionType: + glib.gboolean boolean + int integer + char *string + glib.GList *list + + ctypedef struct PurpleAccountOption: + prefs.PurplePrefType type + char *text + char *pref_name + UnionType default_value + glib.gboolean masked + + prefs.PurplePrefType c_purple_account_option_get_type "purple_account_option_get_type" (PurpleAccountOption *option) + char *c_purple_account_option_get_setting "purple_account_option_get_setting" (PurpleAccountOption *option) + char *c_purple_account_option_get_default_string "purple_account_option_get_default_string" (PurpleAccountOption *option) + int c_purple_account_option_get_default_int "purple_account_option_get_default_int" (PurpleAccountOption *option) + glib.gboolean c_purple_account_option_get_default_bool "purple_account_option_get_default_bool" (PurpleAccountOption *option) + const_char *c_purple_account_option_get_default_list_value "purple_account_option_get_default_list_value" (PurpleAccountOption *option) + const_char *c_purple_account_option_get_text "purple_account_option_get_text" (PurpleAccountOption *option) diff --git a/libpurple/plugin.pxd b/libpurple/plugin.pxd index ef6f81c..101fe26 100644 --- a/libpurple/plugin.pxd +++ b/libpurple/plugin.pxd @@ -18,6 +18,7 @@ # cimport glib + cimport prpl cdef extern from "libpurple/plugin.h": @@ -37,15 +38,14 @@ cdef extern from "libpurple/plugin.h": glib.gboolean unloadable glib.GList *dependent_plugins - prpl.PurplePluginProtocolInfo *c_PURPLE_PLUGIN_PROTOCOL_INFO \ + prpl.PurplePluginProtocolInfo *c_PURPLE_PLUGIN_PROTOCOL_INFO \ "PURPLE_PLUGIN_PROTOCOL_INFO" (PurplePlugin *plugin) - PurplePlugin *c_purple_plugin_new "purple_plugin_new" \ + PurplePlugin *c_purple_plugin_new "purple_plugin_new" \ (glib.gboolean native, char* path) void c_purple_plugins_add_search_path "purple_plugins_add_search_path" \ (char *path) glib.GList *c_purple_plugins_get_protocols "purple_plugins_get_protocols" () - PurplePlugin *c_purple_plugins_find_with_name "purple_plugins_find_with_name" \ (char *name) PurplePlugin *c_purple_plugins_find_with_id "purple_plugins_find_with_id" \ diff --git a/libpurple/purple.pxd b/libpurple/purple.pxd index 8099eda..4c4d9df 100644 --- a/libpurple/purple.pxd +++ b/libpurple/purple.pxd @@ -20,6 +20,7 @@ cimport glib cimport account +cimport accountopt cimport buddyicon cimport blist cimport connection