account.h
Go to the documentation of this file.
1 
7 /* purple
8  *
9  * Purple is the legal property of its developers, whose names are too numerous
10  * to list here. Please refer to the COPYRIGHT file distributed with this
11  * source distribution.
12  *
13  * This program is free software; you can redistribute it and/or modify
14  * it under the terms of the GNU General Public License as published by
15  * the Free Software Foundation; either version 2 of the License, or
16  * (at your option) any later version.
17  *
18  * This program is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21  * GNU General Public License for more details.
22  *
23  * You should have received a copy of the GNU General Public License
24  * along with this program; if not, write to the Free Software
25  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
26  */
27 #ifndef _PURPLE_ACCOUNT_H_
28 #define _PURPLE_ACCOUNT_H_
29 
30 #include <glib.h>
31 #include <glib-object.h>
32 
37 
38 typedef gboolean (*PurpleFilterAccountFunc)(PurpleAccount *account);
39 typedef void (*PurpleAccountRequestAuthorizationCb)(void *);
40 typedef void (*PurpleAccountRegistrationCb)(PurpleAccount *account, gboolean succeeded, void *user_data);
41 typedef void (*PurpleAccountUnregistrationCb)(PurpleAccount *account, gboolean succeeded, void *user_data);
42 typedef void (*PurpleSetPublicAliasSuccessCallback)(PurpleAccount *account, const char *new_alias);
43 typedef void (*PurpleSetPublicAliasFailureCallback)(PurpleAccount *account, const char *error);
44 typedef void (*PurpleGetPublicAliasSuccessCallback)(PurpleAccount *account, const char *alias);
45 typedef void (*PurpleGetPublicAliasFailureCallback)(PurpleAccount *account, const char *error);
46 
47 #include "connection.h"
48 #include "log.h"
49 #include "privacy.h"
50 #include "proxy.h"
51 #include "prpl.h"
52 #include "status.h"
53 
57 typedef enum
58 {
59  PURPLE_ACCOUNT_REQUEST_AUTHORIZATION = 0 /* Account authorization request */
61 
65 typedef enum
66 {
67  PURPLE_ACCOUNT_RESPONSE_IGNORE = -2,
68  PURPLE_ACCOUNT_RESPONSE_DENY = -1,
69  PURPLE_ACCOUNT_RESPONSE_PASS = 0,
70  PURPLE_ACCOUNT_RESPONSE_ACCEPT = 1
72 
77 {
81  void (*notify_added)(PurpleAccount *account,
82  const char *remote_user,
83  const char *id,
84  const char *alias,
85  const char *message);
86 
88  void (*status_changed)(PurpleAccount *account,
89  PurpleStatus *status);
90 
92  void (*request_add)(PurpleAccount *account,
93  const char *remote_user,
94  const char *id,
95  const char *alias,
96  const char *message);
97 
103  void *(*request_authorize)(PurpleAccount *account,
104  const char *remote_user,
105  const char *id,
106  const char *alias,
107  const char *message,
108  gboolean on_list,
109  PurpleAccountRequestAuthorizationCb authorize_cb,
110  PurpleAccountRequestAuthorizationCb deny_cb,
111  void *user_data);
112 
116  void (*close_account_request)(void *ui_handle);
117 
118  void (*_purple_reserved1)(void);
119  void (*_purple_reserved2)(void);
120  void (*_purple_reserved3)(void);
121  void (*_purple_reserved4)(void);
122 };
123 
127 {
128  char *username;
129  char *alias;
130  char *password;
131  char *user_info;
135  gboolean remember_pass;
137  char *protocol_id;
140  gboolean disconnecting;
142  GHashTable *settings;
143  GHashTable *ui_settings;
146  /* to NULL when the account inherits */
147  /* proxy settings from global prefs. */
148 
149  /*
150  * TODO: Supplementing the next two linked lists with hash tables
151  * should help performance a lot when these lists are long. This
152  * matters quite a bit for protocols like MSN, where all your
153  * buddies are added to your permit list. Currently we have to
154  * iterate through the entire list if we want to check if someone
155  * is permitted or denied. We should do this for 3.0.0.
156  * Or maybe use a GTree.
157  */
158  GSList *permit;
159  GSList *deny;
162  GList *status_types;
164  PurplePresence *presence;
167  void *ui_data;
168  PurpleAccountRegistrationCb registration_cb;
169  void *registration_cb_user_data;
170 
171  gpointer priv;
172 };
173 
174 #ifdef __cplusplus
175 extern "C" {
176 #endif
177 
178 /**************************************************************************/
180 /**************************************************************************/
191 PurpleAccount *purple_account_new(const char *username, const char *protocol_id);
192 
199 
206 
214 void purple_account_set_register_callback(PurpleAccount *account, PurpleAccountRegistrationCb cb, void *user_data);
215 
222 
230 void purple_account_unregister(PurpleAccount *account, PurpleAccountUnregistrationCb cb, void *user_data);
231 
238 
252 void purple_account_notify_added(PurpleAccount *account, const char *remote_user,
253  const char *id, const char *alias,
254  const char *message);
255 
271 void purple_account_request_add(PurpleAccount *account, const char *remote_user,
272  const char *id, const char *alias,
273  const char *message);
274 
294 void *purple_account_request_authorization(PurpleAccount *account, const char *remote_user,
295  const char *id, const char *alias, const char *message, gboolean on_list,
296  PurpleAccountRequestAuthorizationCb auth_cb, PurpleAccountRequestAuthorizationCb deny_cb, void *user_data);
297 
304 
310 void purple_account_request_close(void *ui_handle);
311 
321 void purple_account_request_password(PurpleAccount *account, GCallback ok_cb,
322  GCallback cancel_cb, void *user_data);
323 
330 
338 
345 void purple_account_set_username(PurpleAccount *account, const char *username);
346 
353 void purple_account_set_password(PurpleAccount *account, const char *password);
354 
361 void purple_account_set_alias(PurpleAccount *account, const char *alias);
362 
369 void purple_account_set_user_info(PurpleAccount *account, const char *user_info);
370 
377 void purple_account_set_buddy_icon_path(PurpleAccount *account, const char *path);
378 
386  const char *protocol_id);
387 
395 
402 void purple_account_set_remember_password(PurpleAccount *account, gboolean value);
403 
410 void purple_account_set_check_mail(PurpleAccount *account, gboolean value);
411 
420 void purple_account_set_enabled(PurpleAccount *account, const char *ui,
421  gboolean value);
422 
430 
440 
447 void purple_account_set_status_types(PurpleAccount *account, GList *status_types);
448 
455 void purple_account_set_status(PurpleAccount *account, const char *status_id,
456  gboolean active, ...) G_GNUC_NULL_TERMINATED;
457 
458 
477  const char *status_id, gboolean active, GList *attrs);
478 
498  const char *alias, PurpleSetPublicAliasSuccessCallback success_cb,
499  PurpleSetPublicAliasFailureCallback failure_cb);
500 
512  PurpleGetPublicAliasSuccessCallback success_cb,
513  PurpleGetPublicAliasFailureCallback failure_cb);
514 
523 
531  gboolean value);
532 
539 
548 void purple_account_remove_setting(PurpleAccount *account, const char *setting);
549 
557 void purple_account_set_int(PurpleAccount *account, const char *name, int value);
558 
566 void purple_account_set_string(PurpleAccount *account, const char *name,
567  const char *value);
568 
576 void purple_account_set_bool(PurpleAccount *account, const char *name,
577  gboolean value);
578 
587 void purple_account_set_ui_int(PurpleAccount *account, const char *ui,
588  const char *name, int value);
589 
598 void purple_account_set_ui_string(PurpleAccount *account, const char *ui,
599  const char *name, const char *value);
600 
609 void purple_account_set_ui_bool(PurpleAccount *account, const char *ui,
610  const char *name, gboolean value);
611 
619 gboolean purple_account_is_connected(const PurpleAccount *account);
620 
628 gboolean purple_account_is_connecting(const PurpleAccount *account);
629 
637 gboolean purple_account_is_disconnected(const PurpleAccount *account);
638 
646 const char *purple_account_get_username(const PurpleAccount *account);
647 
655 const char *purple_account_get_password(const PurpleAccount *account);
656 
664 const char *purple_account_get_alias(const PurpleAccount *account);
665 
673 const char *purple_account_get_user_info(const PurpleAccount *account);
674 
682 const char *purple_account_get_buddy_icon_path(const PurpleAccount *account);
683 
691 const char *purple_account_get_protocol_id(const PurpleAccount *account);
692 
700 const char *purple_account_get_protocol_name(const PurpleAccount *account);
701 
710 
723 const gchar *purple_account_get_name_for_display(const PurpleAccount *account);
724 
732 gboolean purple_account_get_remember_password(const PurpleAccount *account);
733 
741 gboolean purple_account_get_check_mail(const PurpleAccount *account);
742 
752 gboolean purple_account_get_enabled(const PurpleAccount *account,
753  const char *ui);
754 
763 
774 
785 PurpleStatus *purple_account_get_active_status(const PurpleAccount *account);
786 
798 PurpleStatus *purple_account_get_status(const PurpleAccount *account,
799  const char *status_id);
800 
810  const char *id);
811 
824  const PurpleAccount *account,
825  PurpleStatusPrimitive primitive);
826 
834 PurplePresence *purple_account_get_presence(const PurpleAccount *account);
835 
844 gboolean purple_account_is_status_active(const PurpleAccount *account,
845  const char *status_id);
846 
854 GList *purple_account_get_status_types(const PurpleAccount *account);
855 
865 int purple_account_get_int(const PurpleAccount *account, const char *name,
866  int default_value);
867 
877 const char *purple_account_get_string(const PurpleAccount *account,
878  const char *name,
879  const char *default_value);
880 
890 gboolean purple_account_get_bool(const PurpleAccount *account, const char *name,
891  gboolean default_value);
892 
903 int purple_account_get_ui_int(const PurpleAccount *account, const char *ui,
904  const char *name, int default_value);
905 
916 const char *purple_account_get_ui_string(const PurpleAccount *account,
917  const char *ui, const char *name,
918  const char *default_value);
919 
930 gboolean purple_account_get_ui_bool(const PurpleAccount *account, const char *ui,
931  const char *name, gboolean default_value);
932 
933 
947 PurpleLog *purple_account_get_log(PurpleAccount *account, gboolean create);
948 
955 
964 void purple_account_add_buddy(PurpleAccount *account, PurpleBuddy *buddy);
974 void purple_account_add_buddy_with_invite(PurpleAccount *account, PurpleBuddy *buddy, const char *message);
975 
984 void purple_account_add_buddies(PurpleAccount *account, GList *buddies);
994 void purple_account_add_buddies_with_invite(PurpleAccount *account, GList *buddies, const char *message);
995 
1004  PurpleGroup *group);
1005 
1017 void purple_account_remove_buddies(PurpleAccount *account, GList *buddies,
1018  GList *groups);
1019 
1027 
1035 void purple_account_change_password(PurpleAccount *account, const char *orig_pw,
1036  const char *new_pw);
1037 
1045 
1057 
1064 
1067 /**************************************************************************/
1069 /**************************************************************************/
1077 void purple_accounts_add(PurpleAccount *account);
1078 
1084 void purple_accounts_remove(PurpleAccount *account);
1085 
1095 void purple_accounts_delete(PurpleAccount *account);
1096 
1103 void purple_accounts_reorder(PurpleAccount *account, gint new_index);
1104 
1110 GList *purple_accounts_get_all(void);
1111 
1119 GList *purple_accounts_get_all_active(void);
1120 
1129 PurpleAccount *purple_accounts_find(const char *name, const char *protocol);
1130 
1141 
1145 /**************************************************************************/
1147 /**************************************************************************/
1155 
1162 
1166 /**************************************************************************/
1168 /**************************************************************************/
1176 void *purple_accounts_get_handle(void);
1177 
1181 void purple_accounts_init(void);
1182 
1186 void purple_accounts_uninit(void);
1187 
1190 #ifdef __cplusplus
1191 }
1192 #endif
1193 
1194 #endif /* _PURPLE_ACCOUNT_H_ */
GHashTable * settings
Protocol-specific settings.
Definition: account.h:142
void purple_account_request_close_with_account(PurpleAccount *account)
Close account requests registered for the given PurpleAccount.
void purple_account_set_privacy_type(PurpleAccount *account, PurplePrivacyType privacy_type)
Sets the account's privacy type.
A group.
Definition: blist.h:167
char * protocol_id
The ID of the protocol.
Definition: account.h:137
void purple_account_unregister(PurpleAccount *account, PurpleAccountUnregistrationCb cb, void *user_data)
Unregisters an account (deleting it from the server).
void purple_account_set_status(PurpleAccount *account, const char *status_id, gboolean active,...) G_GNUC_NULL_TERMINATED
Variadic version of purple_account_set_status_list(); the variadic list replaces attrs, and should be NULL-terminated.
void purple_account_register(PurpleAccount *account)
Registers an account.
void purple_account_add_buddy_with_invite(PurpleAccount *account, PurpleBuddy *buddy, const char *message)
Adds a buddy to the server-side buddy list for the specified account.
void purple_account_set_string(PurpleAccount *account, const char *name, const char *value)
Sets a protocol-specific string setting for an account.
PurpleStatusPrimitive
A primitive defining the basic structure of a status type.
Definition: status.h:117
A log.
Definition: log.h:124
char * username
The username.
Definition: account.h:128
void purple_account_get_public_alias(PurpleAccount *account, PurpleGetPublicAliasSuccessCallback success_cb, PurpleGetPublicAliasFailureCallback failure_cb)
Fetch the server-side (public) alias for this account.
char * buddy_icon_path
The buddy icon's non-cached path.
Definition: account.h:133
gboolean purple_account_get_ui_bool(const PurpleAccount *account, const char *ui, const char *name, gboolean default_value)
Returns a UI-specific boolean setting for an account.
gboolean disconnecting
The account is currently disconnecting.
Definition: account.h:140
void purple_account_clear_settings(PurpleAccount *account)
Clears all protocol-specific settings on an account.
Connection API.
void purple_account_set_proxy_info(PurpleAccount *account, PurpleProxyInfo *info)
Sets the account's proxy information.
const char * purple_account_get_password(const PurpleAccount *account)
Returns the account's password.
void purple_account_remove_buddies(PurpleAccount *account, GList *buddies, GList *groups)
Removes a list of buddies from the server-side buddy list.
void purple_account_remove_buddy(PurpleAccount *account, PurpleBuddy *buddy, PurpleGroup *group)
Removes a buddy from the server-side buddy list.
void purple_accounts_reorder(PurpleAccount *account, gint new_index)
Reorders an account.
PurpleProxyInfo * purple_account_get_proxy_info(const PurpleAccount *account)
Returns the account's proxy information.
Holds the type of an error along with its description.
Definition: connection.h:139
PurpleLog * purple_account_get_log(PurpleAccount *account, gboolean create)
Returns the system log for an account.
void purple_account_set_user_info(PurpleAccount *account, const char *user_info)
Sets the account's user information.
void * ui_data
The UI can put data here.
Definition: account.h:167
Privacy API.
void purple_account_connect(PurpleAccount *account)
Connects to an account.
int purple_account_get_int(const PurpleAccount *account, const char *name, int default_value)
Returns a protocol-specific integer setting for an account.
void purple_account_clear_current_error(PurpleAccount *account)
Clear an account's current error state, resetting it to NULL.
const char * purple_account_get_buddy_icon_path(const PurpleAccount *account)
Gets the account's buddy icon path.
void purple_account_notify_added(PurpleAccount *account, const char *remote_user, const char *id, const char *alias, const char *message)
Notifies the user that the account was added to a remote user's buddy list.
char * password
The account password.
Definition: account.h:130
void purple_account_set_check_mail(PurpleAccount *account, gboolean value)
Sets whether or not this account should check for mail.
void purple_account_set_status_types(PurpleAccount *account, GList *status_types)
Sets the account's status types.
gboolean purple_account_is_connecting(const PurpleAccount *account)
Returns whether or not the account is connecting.
gboolean purple_account_get_remember_password(const PurpleAccount *account)
Returns whether or not this account should save its password.
void purple_account_change_password(PurpleAccount *account, const char *orig_pw, const char *new_pw)
Changes the password on the specified account.
gboolean purple_account_supports_offline_message(PurpleAccount *account, PurpleBuddy *buddy)
Whether the account supports sending offline messages to buddy.
Structure representing an account.
Definition: account.h:126
void purple_account_request_close(void *ui_handle)
Close the account request for the given ui handle.
PurpleStatus * purple_account_get_active_status(const PurpleAccount *account)
Returns the active status for this account.
void purple_account_add_buddies(PurpleAccount *account, GList *buddies)
Adds a list of buddies to the server-side buddy list.
const char * purple_account_get_protocol_name(const PurpleAccount *account)
Returns the account's protocol name.
void * purple_accounts_get_handle(void)
Returns the accounts subsystem handle.
const char * purple_account_get_string(const PurpleAccount *account, const char *name, const char *default_value)
Returns a protocol-specific string setting for an account.
void purple_account_set_bool(PurpleAccount *account, const char *name, gboolean value)
Sets a protocol-specific boolean setting for an account.
void(* request_add)(PurpleAccount *account, const char *remote_user, const char *id, const char *alias, const char *message)
Someone we don't have on our list added us; prompt to add them.
Definition: account.h:92
void purple_account_destroy_log(PurpleAccount *account)
Frees the system log of an account.
PurpleLog * system_log
The system log.
Definition: account.h:165
void purple_accounts_init(void)
Initializes the accounts subsystem.
const char * purple_account_get_user_info(const PurpleAccount *account)
Returns the account's user information.
int purple_account_get_ui_int(const PurpleAccount *account, const char *ui, const char *name, int default_value)
Returns a UI-specific integer setting for an account.
void purple_account_remove_setting(PurpleAccount *account, const char *setting)
Removes an account-specific setting by name.
void purple_account_set_enabled(PurpleAccount *account, const char *ui, gboolean value)
Sets whether or not this account is enabled for the specified UI.
void purple_account_set_ui_string(PurpleAccount *account, const char *ui, const char *name, const char *value)
Sets a UI-specific string setting for an account.
GList * purple_account_get_status_types(const PurpleAccount *account)
Returns the account's status types.
void purple_account_set_status_list(PurpleAccount *account, const char *status_id, gboolean active, GList *attrs)
Activates or deactivates a status.
void purple_account_set_protocol_id(PurpleAccount *account, const char *protocol_id)
Sets the account's protocol ID.
char * alias
How you appear to yourself.
Definition: account.h:129
PurpleConnection * gc
The connection handle.
Definition: account.h:139
void purple_account_request_change_password(PurpleAccount *account)
Requests information from the user to change the account's password.
GList * purple_accounts_get_all(void)
Returns a list of all accounts.
void purple_account_request_add(PurpleAccount *account, const char *remote_user, const char *id, const char *alias, const char *message)
Notifies the user that the account was addded to a remote user's buddy list and asks ther user if the...
void purple_account_set_public_alias(PurpleAccount *account, const char *alias, PurpleSetPublicAliasSuccessCallback success_cb, PurpleSetPublicAliasFailureCallback failure_cb)
Set a server-side (public) alias for this account.
GSList * deny
Deny list.
Definition: account.h:159
PurplePrivacyType purple_account_get_privacy_type(const PurpleAccount *account)
Returns the account's privacy type.
PurpleConnection * purple_account_get_connection(const PurpleAccount *account)
Returns the account's connection.
PurpleStatusType * purple_account_get_status_type_with_primitive(const PurpleAccount *account, PurpleStatusPrimitive primitive)
Returns the account status type with the specified primitive.
void purple_account_set_password(PurpleAccount *account, const char *password)
Sets the account's password.
void purple_account_request_change_user_info(PurpleAccount *account)
Requests information from the user to change the account's user information.
PurpleProxyInfo * proxy_info
Proxy information.
Definition: account.h:145
Account UI operations, used to notify the user of status changes and when buddies add this account to...
Definition: account.h:76
void purple_account_set_register_callback(PurpleAccount *account, PurpleAccountRegistrationCb cb, void *user_data)
Sets the callback for successful registration.
void purple_account_set_connection(PurpleAccount *account, PurpleConnection *gc)
Sets the account's connection.
void purple_account_set_username(PurpleAccount *account, const char *username)
Sets the account's username.
const char * purple_account_get_ui_string(const PurpleAccount *account, const char *ui, const char *name, const char *default_value)
Returns a UI-specific string setting for an account.
void * purple_account_request_authorization(PurpleAccount *account, const char *remote_user, const char *id, const char *alias, const char *message, gboolean on_list, PurpleAccountRequestAuthorizationCb auth_cb, PurpleAccountRequestAuthorizationCb deny_cb, void *user_data)
Notifies the user that a remote user has wants to add the local user to his or her buddy list and req...
Protocol Plugin functions.
const PurpleConnectionErrorInfo * purple_account_get_current_error(PurpleAccount *account)
Get the error that caused the account to be disconnected, or NULL if the account is happily connected...
const gchar * purple_account_get_name_for_display(const PurpleAccount *account)
Returns a name for this account appropriate for display to the user.
Proxy API.
void purple_account_disconnect(PurpleAccount *account)
Disconnects from an account.
GList * status_types
Status types.
Definition: account.h:162
enum _PurplePrivacyType PurplePrivacyType
Privacy data types.
void purple_accounts_remove(PurpleAccount *account)
Removes an account from the list of accounts.
void purple_account_request_password(PurpleAccount *account, GCallback ok_cb, GCallback cancel_cb, void *user_data)
Requests a password from the user for the account.
PurpleStatus * purple_account_get_status(const PurpleAccount *account, const char *status_id)
Returns the account status with the specified ID.
Status APIA brief explanation of the status API:
PurpleAccountRequestResponse
Account request response types.
Definition: account.h:65
const char * purple_account_get_alias(const PurpleAccount *account)
Returns the account's alias.
PurplePrivacyType perm_deny
The permit/deny setting.
Definition: account.h:160
void purple_accounts_restore_current_statuses(void)
This is called by the core after all subsystems and what not have been initialized.
void purple_accounts_add(PurpleAccount *account)
Adds an account to the list of accounts.
void purple_account_add_buddies_with_invite(PurpleAccount *account, GList *buddies, const char *message)
Adds a list of buddies to the server-side buddy list.
void purple_account_set_alias(PurpleAccount *account, const char *alias)
Sets the account's alias.
void purple_account_set_int(PurpleAccount *account, const char *name, int value)
Sets a protocol-specific integer setting for an account.
void purple_account_destroy(PurpleAccount *account)
Destroys an account.
gboolean purple_account_is_connected(const PurpleAccount *account)
Returns whether or not the account is connected.
void purple_accounts_uninit(void)
Uninitializes the accounts subsystem.
A buddy.
Definition: blist.h:138
void purple_account_set_ui_int(PurpleAccount *account, const char *ui, const char *name, int value)
Sets a UI-specific integer setting for an account.
const char * purple_account_get_username(const PurpleAccount *account)
Returns the account's username.
void purple_account_set_ui_bool(PurpleAccount *account, const char *ui, const char *name, gboolean value)
Sets a UI-specific boolean setting for an account.
void purple_account_add_buddy(PurpleAccount *account, PurpleBuddy *buddy)
Adds a buddy to the server-side buddy list for the specified account.
void purple_account_set_buddy_icon_path(PurpleAccount *account, const char *path)
Sets the account's buddy icon path.
void purple_accounts_set_ui_ops(PurpleAccountUiOps *ops)
Sets the UI operations structure to be used for accounts.
gboolean purple_account_get_silence_suppression(const PurpleAccount *account)
Return whether silence suppression is used during voice call.
GHashTable * ui_settings
UI-specific settings.
Definition: account.h:143
PurplePresence * purple_account_get_presence(const PurpleAccount *account)
Returns the account's presence.
gpointer priv
Pointer to opaque private data.
Definition: account.h:171
void purple_account_set_silence_suppression(PurpleAccount *account, gboolean value)
Sets whether silence suppression is used during voice call.
gboolean purple_account_get_bool(const PurpleAccount *account, const char *name, gboolean default_value)
Returns a protocol-specific boolean setting for an account.
void purple_account_remove_group(PurpleAccount *account, PurpleGroup *group)
Removes a group from the server-side buddy list.
PurpleAccountUiOps * purple_accounts_get_ui_ops(void)
Returns the UI operations structure used for accounts.
gboolean purple_account_get_enabled(const PurpleAccount *account, const char *ui)
Returns whether or not this account is enabled for the specified UI.
Logging API.
gboolean purple_account_is_status_active(const PurpleAccount *account, const char *status_id)
Returns whether or not an account status is active.
PurplePresence * presence
Presence.
Definition: account.h:164
GSList * permit
Permit list.
Definition: account.h:158
gboolean purple_account_get_check_mail(const PurpleAccount *account)
Returns whether or not this account should check for mail.
void purple_accounts_delete(PurpleAccount *account)
Deletes an account.
PurpleAccount * purple_accounts_find(const char *name, const char *protocol)
Finds an account with the specified name and protocol id.
PurpleStatusType * purple_account_get_status_type(const PurpleAccount *account, const char *id)
Returns the account status type with the specified ID.
void purple_account_set_remember_password(PurpleAccount *account, gboolean value)
Sets whether or not this account should save its password.
struct _PurpleStatusType PurpleStatusType
PurpleStatusType's are created by each PRPL.
Definition: status.h:85
GList * purple_accounts_get_all_active(void)
Returns a list of all enabled accounts.
const char * purple_account_get_protocol_id(const PurpleAccount *account)
Returns the account's protocol ID.
void(* close_account_request)(void *ui_handle)
Close a pending request for authorization.
Definition: account.h:116
gboolean remember_pass
Remember the password.
Definition: account.h:135
PurpleAccount * purple_account_new(const char *username, const char *protocol_id)
Creates a new account.
Information on proxy settings.
Definition: proxy.h:50
void(* status_changed)(PurpleAccount *account, PurpleStatus *status)
This account's status changed.
Definition: account.h:88
char * user_info
User information.
Definition: account.h:131
gboolean purple_account_is_disconnected(const PurpleAccount *account)
Returns whether or not the account is disconnected.
void(* notify_added)(PurpleAccount *account, const char *remote_user, const char *id, const char *alias, const char *message)
A buddy who is already on this account's buddy list added this account to their buddy list...
Definition: account.h:81
PurpleAccountRequestType
Account request types.
Definition: account.h:57