Fix account class
authorRagner Magalhaes <ragner.magalhaes@openbossa.org>
Tue, 2 Dec 2008 20:05:37 +0000 (20:05 +0000)
committerAnderson Briglia <anderson.briglia@openbossa.org>
Sat, 28 Feb 2009 21:11:08 +0000 (17:11 -0400)
Using cast to encapsulate PurpleAccount into a PyObject.

Signed-off-by: Anderson Briglia <anderson.briglia@indt.org.br>
Signed-off-by: Ragner Magalhaes <ragner.magalhaes@indt.org.br>

git-svn-id: https://garage.maemo.org/svn/carman/branches/carman-0.7-beta2/python-purple@1267 596f6dd7-e928-0410-a184-9e12fd12cf7e

core/account.pxd

index 1f11147..93330a1 100644 (file)
@@ -20,7 +20,7 @@
 cdef extern from "libpurple/account.h":
     ctypedef struct PurpleAccount
 
-    cdef PurpleAccount* purple_account_new(const_char_ptr username, const_char_ptr protocol_id)
+    cdef PurpleAccount *c_purple_account_new "purple_account_new" (const_char_ptr username, const_char_ptr protocol_id)
     cdef void c_purple_account_set_username "purple_account_set_username" (PurpleAccount *account, const_char_ptr username)
     cdef void c_purple_account_set_password "purple_account_set_password" (PurpleAccount *account, const_char_ptr password)
     cdef void c_purple_account_set_enabled "purple_account_set_enabled" (PurpleAccount *account, const_char_ptr ui, gboolean value)
@@ -29,7 +29,9 @@ class Account(object):
     """ Account class """
 
     def __init__(self, username, protocol_id):
-        cdef PurpleAccount *self.purple_account = purple_account_new(username, protocol_id)
+        cdef PurpleAccount *acc = c_purple_account_new(username, protocol_id)
+        self.__acc = <object> acc
+        acc = <PurpleAccount *> self.__acc
 
     """
     def purple_account_set_password(self, account, password):