2 # Copyright (c) 2008 INdT - Instituto Nokia de Tecnologia
4 # This file is part of python-purple.
6 # python-purple is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
11 # python-purple is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program. If not, see <http://www.gnu.org/licenses/>.
22 from protocol import Protocol
31 def __init__(self, username, protocol_id):
32 self.__username = username
33 self.__protocol = Protocol(self, protocol_id)
35 if self._get_structure() == NULL:
40 cdef account.PurpleAccount *_get_structure(self):
41 return account.purple_accounts_find(self.username, \
44 def __is_connected(self):
46 return account.purple_account_is_connected(self._get_structure())
49 is_connected = property(__is_connected)
51 def __is_connecting(self):
53 return account.purple_account_is_connecting(self._get_structure())
56 is_connecting = property(__is_connecting)
58 def __is_disconnected(self):
60 return account.purple_account_is_disconnected( \
61 self._get_structure())
64 is_disconnected = property(__is_disconnected)
66 def __get_exists(self):
68 exists = property(__get_exists)
70 def __get_username(self):
71 cdef char *username = NULL
73 username = <char *> account.purple_account_get_username( \
74 self._get_structure())
80 return self.__username
81 username = property(__get_username)
83 def __get_protocol_id(self):
84 cdef char *protocol_id = NULL
86 protocol_id = <char *> account.purple_account_get_protocol_id( \
87 self._get_structure())
93 return self.protocol_id
94 protocol_id = property(__get_protocol_id)
96 def __get_password(self):
97 cdef char *password = NULL
99 password = <char *> account.purple_account_get_password( \
100 self._get_structure())
107 password = property(__get_password)
109 def __get_alias(self):
110 cdef char *alias = NULL
112 alias = <char *> account.purple_account_get_alias(self._get_structure())
119 alias = property(__get_alias)
121 def __get_user_info(self):
122 cdef char *user_info = NULL
124 user_info = <char *> account.purple_account_get_user_info(self._get_structure())
131 user_info = property(__get_user_info)
133 def __get_remember_password(self):
135 return account.purple_account_get_remember_password( \
136 self._get_structure())
139 remember_password = property(__get_remember_password)
141 def __get_enabled(self):
143 return account.purple_account_get_enabled(self._get_structure(), \
147 enabled = property(__get_enabled)
149 def set_username(self, username):
151 Sets the account's username.
153 @param username The username
154 @return True if successful, False if account doesn't exists
157 account.purple_account_set_username(self._get_structure(), \
163 def set_protocol_id(self, protocol_id):
165 Sets the account's protocol ID.
167 @param protocol_id The protocol ID
168 @return True if successful, False if account doesn't exists
171 self.__protocol._set_protocol_id(protocol_id)
176 def set_password(self, password):
178 Sets the account's password.
180 @param password The password
181 @return True if successful, False if account doesn't exists
184 account.purple_account_set_password(self._get_structure(), \
190 def set_alias(self, alias):
192 Sets the account's alias
194 @param alias The alias
195 @return True if successful, False if account doesn't exists
198 account.purple_account_set_alias(self._get_structure(), \
204 def set_user_info(self, user_info):
206 Sets the account's user information
208 @param user_info The user information
209 @return True if successful, False if account doesn't exists
212 account.purple_account_set_user_info(self._get_structure(), \
218 def set_remember_password(self, remember_password):
220 Sets whether or not this account should save its password.
222 @param remember_password True if should remember the password,
224 @return True if successful, False if account doesn't exists
227 account.purple_account_set_remember_password( \
228 self._get_structure(), remember_password)
233 def set_enabled(self, value):
235 Sets wheter or not this account is enabled.
237 @param value True if it is enabled, or False otherwise
238 @return True if successful, False if account doesn't exists
241 account.purple_account_set_enabled(self._get_structure(), \
242 self.core.ui_name, bool(value))
249 Creates a new account.
251 @return True if successful, False if account already exists
256 account.purple_account_new(self.username, self.protocol_id)
262 Connects to an account.
264 @return True if successful, False if account doesn't exists
267 account.purple_account_connect(self._get_structure())
272 def disconnect(self):
274 Disconnects from an account.
276 @return True if successful, False if account doesn't exists
279 account.purple_account_disconnect(self._get_structure())