Main Page   File List   File Members  

tucs.h

Go to the documentation of this file.
00001 
00027 #ifndef __TUCS_H_INCLUDED__
00028 #define __TUCS_H_INCLUDED__
00029 
00034 #define TUCS "0.1.15"
00035 
00057 typedef struct setting * tucs_setting;
00058 
00062 #define TUCS_BADSETTING NULL
00063 
00068 typedef enum {
00070   TypeGeneric =  1,   /* if not known */
00071   TypeString  =  2,
00072   TypeInt     =  3,
00073   TypeDouble  =  4,
00074   TypeBool    =  5,
00075   /* container settings */
00076   TypeGroup   = 10,
00077   TypeList    = 11
00078 } tucs_type;
00079 
00083 typedef unsigned char tucs_bool;
00084 
00088 typedef enum {
00089   OK,
00090   EOutOfMem, EWrongType, ENotGroup, EIsGroup, EInvalidSetting,
00091   ENoParentGroup
00092 } tucs_errors;
00093 
00097 tucs_errors tucs_error;
00098 
00102 typedef enum {
00103   SyncImmediate = 1,
00104   SyncOnCommand = 2
00105 } tucs_syncMode;
00106 
00110 typedef enum {
00111   MetaNever         = 1,
00112   MetaIfMissing     = 2,
00113   MetaIfRootMissing = 3
00114 } tucs_metaconfigMode;
00115 
00120 int tucs_init(const char * base_path);
00121 
00122 
00131 tucs_setting
00132 tucs_declareStringSetting(const char * name, const char * defval, 
00133   const char * sdesc, int flags);
00135 tucs_setting
00136 tucs_declareIntSetting(const char * name, int defval, 
00137   const char * sdesc, int flags);
00139 tucs_setting
00140 tucs_declareDoubleSetting(const char * name, double defval, 
00141   const char * sdesc, int flags);
00143 tucs_setting
00144 tucs_declareBoolSetting(const char * name, tucs_bool defval, 
00145   const char * sdesc, int flags);
00146 
00155 tucs_setting tucs_getSetting(const char * name);
00156 
00160 tucs_setting tucs_getGroupHandle(const char * base_path);
00161 
00165 const char * tucs_getStringValue(tucs_setting setting);
00166 int    tucs_getIntValue(tucs_setting setting);
00170 const char * tucs_getStringValueByName(const char * name, const char * defval);
00171 int    tucs_getIntValueByName(const char * name, int defval);
00172 
00176 int tucs_setStringValue(tucs_setting setting, const char *    newval);
00177 int tucs_setIntValue   (tucs_setting setting, int       newval);
00178 int tucs_setDoubleValue(tucs_setting setting, double    newval);
00179 int tucs_setBoolValue  (tucs_setting setting, tucs_bool newval);
00183 int tucs_setStringValueByName(const char * name, const char *    newval);
00184 int tucs_setIntValueByName   (const char * name, int       newval);
00185 int tucs_setDoubleValueByName(const char * name, double    newval);
00186 int tucs_setBoolValueByName  (const char * name, tucs_bool newval);
00187 
00191 int tucs_setSettingDefault(tucs_setting setting);
00192 
00197 const char * tucs_getName(const tucs_setting setting);
00199 const char * tucs_getPath(const tucs_setting setting);
00201 const char * tucs_getPrefix(const tucs_setting setting);
00203 const char * tucs_getDescription(const tucs_setting setting);
00205 tucs_type tucs_getType(const tucs_setting setting);
00206 
00207 
00214 tucs_setting tucs_setBase(const char * base_path);
00215 
00221 int tucs_setSearchOrder(const char * searchlist);
00222 
00223 
00227 int tucs_setSyncMode(tucs_syncMode syncMode);
00228 
00233 int tucs_setMetaconfigMode(tucs_metaconfigMode mode);
00234 
00238 tucs_setting tucs_getGroupFirst(tucs_setting group);
00239 
00243 tucs_setting tucs_getGroupNext(tucs_setting group);
00244 
00249 tucs_setting tucs_getMetaGroup(const tucs_setting set);
00250 
00255 tucs_setting tucs_getMetaGroupByName(const char * pathname);
00256 
00261 tucs_setting tucs_recreateMetaGroup(const tucs_setting set);
00262 
00267 int tucs_commit(void);
00268 
00274 void tucs_commitSetting(tucs_setting setting);
00275 
00279 void tucs_close(void);
00280 
00281 
00283 char * tucs_getCurrentUser(void);
00284 
00287 void tucs_debugWrite(void);
00288 
00289 
00290 
00291 #endif

Generated at Wed Feb 28 23:05:54 2001 for TUCS by doxygen1.2.5 written by Dimitri van Heesch, © 1997-2001