account.h

Go to the documentation of this file.
00001 
00027 #ifndef _GAIM_ACCOUNT_H_
00028 #define _GAIM_ACCOUNT_H_
00029 
00030 #include <glib.h>
00031 
00032 typedef struct _GaimAccountUiOps GaimAccountUiOps;
00033 typedef struct _GaimAccount      GaimAccount;
00034 
00035 typedef gboolean (*GaimFilterAccountFunc)(GaimAccount *account);
00036 
00037 #include "connection.h"
00038 #include "log.h"
00039 #include "proxy.h"
00040 #include "prpl.h"
00041 
00042 struct _GaimAccountUiOps
00043 {
00044     void (*notify_added)(GaimAccount *account, const char *remote_user,
00045                          const char *id, const char *alias,
00046                          const char *message);
00047 };
00048 
00049 struct _GaimAccount
00050 {
00051     char *username;             
00052     char *alias;                
00053     char *password;             
00054     char *user_info;            
00056     char *buddy_icon;           
00058     gboolean remember_pass;     
00060     char *protocol_id;          
00062     GaimConnection *gc;         
00064     GHashTable *settings;       
00065     GHashTable *ui_settings;    
00067     GaimProxyInfo *proxy_info;  
00068                                 /*   to NULL when the account inherits    */
00069                                 /*   proxy settings from global prefs.    */
00070 
00071     GSList *permit;             
00072     GSList *deny;               
00073     int perm_deny;              
00074     GaimLog *system_log;        
00076     void *ui_data;             
00077 };
00078 
00079 #ifdef __cplusplus
00080 extern "C" {
00081 #endif
00082 
00083 /**************************************************************************/
00085 /**************************************************************************/
00094 GaimAccount *gaim_account_new(const char *username, const char *protocol_id);
00095 
00101 void gaim_account_destroy(GaimAccount *account);
00102 
00110 GaimConnection *gaim_account_connect(GaimAccount *account);
00111 
00119 GaimConnection *gaim_account_register(GaimAccount *account);
00120 
00128 void gaim_account_disconnect(GaimAccount *account);
00129 
00143 void gaim_account_notify_added(GaimAccount *account, const char *remote_user,
00144                                const char *id, const char *alias,
00145                                const char *message);
00146 
00162 void gaim_account_request_add(GaimAccount *account, const char *remote_user,
00163                               const char *id, const char *alias,
00164                               const char *message);
00165 
00171 void gaim_account_request_change_password(GaimAccount *account);
00172 
00179 void gaim_account_request_change_user_info(GaimAccount *account);
00180 
00187 void gaim_account_set_username(GaimAccount *account, const char *username);
00188 
00195 void gaim_account_set_password(GaimAccount *account, const char *password);
00196 
00203 void gaim_account_set_alias(GaimAccount *account, const char *alias);
00204 
00211 void gaim_account_set_user_info(GaimAccount *account, const char *user_info);
00212 
00219 void gaim_account_set_buddy_icon(GaimAccount *account, const char *icon);
00220 
00227 void gaim_account_set_protocol_id(GaimAccount *account,
00228                                   const char *protocol_id);
00229 
00236 void gaim_account_set_connection(GaimAccount *account, GaimConnection *gc);
00237 
00244 void gaim_account_set_remember_password(GaimAccount *account, gboolean value);
00245 
00252 void gaim_account_set_check_mail(GaimAccount *account, gboolean value);
00253 
00262 void gaim_account_set_auto_login(GaimAccount *account, const char *ui,
00263                                  gboolean value);
00264 
00271 void gaim_account_set_proxy_info(GaimAccount *account, GaimProxyInfo *info);
00272 
00278 void gaim_account_clear_settings(GaimAccount *account);
00279 
00287 void gaim_account_set_int(GaimAccount *account, const char *name, int value);
00288 
00296 void gaim_account_set_string(GaimAccount *account, const char *name,
00297                              const char *value);
00298 
00306 void gaim_account_set_bool(GaimAccount *account, const char *name,
00307                            gboolean value);
00308 
00317 void gaim_account_set_ui_int(GaimAccount *account, const char *ui,
00318                              const char *name, int value);
00319 
00328 void gaim_account_set_ui_string(GaimAccount *account, const char *ui,
00329                                 const char *name, const char *value);
00330 
00339 void gaim_account_set_ui_bool(GaimAccount *account, const char *ui,
00340                               const char *name, gboolean value);
00341 
00349 gboolean gaim_account_is_connected(const GaimAccount *account);
00350 
00358 const char *gaim_account_get_username(const GaimAccount *account);
00359 
00367 const char *gaim_account_get_password(const GaimAccount *account);
00368 
00376 const char *gaim_account_get_alias(const GaimAccount *account);
00377 
00385 const char *gaim_account_get_user_info(const GaimAccount *account);
00386 
00394 const char *gaim_account_get_buddy_icon(const GaimAccount *account);
00395 
00403 const char *gaim_account_get_protocol_id(const GaimAccount *account);
00404 
00412 const char *gaim_account_get_protocol_name(const GaimAccount *account);
00413 
00421 GaimConnection *gaim_account_get_connection(const GaimAccount *account);
00422 
00430 gboolean gaim_account_get_remember_password(const GaimAccount *account);
00431 
00439 gboolean gaim_account_get_check_mail(const GaimAccount *account);
00440 
00450 gboolean gaim_account_get_auto_login(const GaimAccount *account,
00451                                      const char *ui);
00452 
00460 GaimProxyInfo *gaim_account_get_proxy_info(const GaimAccount *account);
00461 
00471 int gaim_account_get_int(const GaimAccount *account, const char *name,
00472                          int default_value);
00473 
00483 const char *gaim_account_get_string(const GaimAccount *account,
00484                                     const char *name,
00485                                     const char *default_value);
00486 
00496 gboolean gaim_account_get_bool(const GaimAccount *account, const char *name,
00497                                gboolean default_value);
00498 
00509 int gaim_account_get_ui_int(const GaimAccount *account, const char *ui,
00510                             const char *name, int default_value);
00511 
00522 const char *gaim_account_get_ui_string(const GaimAccount *account,
00523                                        const char *ui, const char *name,
00524                                        const char *default_value);
00525 
00536 gboolean gaim_account_get_ui_bool(const GaimAccount *account, const char *ui,
00537                                   const char *name, gboolean default_value);
00538 
00539 
00548 GaimLog *gaim_account_get_log(GaimAccount *account);
00549 
00555 void gaim_account_destroy_log(GaimAccount *account);
00556 
00559 /**************************************************************************/
00561 /**************************************************************************/
00570 gboolean gaim_accounts_load();
00571 
00575 void gaim_accounts_sync();
00576 
00582 void gaim_accounts_add(GaimAccount *account);
00583 
00589 void gaim_accounts_remove(GaimAccount *account);
00590 
00600 void gaim_accounts_delete(GaimAccount *account);
00601 
00607 void gaim_accounts_auto_login(const char *ui);
00608 
00615 void gaim_accounts_reorder(GaimAccount *account, size_t new_index);
00616 
00622 GList *gaim_accounts_get_all(void);
00623 
00632 GaimAccount *gaim_accounts_find(const char *name, const char *protocol);
00633 
00637 /**************************************************************************/
00639 /**************************************************************************/
00646 void gaim_accounts_set_ui_ops(GaimAccountUiOps *ops);
00647 
00653 GaimAccountUiOps *gaim_accounts_get_ui_ops(void);
00654 
00658 /**************************************************************************/
00660 /**************************************************************************/
00668 void *gaim_accounts_get_handle(void);
00669 
00673 void gaim_accounts_init(void);
00674 
00678 void gaim_accounts_uninit(void);
00679 
00682 #ifdef __cplusplus
00683 }
00684 #endif
00685 
00686 #endif /* _GAIM_ACCOUNT_H_ */

Generated on Sun Feb 18 08:38:28 2007 for gaim by  doxygen 1.5.1