accountopt.h

Go to the documentation of this file.
00001 
00025 #ifndef _PURPLE_ACCOUNTOPT_H_
00026 #define _PURPLE_ACCOUNTOPT_H_
00027 
00028 #include "prefs.h"
00029 
00036 typedef struct
00037 {
00038     PurplePrefType type;      
00040     char *text;             
00041     char *pref_name;        
00043     union
00044     {
00045         gboolean boolean;   
00046         int integer;        
00047         char *string;       
00048         GList *list;        
00050     } default_value;
00051 
00052     gboolean masked;
00053 
00054 } PurpleAccountOption;
00055 
00062 typedef struct
00063 {
00064     char *text;             
00065     char *default_value;    
00066     char  field_sep;        
00068 } PurpleAccountUserSplit;
00069 
00070 #ifdef __cplusplus
00071 extern "C" {
00072 #endif
00073 
00074 /**************************************************************************/
00076 /**************************************************************************/
00088 PurpleAccountOption *purple_account_option_new(PurplePrefType type, const char *text,
00089                                            const char *pref_name);
00090 
00100 PurpleAccountOption *purple_account_option_bool_new(const char *text,
00101                                                 const char *pref_name,
00102                                                 gboolean default_value);
00103 
00113 PurpleAccountOption *purple_account_option_int_new(const char *text,
00114                                                const char *pref_name,
00115                                                int default_value);
00116 
00126 PurpleAccountOption *purple_account_option_string_new(const char *text,
00127                                                   const char *pref_name,
00128                                                   const char *default_value);
00129 
00145 PurpleAccountOption *purple_account_option_list_new(const char *text,
00146                                                 const char *pref_name,
00147                                                 GList *list);
00148 
00154 void purple_account_option_destroy(PurpleAccountOption *option);
00155 
00162 void purple_account_option_set_default_bool(PurpleAccountOption *option,
00163                                           gboolean value);
00164 
00171 void purple_account_option_set_default_int(PurpleAccountOption *option,
00172                                          int value);
00173 
00180 void purple_account_option_set_default_string(PurpleAccountOption *option,
00181                                             const char *value);
00182 
00189 void
00190 purple_account_option_set_masked(PurpleAccountOption *option, gboolean masked);
00191 
00204 void purple_account_option_set_list(PurpleAccountOption *option, GList *values);
00205 
00213 void purple_account_option_add_list_item(PurpleAccountOption *option,
00214                                        const char *key, const char *value);
00215 
00223 PurplePrefType purple_account_option_get_type(const PurpleAccountOption *option);
00224 
00232 const char *purple_account_option_get_text(const PurpleAccountOption *option);
00233 
00241 const char *purple_account_option_get_setting(const PurpleAccountOption *option);
00242 
00250 gboolean purple_account_option_get_default_bool(const PurpleAccountOption *option);
00251 
00259 int purple_account_option_get_default_int(const PurpleAccountOption *option);
00260 
00268 const char *purple_account_option_get_default_string(
00269     const PurpleAccountOption *option);
00270 
00278 const char *purple_account_option_get_default_list_value(
00279     const PurpleAccountOption *option);
00280 
00288 gboolean
00289 purple_account_option_get_masked(const PurpleAccountOption *option);
00290 
00298 const GList *purple_account_option_get_list(const PurpleAccountOption *option);
00299 
00303 /**************************************************************************/
00305 /**************************************************************************/
00317 PurpleAccountUserSplit *purple_account_user_split_new(const char *text,
00318                                                   const char *default_value,
00319                                                   char sep);
00320 
00326 void purple_account_user_split_destroy(PurpleAccountUserSplit *split);
00327 
00335 const char *purple_account_user_split_get_text(const PurpleAccountUserSplit *split);
00336 
00344 const char *purple_account_user_split_get_default_value(
00345         const PurpleAccountUserSplit *split);
00346 
00354 char purple_account_user_split_get_separator(const PurpleAccountUserSplit *split);
00355 
00358 #ifdef __cplusplus
00359 }
00360 #endif
00361 
00362 #endif /* _PURPLE_ACCOUNTOPT_H_ */