00001
00025 #ifndef _GAIM_ACCOUNT_OPT_H_
00026 #define _GAIM_ACCOUNT_OPT_H_
00027
00028 #include "prefs.h"
00029
00036 typedef struct
00037 {
00038 GaimPrefType 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 } GaimAccountOption;
00053
00060 typedef struct
00061 {
00062 char *text;
00063 char *default_value;
00064 char field_sep;
00066 } GaimAccountUserSplit;
00067
00068 #ifdef __cplusplus
00069 extern "C" {
00070 #endif
00071
00072
00074
00086 GaimAccountOption *gaim_account_option_new(GaimPrefType type, const char *text,
00087 const char *pref_name);
00088
00098 GaimAccountOption *gaim_account_option_bool_new(const char *text,
00099 const char *pref_name,
00100 gboolean default_value);
00101
00111 GaimAccountOption *gaim_account_option_int_new(const char *text,
00112 const char *pref_name,
00113 int default_value);
00114
00124 GaimAccountOption *gaim_account_option_string_new(const char *text,
00125 const char *pref_name,
00126 const char *default_value);
00127
00143 GaimAccountOption *gaim_account_option_list_new(const char *text,
00144 const char *pref_name,
00145 GList *list);
00146
00152 void gaim_account_option_destroy(GaimAccountOption *option);
00153
00160 void gaim_account_option_set_default_bool(GaimAccountOption *option,
00161 gboolean value);
00162
00169 void gaim_account_option_set_default_int(GaimAccountOption *option,
00170 int value);
00171
00178 void gaim_account_option_set_default_string(GaimAccountOption *option,
00179 const char *value);
00180
00193 void gaim_account_option_set_list(GaimAccountOption *option, GList *values);
00194
00202 void gaim_account_option_add_list_item(GaimAccountOption *option,
00203 const char *key, const char *value);
00204
00212 GaimPrefType gaim_account_option_get_type(const GaimAccountOption *option);
00213
00221 const char *gaim_account_option_get_text(const GaimAccountOption *option);
00222
00230 const char *gaim_account_option_get_setting(const GaimAccountOption *option);
00231
00239 gboolean gaim_account_option_get_default_bool(const GaimAccountOption *option);
00240
00248 int gaim_account_option_get_default_int(const GaimAccountOption *option);
00249
00257 const char *gaim_account_option_get_default_string(
00258 const GaimAccountOption *option);
00259
00267 const GList *gaim_account_option_get_list(const GaimAccountOption *option);
00268
00272
00274
00286 GaimAccountUserSplit *gaim_account_user_split_new(const char *text,
00287 const char *default_value,
00288 char sep);
00289
00295 void gaim_account_user_split_destroy(GaimAccountUserSplit *split);
00296
00304 const char *gaim_account_user_split_get_text(const GaimAccountUserSplit *split);
00305
00313 const char *gaim_account_user_split_get_default_value(
00314 const GaimAccountUserSplit *split);
00315
00323 char gaim_account_user_split_get_separator(const GaimAccountUserSplit *split);
00324
00327 #ifdef __cplusplus
00328 }
00329 #endif
00330
00331 #endif