accountopt.h

Go to the documentation of this file.
00001 
00006 /* purple
00007  *
00008  * Purple is the legal property of its developers, whose names are too numerous
00009  * to list here.  Please refer to the COPYRIGHT file distributed with this
00010  * source distribution.
00011  *
00012  * This program is free software; you can redistribute it and/or modify
00013  * it under the terms of the GNU General Public License as published by
00014  * the Free Software Foundation; either version 2 of the License, or
00015  * (at your option) any later version.
00016  *
00017  * This program is distributed in the hope that it will be useful,
00018  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00019  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00020  * GNU General Public License for more details.
00021  *
00022  * You should have received a copy of the GNU General Public License
00023  * along with this program; if not, write to the Free Software
00024  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
00025  */
00026 #ifndef _PURPLE_ACCOUNTOPT_H_
00027 #define _PURPLE_ACCOUNTOPT_H_
00028 
00029 #include "prefs.h"
00030 
00037 typedef struct
00038 {
00039     PurplePrefType type;      
00041     char *text;             
00042     char *pref_name;        
00044     union
00045     {
00046         gboolean boolean;   
00047         int integer;        
00048         char *string;       
00049         GList *list;        
00051     } default_value;
00052 
00053     gboolean masked;        
00057 } PurpleAccountOption;
00058 
00065 typedef struct
00066 {
00067     char *text;             
00068     char *default_value;    
00069     char  field_sep;        
00070     gboolean reverse;       
00074 } PurpleAccountUserSplit;
00075 
00076 #ifdef __cplusplus
00077 extern "C" {
00078 #endif
00079 
00080 /**************************************************************************/
00082 /**************************************************************************/
00094 PurpleAccountOption *purple_account_option_new(PurplePrefType type, const char *text,
00095                                            const char *pref_name);
00096 
00106 PurpleAccountOption *purple_account_option_bool_new(const char *text,
00107                                                 const char *pref_name,
00108                                                 gboolean default_value);
00109 
00119 PurpleAccountOption *purple_account_option_int_new(const char *text,
00120                                                const char *pref_name,
00121                                                int default_value);
00122 
00132 PurpleAccountOption *purple_account_option_string_new(const char *text,
00133                                                   const char *pref_name,
00134                                                   const char *default_value);
00135 
00151 PurpleAccountOption *purple_account_option_list_new(const char *text,
00152                                                 const char *pref_name,
00153                                                 GList *list);
00154 
00160 void purple_account_option_destroy(PurpleAccountOption *option);
00161 
00168 void purple_account_option_set_default_bool(PurpleAccountOption *option,
00169                                           gboolean value);
00170 
00177 void purple_account_option_set_default_int(PurpleAccountOption *option,
00178                                          int value);
00179 
00186 void purple_account_option_set_default_string(PurpleAccountOption *option,
00187                                             const char *value);
00188 
00197 void
00198 purple_account_option_set_masked(PurpleAccountOption *option, gboolean masked);
00199 
00212 void purple_account_option_set_list(PurpleAccountOption *option, GList *values);
00213 
00221 void purple_account_option_add_list_item(PurpleAccountOption *option,
00222                                        const char *key, const char *value);
00223 
00231 PurplePrefType purple_account_option_get_type(const PurpleAccountOption *option);
00232 
00240 const char *purple_account_option_get_text(const PurpleAccountOption *option);
00241 
00249 const char *purple_account_option_get_setting(const PurpleAccountOption *option);
00250 
00258 gboolean purple_account_option_get_default_bool(const PurpleAccountOption *option);
00259 
00267 int purple_account_option_get_default_int(const PurpleAccountOption *option);
00268 
00276 const char *purple_account_option_get_default_string(
00277     const PurpleAccountOption *option);
00278 
00286 const char *purple_account_option_get_default_list_value(
00287     const PurpleAccountOption *option);
00288 
00298 gboolean
00299 purple_account_option_get_masked(const PurpleAccountOption *option);
00300 
00308 GList *purple_account_option_get_list(const PurpleAccountOption *option);
00309 
00313 /**************************************************************************/
00315 /**************************************************************************/
00327 PurpleAccountUserSplit *purple_account_user_split_new(const char *text,
00328                                                   const char *default_value,
00329                                                   char sep);
00330 
00336 void purple_account_user_split_destroy(PurpleAccountUserSplit *split);
00337 
00345 const char *purple_account_user_split_get_text(const PurpleAccountUserSplit *split);
00346 
00354 const char *purple_account_user_split_get_default_value(
00355         const PurpleAccountUserSplit *split);
00356 
00364 char purple_account_user_split_get_separator(const PurpleAccountUserSplit *split);
00365 
00373 gboolean purple_account_user_split_get_reverse(const PurpleAccountUserSplit *split);
00374 
00381 void purple_account_user_split_set_reverse(PurpleAccountUserSplit *split, gboolean reverse);
00382 
00385 #ifdef __cplusplus
00386 }
00387 #endif
00388 
00389 #endif /* _PURPLE_ACCOUNTOPT_H_ */