00001
00002 #ifndef CONFIGVARS_H
00003 #define CONFIGVARS_H
00004
00005 class ConfigVars
00006 {
00007 public:
00008 ConfigVars(const char *configFilename=0);
00009 ~ConfigVars();
00010 int readConfigFile(const char *filename);
00011 int addDomain(const char *domain);
00012 int useDomain(const char *domain=0);
00013 int addVariable(const char *name, const char *value);
00014 const char* findVariable(const char *name);
00015 int removeVariable(const char *name);
00016 private:
00017 struct Variable {
00018 const char *name;
00019 const char *value;
00020 struct Variable *next;
00021 };
00022 struct Domain {
00023 const char *name;
00024 struct Variable *vars;
00025 struct Domain *next;
00026 };
00027 Variable* findVariableRec(const char *name);
00028 Domain *domains;
00029 Domain *domainInUse;
00030 };
00031
00032 #endif