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