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;
00067 gboolean reverse;
00071 } PurpleAccountUserSplit;
00072
00073 #ifdef __cplusplus
00074 extern "C" {
00075 #endif
00076
00077
00079
00091 PurpleAccountOption *purple_account_option_new(PurplePrefType type, const char *text,
00092 const char *pref_name);
00093
00103 PurpleAccountOption *purple_account_option_bool_new(const char *text,
00104 const char *pref_name,
00105 gboolean default_value);
00106
00116 PurpleAccountOption *purple_account_option_int_new(const char *text,
00117 const char *pref_name,
00118 int default_value);
00119
00129 PurpleAccountOption *purple_account_option_string_new(const char *text,
00130 const char *pref_name,
00131 const char *default_value);
00132
00148 PurpleAccountOption *purple_account_option_list_new(const char *text,
00149 const char *pref_name,
00150 GList *list);
00151
00157 void purple_account_option_destroy(PurpleAccountOption *option);
00158
00165 void purple_account_option_set_default_bool(PurpleAccountOption *option,
00166 gboolean value);
00167
00174 void purple_account_option_set_default_int(PurpleAccountOption *option,
00175 int value);
00176
00183 void purple_account_option_set_default_string(PurpleAccountOption *option,
00184 const char *value);
00185
00192 void
00193 purple_account_option_set_masked(PurpleAccountOption *option, gboolean masked);
00194
00207 void purple_account_option_set_list(PurpleAccountOption *option, GList *values);
00208
00216 void purple_account_option_add_list_item(PurpleAccountOption *option,
00217 const char *key, const char *value);
00218
00226 PurplePrefType purple_account_option_get_type(const PurpleAccountOption *option);
00227
00235 const char *purple_account_option_get_text(const PurpleAccountOption *option);
00236
00244 const char *purple_account_option_get_setting(const PurpleAccountOption *option);
00245
00253 gboolean purple_account_option_get_default_bool(const PurpleAccountOption *option);
00254
00262 int purple_account_option_get_default_int(const PurpleAccountOption *option);
00263
00271 const char *purple_account_option_get_default_string(
00272 const PurpleAccountOption *option);
00273
00281 const char *purple_account_option_get_default_list_value(
00282 const PurpleAccountOption *option);
00283
00291 gboolean
00292 purple_account_option_get_masked(const PurpleAccountOption *option);
00293
00301 GList *purple_account_option_get_list(const PurpleAccountOption *option);
00302
00306
00308
00320 PurpleAccountUserSplit *purple_account_user_split_new(const char *text,
00321 const char *default_value,
00322 char sep);
00323
00329 void purple_account_user_split_destroy(PurpleAccountUserSplit *split);
00330
00338 const char *purple_account_user_split_get_text(const PurpleAccountUserSplit *split);
00339
00347 const char *purple_account_user_split_get_default_value(
00348 const PurpleAccountUserSplit *split);
00349
00357 char purple_account_user_split_get_separator(const PurpleAccountUserSplit *split);
00358
00366 gboolean purple_account_user_split_get_reverse(const PurpleAccountUserSplit *split);
00367
00374 void purple_account_user_split_set_reverse(PurpleAccountUserSplit *split, gboolean reverse);
00375
00378 #ifdef __cplusplus
00379 }
00380 #endif
00381
00382 #endif