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
34 typedef struct _PurpleAccountUiOps PurpleAccountUiOps;
36 typedef struct _PurpleAccountPrefsUiOps PurpleAccountPrefsUiOps;
38 typedef struct _PurpleAccount PurpleAccount;
39
40 typedef gboolean (*PurpleFilterAccountFunc)(PurpleAccount *account);
41 typedef void (*PurpleAccountRequestAuthorizationCb)(void *);
42 typedef void (*PurpleAccountRegistrationCb)(PurpleAccount *account, gboolean succeeded, void *user_data);
43 typedef void (*PurpleAccountUnregistrationCb)(PurpleAccount *account, gboolean succeeded, void *user_data);
44 typedef void (*PurpleSetPublicAliasSuccessCallback)(PurpleAccount *account, const char *new_alias);
45 typedef void (*PurpleSetPublicAliasFailureCallback)(PurpleAccount *account, const char *error);
46 typedef void (*PurpleGetPublicAliasSuccessCallback)(PurpleAccount *account, const char *alias);
47 typedef void (*PurpleGetPublicAliasFailureCallback)(PurpleAccount *account, const char *error);
48
49 #include "connection.h"
50 #include "log.h"
51 #include "privacy.h"
52 #include "proxy.h"
53 #include "prpl.h"
54 #include "status.h"
55
59 typedef enum
60 {
61 PURPLE_ACCOUNT_REQUEST_AUTHORIZATION = 0 /* Account authorization request */
62 } PurpleAccountRequestType;
63
67 typedef enum
68 {
69 PURPLE_ACCOUNT_RESPONSE_IGNORE = -2,
70 PURPLE_ACCOUNT_RESPONSE_DENY = -1,
71 PURPLE_ACCOUNT_RESPONSE_PASS = 0,
72 PURPLE_ACCOUNT_RESPONSE_ACCEPT = 1
73 } PurpleAccountRequestResponse;
74
78 struct _PurpleAccountUiOps
79 {
83 void (*notify_added)(PurpleAccount *account,
84 const char *remote_user,
85 const char *id,
86 const char *alias,
87 const char *message);
88
90 void (*status_changed)(PurpleAccount *account,
91 PurpleStatus *status);
92
94 void (*request_add)(PurpleAccount *account,
95 const char *remote_user,
96 const char *id,
97 const char *alias,
98 const char *message);
99
105 void *(*request_authorize)(PurpleAccount *account,
106 const char *remote_user,
107 const char *id,
108 const char *alias,
109 const char *message,
110 gboolean on_list,
111 PurpleAccountRequestAuthorizationCb authorize_cb,
112 PurpleAccountRequestAuthorizationCb deny_cb,
113 void *user_data);
114
118 void (*close_account_request)(void *ui_handle);
119
120 void (*_purple_reserved1)(void);
121 void (*_purple_reserved2)(void);
122 void (*_purple_reserved3)(void);
123 void (*_purple_reserved4)(void);
124 };
125
135 struct _PurpleAccountPrefsUiOps
136 {
138 void (*set_int)(PurpleAccount *account, const char *name, int value);
139
141 void (*set_string)(PurpleAccount *account, const char *name, const char *value);
142
144 void (*set_bool)(PurpleAccount *account, const char *name, gboolean value);
145
149 void (*load)(void);
150
154 void (*save)(void);
155
159 void (*schedule_save)(void);
160
161 void (*_purple_reserved1)(void);
162 void (*_purple_reserved2)(void);
163 void (*_purple_reserved3)(void);
164 void (*_purple_reserved4)(void);
165 };
166
169 struct _PurpleAccount
170 {
171 char *username;
172 char *alias;
173 char *password;
174 char *user_info;
176 char *buddy_icon_path;
178 gboolean remember_pass;
180 char *protocol_id;
182 PurpleConnection *gc;
183 gboolean disconnecting;
185 GHashTable *settings;
186 GHashTable *ui_settings;
188 PurpleProxyInfo *proxy_info;
189 /* to NULL when the account inherits */
190 /* proxy settings from global prefs. */
191
192 /*
193 * TODO: Supplementing the next two linked lists with hash tables
194 * should help performance a lot when these lists are long. This
195 * matters quite a bit for protocols, where all your
196 * buddies are added to your permit list. Currently we have to
197 * iterate through the entire list if we want to check if someone
198 * is permitted or denied. We should do this for 3.0.0.
199 * Or maybe use a GTree.
200 */
201 GSList *permit;
202 GSList *deny;
203 PurplePrivacyType perm_deny;
205 GList *status_types;
207 PurplePresence *presence;
208 PurpleLog *system_log;
210 void *ui_data;
211 PurpleAccountRegistrationCb registration_cb;
212 void *registration_cb_user_data;
213
214 gpointer priv;
215 };
216
217 #ifdef __cplusplus
218 extern "C" {
219 #endif
220
221 /**************************************************************************/
223 /**************************************************************************/
234 PurpleAccount *purple_account_new(const char *username, const char *protocol_id);
235
241 void purple_account_destroy(PurpleAccount *account);
242
248 void purple_account_connect(PurpleAccount *account);
249
257 void purple_account_set_register_callback(PurpleAccount *account, PurpleAccountRegistrationCb cb, void *user_data);
258
264 void purple_account_register(PurpleAccount *account);
265
273 void purple_account_unregister(PurpleAccount *account, PurpleAccountUnregistrationCb cb, void *user_data);
274
280 void purple_account_disconnect(PurpleAccount *account);
281
295 void purple_account_notify_added(PurpleAccount *account, const char *remote_user,
296 const char *id, const char *alias,
297 const char *message);
298
314 void purple_account_request_add(PurpleAccount *account, const char *remote_user,
315 const char *id, const char *alias,
316 const char *message);
317
337 void *purple_account_request_authorization(PurpleAccount *account, const char *remote_user,
338 const char *id, const char *alias, const char *message, gboolean on_list,
339 PurpleAccountRequestAuthorizationCb auth_cb, PurpleAccountRequestAuthorizationCb deny_cb, void *user_data);
340
346 void purple_account_request_close_with_account(PurpleAccount *account);
347
353 void purple_account_request_close(void *ui_handle);
354
364 void purple_account_request_password(PurpleAccount *account, GCallback ok_cb,
365 GCallback cancel_cb, void *user_data);
366
372 void purple_account_request_change_password(PurpleAccount *account);
373
380 void purple_account_request_change_user_info(PurpleAccount *account);
381
388 void purple_account_set_username(PurpleAccount *account, const char *username);
389
396 void purple_account_set_password(PurpleAccount *account, const char *password);
397
404 void purple_account_set_alias(PurpleAccount *account, const char *alias);
405
412 void purple_account_set_user_info(PurpleAccount *account, const char *user_info);
413
420 void purple_account_set_buddy_icon_path(PurpleAccount *account, const char *path);
421
428 void purple_account_set_protocol_id(PurpleAccount *account,
429 const char *protocol_id);
430
437 void purple_account_set_connection(PurpleAccount *account, PurpleConnection *gc);
438
445 void purple_account_set_remember_password(PurpleAccount *account, gboolean value);
446
453 void purple_account_set_check_mail(PurpleAccount *account, gboolean value);
454
463 void purple_account_set_enabled(PurpleAccount *account, const char *ui,
464 gboolean value);
465
472 void purple_account_set_proxy_info(PurpleAccount *account, PurpleProxyInfo *info);
473
482 void purple_account_set_privacy_type(PurpleAccount *account, PurplePrivacyType privacy_type);
483
490 void purple_account_set_status_types(PurpleAccount *account, GList *status_types);
491
498 void purple_account_set_status(PurpleAccount *account, const char *status_id,
499 gboolean active, ...) G_GNUC_NULL_TERMINATED;
500
501
519 void purple_account_set_status_list(PurpleAccount *account,
520 const char *status_id, gboolean active, GList *attrs);
521
540 void purple_account_set_public_alias(PurpleAccount *account,
541 const char *alias, PurpleSetPublicAliasSuccessCallback success_cb,
542 PurpleSetPublicAliasFailureCallback failure_cb);
543
554 void purple_account_get_public_alias(PurpleAccount *account,
555 PurpleGetPublicAliasSuccessCallback success_cb,
556 PurpleGetPublicAliasFailureCallback failure_cb);
557
565 gboolean purple_account_get_silence_suppression(const PurpleAccount *account);
566
573 void purple_account_set_silence_suppression(PurpleAccount *account,
574 gboolean value);
575
581 void purple_account_clear_settings(PurpleAccount *account);
582
591 void purple_account_remove_setting(PurpleAccount *account, const char *setting);
592
600 void purple_account_set_int(PurpleAccount *account, const char *name, int value);
601
609 void purple_account_set_string(PurpleAccount *account, const char *name,
610 const char *value);
611
619 void purple_account_set_bool(PurpleAccount *account, const char *name,
620 gboolean value);
621
630 void purple_account_set_ui_int(PurpleAccount *account, const char *ui,
631 const char *name, int value);
632
641 void purple_account_set_ui_string(PurpleAccount *account, const char *ui,
642 const char *name, const char *value);
643
652 void purple_account_set_ui_bool(PurpleAccount *account, const char *ui,
653 const char *name, gboolean value);
654
662 gboolean purple_account_is_connected(const PurpleAccount *account);
663
671 gboolean purple_account_is_connecting(const PurpleAccount *account);
672
680 gboolean purple_account_is_disconnected(const PurpleAccount *account);
681
689 const char *purple_account_get_username(const PurpleAccount *account);
690
698 const char *purple_account_get_password(const PurpleAccount *account);
699
707 const char *purple_account_get_alias(const PurpleAccount *account);
708
716 const char *purple_account_get_user_info(const PurpleAccount *account);
717
725 const char *purple_account_get_buddy_icon_path(const PurpleAccount *account);
726
734 const char *purple_account_get_protocol_id(const PurpleAccount *account);
735
743 const char *purple_account_get_protocol_name(const PurpleAccount *account);
744
752 PurpleConnection *purple_account_get_connection(const PurpleAccount *account);
753
766 const gchar *purple_account_get_name_for_display(const PurpleAccount *account);
767
775 gboolean purple_account_get_remember_password(const PurpleAccount *account);
776
784 gboolean purple_account_get_check_mail(const PurpleAccount *account);
785
795 gboolean purple_account_get_enabled(const PurpleAccount *account,
796 const char *ui);
797
805 PurpleProxyInfo *purple_account_get_proxy_info(const PurpleAccount *account);
806
816 PurplePrivacyType purple_account_get_privacy_type(const PurpleAccount *account);
817
828 PurpleStatus *purple_account_get_active_status(const PurpleAccount *account);
829
841 PurpleStatus *purple_account_get_status(const PurpleAccount *account,
842 const char *status_id);
843
852 PurpleStatusType *purple_account_get_status_type(const PurpleAccount *account,
853 const char *id);
854
866 PurpleStatusType *purple_account_get_status_type_with_primitive(
867 const PurpleAccount *account,
868 PurpleStatusPrimitive primitive);
869
877 PurplePresence *purple_account_get_presence(const PurpleAccount *account);
878
887 gboolean purple_account_is_status_active(const PurpleAccount *account,
888 const char *status_id);
889
897 GList *purple_account_get_status_types(const PurpleAccount *account);
898
908 int purple_account_get_int(const PurpleAccount *account, const char *name,
909 int default_value);
910
920 const char *purple_account_get_string(const PurpleAccount *account,
921 const char *name,
922 const char *default_value);
923
933 gboolean purple_account_get_bool(const PurpleAccount *account, const char *name,
934 gboolean default_value);
935
946 int purple_account_get_ui_int(const PurpleAccount *account, const char *ui,
947 const char *name, int default_value);
948
959 const char *purple_account_get_ui_string(const PurpleAccount *account,
960 const char *ui, const char *name,
961 const char *default_value);
962
973 gboolean purple_account_get_ui_bool(const PurpleAccount *account, const char *ui,
974 const char *name, gboolean default_value);
975
976
990 PurpleLog *purple_account_get_log(PurpleAccount *account, gboolean create);
991
997 void purple_account_destroy_log(PurpleAccount *account);
998
1007 void purple_account_add_buddy(PurpleAccount *account, PurpleBuddy *buddy);
1017 void purple_account_add_buddy_with_invite(PurpleAccount *account, PurpleBuddy *buddy, const char *message);
1018
1027 void purple_account_add_buddies(PurpleAccount *account, GList *buddies);
1037 void purple_account_add_buddies_with_invite(PurpleAccount *account, GList *buddies, const char *message);
1038
1046 void purple_account_remove_buddy(PurpleAccount *account, PurpleBuddy *buddy,
1047 PurpleGroup *group);
1048
1060 void purple_account_remove_buddies(PurpleAccount *account, GList *buddies,
1061 GList *groups);
1062
1069 void purple_account_remove_group(PurpleAccount *account, PurpleGroup *group);
1070
1078 void purple_account_change_password(PurpleAccount *account, const char *orig_pw,
1079 const char *new_pw);
1080
1087 gboolean purple_account_supports_offline_message(PurpleAccount *account, PurpleBuddy *buddy);
1088
1099 const PurpleConnectionErrorInfo *purple_account_get_current_error(PurpleAccount *account);
1100
1106 void purple_account_clear_current_error(PurpleAccount *account);
1107
1110 /**************************************************************************/
1112 /**************************************************************************/
1120 void purple_accounts_add(PurpleAccount *account);
1121
1127 void purple_accounts_remove(PurpleAccount *account);
1128
1138 void purple_accounts_delete(PurpleAccount *account);
1139
1146 void purple_accounts_reorder(PurpleAccount *account, gint new_index);
1147
1153 GList *purple_accounts_get_all(void);
1154
1162 GList *purple_accounts_get_all_active(void);
1163
1172 PurpleAccount *purple_accounts_find(const char *name, const char *protocol);
1173
1183 void purple_accounts_restore_current_statuses(void);
1184
1188 /**************************************************************************/
1190 /**************************************************************************/
1197 void purple_accounts_set_ui_ops(PurpleAccountUiOps *ops);
1198
1204 PurpleAccountUiOps *purple_accounts_get_ui_ops(void);
1205
1212 void purple_account_prefs_set_ui_ops(PurpleAccountPrefsUiOps *ops);
1213
1220 PurpleAccountPrefsUiOps *purple_account_prefs_get_ui_ops(void);
1221
1225 /**************************************************************************/
1227 /**************************************************************************/
1235 void *purple_accounts_get_handle(void);
1236
1240 void purple_accounts_init(void);
1241
1245 void purple_accounts_uninit(void);
1246
1249 #ifdef __cplusplus
1250 }
1251 #endif
1252
1253 #endif /* _PURPLE_ACCOUNT_H_ */
_PurpleAccountPrefsUiOps::set_bool
void(* set_bool)(PurpleAccount *account, const char *name, gboolean value)
Notifies the UI that a boolean account setting was set.
Definition: account.h:144
_PurpleAccount::settings
GHashTable * settings
Protocol-specific settings.
Definition: account.h:185
purple_account_request_close_with_account
void purple_account_request_close_with_account(PurpleAccount *account)
Close account requests registered for the given PurpleAccount.
purple_account_set_privacy_type
void purple_account_set_privacy_type(PurpleAccount *account, PurplePrivacyType privacy_type)
Sets the account&#39;s privacy type.
_PurpleGroup
A group.
Definition: blist.h:167
_PurpleAccount::protocol_id
char * protocol_id
The ID of the protocol.
Definition: account.h:180
purple_account_unregister
void purple_account_unregister(PurpleAccount *account, PurpleAccountUnregistrationCb cb, void *user_data)
Unregisters an account (deleting it from the server).
purple_account_set_status
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.
purple_account_register
void purple_account_register(PurpleAccount *account)
Registers an account.
purple_account_add_buddy_with_invite
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.
purple_account_set_string
void purple_account_set_string(PurpleAccount *account, const char *name, const char *value)
Sets a protocol-specific string setting for an account.
PurpleStatusPrimitive
PurpleStatusPrimitive
A primitive defining the basic structure of a status type.
Definition: status.h:117
_PurpleLog
A log.
Definition: log.h:124
_PurpleAccount::username
char * username
The username.
Definition: account.h:171
purple_account_get_public_alias
void purple_account_get_public_alias(PurpleAccount *account, PurpleGetPublicAliasSuccessCallback success_cb, PurpleGetPublicAliasFailureCallback failure_cb)
Fetch the server-side (public) alias for this account.
_PurpleAccountPrefsUiOps
Account prefs UI operations, to allow the UI to catch account preference changes. ...
Definition: account.h:135
_PurpleAccount::buddy_icon_path
char * buddy_icon_path
The buddy icon&#39;s non-cached path.
Definition: account.h:176
purple_account_get_ui_bool
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.
_PurpleAccount::disconnecting
gboolean disconnecting
The account is currently disconnecting.
Definition: account.h:183
purple_account_clear_settings
void purple_account_clear_settings(PurpleAccount *account)
Clears all protocol-specific settings on an account.
connection.h
Connection API.
purple_account_set_proxy_info
void purple_account_set_proxy_info(PurpleAccount *account, PurpleProxyInfo *info)
Sets the account&#39;s proxy information.
purple_account_get_password
const char * purple_account_get_password(const PurpleAccount *account)
Returns the account&#39;s password.
purple_account_remove_buddies
void purple_account_remove_buddies(PurpleAccount *account, GList *buddies, GList *groups)
Removes a list of buddies from the server-side buddy list.
purple_account_remove_buddy
void purple_account_remove_buddy(PurpleAccount *account, PurpleBuddy *buddy, PurpleGroup *group)
Removes a buddy from the server-side buddy list.
purple_accounts_reorder
void purple_accounts_reorder(PurpleAccount *account, gint new_index)
Reorders an account.
purple_account_get_proxy_info
PurpleProxyInfo * purple_account_get_proxy_info(const PurpleAccount *account)
Returns the account&#39;s proxy information.
PurpleConnectionErrorInfo
Holds the type of an error along with its description.
Definition: connection.h:139
purple_account_get_log
PurpleLog * purple_account_get_log(PurpleAccount *account, gboolean create)
Returns the system log for an account.
purple_account_set_user_info
void purple_account_set_user_info(PurpleAccount *account, const char *user_info)
Sets the account&#39;s user information.
_PurpleAccount::ui_data
void * ui_data
The UI can put data here.
Definition: account.h:210
privacy.h
Privacy API.
purple_account_connect
void purple_account_connect(PurpleAccount *account)
Connects to an account.
purple_account_get_int
int purple_account_get_int(const PurpleAccount *account, const char *name, int default_value)
Returns a protocol-specific integer setting for an account.
purple_account_clear_current_error
void purple_account_clear_current_error(PurpleAccount *account)
Clear an account&#39;s current error state, resetting it to NULL.
purple_account_get_buddy_icon_path
const char * purple_account_get_buddy_icon_path(const PurpleAccount *account)
Gets the account&#39;s buddy icon path.
purple_account_notify_added
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&#39;s buddy list.
_PurpleAccount::password
char * password
The account password.
Definition: account.h:173
purple_account_set_check_mail
void purple_account_set_check_mail(PurpleAccount *account, gboolean value)
Sets whether or not this account should check for mail.
purple_account_set_status_types
void purple_account_set_status_types(PurpleAccount *account, GList *status_types)
Sets the account&#39;s status types.
purple_account_is_connecting
gboolean purple_account_is_connecting(const PurpleAccount *account)
Returns whether or not the account is connecting.
purple_account_get_remember_password
gboolean purple_account_get_remember_password(const PurpleAccount *account)
Returns whether or not this account should save its password.
purple_account_change_password
void purple_account_change_password(PurpleAccount *account, const char *orig_pw, const char *new_pw)
Changes the password on the specified account.
purple_account_supports_offline_message
gboolean purple_account_supports_offline_message(PurpleAccount *account, PurpleBuddy *buddy)
Whether the account supports sending offline messages to buddy.
_PurpleAccount
Structure representing an account.
Definition: account.h:169
purple_account_request_close
void purple_account_request_close(void *ui_handle)
Close the account request for the given ui handle.
purple_account_get_active_status
PurpleStatus * purple_account_get_active_status(const PurpleAccount *account)
Returns the active status for this account.
purple_account_add_buddies
void purple_account_add_buddies(PurpleAccount *account, GList *buddies)
Adds a list of buddies to the server-side buddy list.
purple_account_get_protocol_name
const char * purple_account_get_protocol_name(const PurpleAccount *account)
Returns the account&#39;s protocol name.
purple_accounts_get_handle
void * purple_accounts_get_handle(void)
Returns the accounts subsystem handle.
purple_account_get_string
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.
purple_account_set_bool
void purple_account_set_bool(PurpleAccount *account, const char *name, gboolean value)
Sets a protocol-specific boolean setting for an account.
_PurpleAccountUiOps::request_add
void(* request_add)(PurpleAccount *account, const char *remote_user, const char *id, const char *alias, const char *message)
Someone we don&#39;t have on our list added us; prompt to add them.
Definition: account.h:94
purple_account_destroy_log
void purple_account_destroy_log(PurpleAccount *account)
Frees the system log of an account.
_PurpleAccountPrefsUiOps::schedule_save
void(* schedule_save)(void)
If this is set, the UI will handle scheduling the timer to call the save function, overriding the default timeout of 5 seconds.
Definition: account.h:159
_PurpleAccount::system_log
PurpleLog * system_log
The system log.
Definition: account.h:208
purple_accounts_init
void purple_accounts_init(void)
Initializes the accounts subsystem.
purple_account_get_user_info
const char * purple_account_get_user_info(const PurpleAccount *account)
Returns the account&#39;s user information.
purple_account_get_ui_int
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.
purple_account_remove_setting
void purple_account_remove_setting(PurpleAccount *account, const char *setting)
Removes an account-specific setting by name.
purple_account_set_enabled
void purple_account_set_enabled(PurpleAccount *account, const char *ui, gboolean value)
Sets whether or not this account is enabled for the specified UI.
purple_account_set_ui_string
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.
purple_account_get_status_types
GList * purple_account_get_status_types(const PurpleAccount *account)
Returns the account&#39;s status types.
purple_account_set_status_list
void purple_account_set_status_list(PurpleAccount *account, const char *status_id, gboolean active, GList *attrs)
Activates or deactivates a status.
purple_account_set_protocol_id
void purple_account_set_protocol_id(PurpleAccount *account, const char *protocol_id)
Sets the account&#39;s protocol ID.
_PurpleAccount::alias
char * alias
How you appear to yourself.
Definition: account.h:172
_PurpleAccount::gc
PurpleConnection * gc
The connection handle.
Definition: account.h:182
purple_account_request_change_password
void purple_account_request_change_password(PurpleAccount *account)
Requests information from the user to change the account&#39;s password.
purple_accounts_get_all
GList * purple_accounts_get_all(void)
Returns a list of all accounts.
purple_account_request_add
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&#39;s buddy list and asks ther user if the...
purple_account_set_public_alias
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.
_PurpleAccount::deny
GSList * deny
Deny list.
Definition: account.h:202
purple_account_get_privacy_type
PurplePrivacyType purple_account_get_privacy_type(const PurpleAccount *account)
Returns the account&#39;s privacy type.
purple_account_get_connection
PurpleConnection * purple_account_get_connection(const PurpleAccount *account)
Returns the account&#39;s connection.
purple_account_get_status_type_with_primitive
PurpleStatusType * purple_account_get_status_type_with_primitive(const PurpleAccount *account, PurpleStatusPrimitive primitive)
Returns the account status type with the specified primitive.
purple_account_set_password
void purple_account_set_password(PurpleAccount *account, const char *password)
Sets the account&#39;s password.
purple_account_request_change_user_info
void purple_account_request_change_user_info(PurpleAccount *account)
Requests information from the user to change the account&#39;s user information.
_PurpleAccount::proxy_info
PurpleProxyInfo * proxy_info
Proxy information.
Definition: account.h:188
_PurpleAccountUiOps
Account UI operations, used to notify the user of status changes and when buddies add this account to...
Definition: account.h:78
purple_account_set_register_callback
void purple_account_set_register_callback(PurpleAccount *account, PurpleAccountRegistrationCb cb, void *user_data)
Sets the callback for successful registration.
purple_account_set_connection
void purple_account_set_connection(PurpleAccount *account, PurpleConnection *gc)
Sets the account&#39;s connection.
purple_account_set_username
void purple_account_set_username(PurpleAccount *account, const char *username)
Sets the account&#39;s username.
_PurpleAccountPrefsUiOps::set_int
void(* set_int)(PurpleAccount *account, const char *name, int value)
Notifies the UI that an integer account setting was set.
Definition: account.h:138
purple_account_get_ui_string
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.
purple_account_request_authorization
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...
prpl.h
Protocol Plugin functions.
purple_account_get_current_error
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...
purple_account_get_name_for_display
const gchar * purple_account_get_name_for_display(const PurpleAccount *account)
Returns a name for this account appropriate for display to the user.
proxy.h
Proxy API.
purple_account_disconnect
void purple_account_disconnect(PurpleAccount *account)
Disconnects from an account.
_PurpleAccount::status_types
GList * status_types
Status types.
Definition: account.h:205
PurplePrivacyType
enum _PurplePrivacyType PurplePrivacyType
Privacy data types.
purple_accounts_remove
void purple_accounts_remove(PurpleAccount *account)
Removes an account from the list of accounts.
purple_account_request_password
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.
purple_account_get_status
PurpleStatus * purple_account_get_status(const PurpleAccount *account, const char *status_id)
Returns the account status with the specified ID.
status.h
Status APIA brief explanation of the status API:
PurpleAccountRequestResponse
PurpleAccountRequestResponse
Account request response types.
Definition: account.h:67
purple_account_get_alias
const char * purple_account_get_alias(const PurpleAccount *account)
Returns the account&#39;s alias.
_PurpleAccount::perm_deny
PurplePrivacyType perm_deny
The permit/deny setting.
Definition: account.h:203
purple_accounts_restore_current_statuses
void purple_accounts_restore_current_statuses(void)
This is called by the core after all subsystems and what not have been initialized.
purple_accounts_add
void purple_accounts_add(PurpleAccount *account)
Adds an account to the list of accounts.
purple_account_add_buddies_with_invite
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.
_PurpleAccountPrefsUiOps::save
void(* save)(void)
If this is set, accounts.xml saving will be disabled and this function will be called instead...
Definition: account.h:154
purple_account_set_alias
void purple_account_set_alias(PurpleAccount *account, const char *alias)
Sets the account&#39;s alias.
_PurpleConnection
Definition: connection.h:245
purple_account_set_int
void purple_account_set_int(PurpleAccount *account, const char *name, int value)
Sets a protocol-specific integer setting for an account.
purple_account_destroy
void purple_account_destroy(PurpleAccount *account)
Destroys an account.
purple_account_is_connected
gboolean purple_account_is_connected(const PurpleAccount *account)
Returns whether or not the account is connected.
purple_accounts_uninit
void purple_accounts_uninit(void)
Uninitializes the accounts subsystem.
purple_account_prefs_get_ui_ops
PurpleAccountPrefsUiOps * purple_account_prefs_get_ui_ops(void)
Returns the UI operations structure used for account preferences.
_PurpleBuddy
A buddy.
Definition: blist.h:138
purple_account_set_ui_int
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.
purple_account_get_username
const char * purple_account_get_username(const PurpleAccount *account)
Returns the account&#39;s username.
purple_account_set_ui_bool
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.
purple_account_add_buddy
void purple_account_add_buddy(PurpleAccount *account, PurpleBuddy *buddy)
Adds a buddy to the server-side buddy list for the specified account.
purple_account_set_buddy_icon_path
void purple_account_set_buddy_icon_path(PurpleAccount *account, const char *path)
Sets the account&#39;s buddy icon path.
purple_accounts_set_ui_ops
void purple_accounts_set_ui_ops(PurpleAccountUiOps *ops)
Sets the UI operations structure to be used for accounts.
purple_account_get_silence_suppression
gboolean purple_account_get_silence_suppression(const PurpleAccount *account)
Return whether silence suppression is used during voice call.
_PurpleAccount::ui_settings
GHashTable * ui_settings
UI-specific settings.
Definition: account.h:186
purple_account_get_presence
PurplePresence * purple_account_get_presence(const PurpleAccount *account)
Returns the account&#39;s presence.
_PurpleAccount::priv
gpointer priv
Pointer to opaque private data.
Definition: account.h:214
purple_account_set_silence_suppression
void purple_account_set_silence_suppression(PurpleAccount *account, gboolean value)
Sets whether silence suppression is used during voice call.
_PurpleAccountPrefsUiOps::load
void(* load)(void)
If this is set, accounts.xml loading will be disabled and this function will be called instead...
Definition: account.h:149
_PurpleAccountPrefsUiOps::set_string
void(* set_string)(PurpleAccount *account, const char *name, const char *value)
Notifies the UI that a string account setting was set.
Definition: account.h:141
purple_account_get_bool
gboolean purple_account_get_bool(const PurpleAccount *account, const char *name, gboolean default_value)
Returns a protocol-specific boolean setting for an account.
purple_account_remove_group
void purple_account_remove_group(PurpleAccount *account, PurpleGroup *group)
Removes a group from the server-side buddy list.
purple_accounts_get_ui_ops
PurpleAccountUiOps * purple_accounts_get_ui_ops(void)
Returns the UI operations structure used for accounts.
purple_account_get_enabled
gboolean purple_account_get_enabled(const PurpleAccount *account, const char *ui)
Returns whether or not this account is enabled for the specified UI.
log.h
Logging API.
purple_account_is_status_active
gboolean purple_account_is_status_active(const PurpleAccount *account, const char *status_id)
Returns whether or not an account status is active.
_PurpleAccount::presence
PurplePresence * presence
Presence.
Definition: account.h:207
_PurpleAccount::permit
GSList * permit
Permit list.
Definition: account.h:201
purple_account_get_check_mail
gboolean purple_account_get_check_mail(const PurpleAccount *account)
Returns whether or not this account should check for mail.
purple_accounts_delete
void purple_accounts_delete(PurpleAccount *account)
Deletes an account.
purple_accounts_find
PurpleAccount * purple_accounts_find(const char *name, const char *protocol)
Finds an account with the specified name and protocol id.
purple_account_get_status_type
PurpleStatusType * purple_account_get_status_type(const PurpleAccount *account, const char *id)
Returns the account status type with the specified ID.
purple_account_set_remember_password
void purple_account_set_remember_password(PurpleAccount *account, gboolean value)
Sets whether or not this account should save its password.
PurpleStatusType
struct _PurpleStatusType PurpleStatusType
PurpleStatusType&#39;s are created by each PRPL.
Definition: status.h:85
purple_accounts_get_all_active
GList * purple_accounts_get_all_active(void)
Returns a list of all enabled accounts.
purple_account_get_protocol_id
const char * purple_account_get_protocol_id(const PurpleAccount *account)
Returns the account&#39;s protocol ID.
_PurpleAccountUiOps::close_account_request
void(* close_account_request)(void *ui_handle)
Close a pending request for authorization.
Definition: account.h:118
_PurpleAccount::remember_pass
gboolean remember_pass
Remember the password.
Definition: account.h:178
purple_account_new
PurpleAccount * purple_account_new(const char *username, const char *protocol_id)
Creates a new account.
PurpleProxyInfo
Information on proxy settings.
Definition: proxy.h:50
_PurpleAccountUiOps::status_changed
void(* status_changed)(PurpleAccount *account, PurpleStatus *status)
This account&#39;s status changed.
Definition: account.h:90
purple_account_prefs_set_ui_ops
void purple_account_prefs_set_ui_ops(PurpleAccountPrefsUiOps *ops)
Sets the UI operations structure to be used for account preferences.
_PurpleAccount::user_info
char * user_info
User information.
Definition: account.h:174
purple_account_is_disconnected
gboolean purple_account_is_disconnected(const PurpleAccount *account)
Returns whether or not the account is disconnected.
_PurpleAccountUiOps::notify_added
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&#39;s buddy list added this account to their buddy list...
Definition: account.h:83
PurpleAccountRequestType
PurpleAccountRequestType
Account request types.
Definition: account.h:59