47
string FullTag() const;
49
string FullTag(const Item *Stop = 0) const;
49
51
Item() : Parent(0), Child(0), Next(0) {};
53
59
Item *Lookup(Item *Head,const char *S,unsigned long Len,bool Create);
54
Item *Lookup(const char *Name,bool Create);
60
Item *Lookup(const char *Name,bool Create);
61
inline const Item *Lookup(const char *Name) const
63
return ((Configuration *)this)->Lookup(Name,false);
58
string Find(const char *Name,const char *Default = 0);
59
string Find(string Name,const char *Default = 0) {return Find(Name.c_str(),Default);};
60
string FindFile(const char *Name,const char *Default = 0);
61
string FindDir(const char *Name,const char *Default = 0);
62
int FindI(const char *Name,int Default = 0);
63
int FindI(string Name,bool Default = 0) {return FindI(Name.c_str(),Default);};
64
bool FindB(const char *Name,bool Default = false);
65
bool FindB(string Name,bool Default = false) {return FindB(Name.c_str(),Default);};
68
string Find(const char *Name,const char *Default = 0) const;
69
string Find(string Name,const char *Default = 0) const {return Find(Name.c_str(),Default);};
70
string FindFile(const char *Name,const char *Default = 0) const;
71
string FindDir(const char *Name,const char *Default = 0) const;
72
int FindI(const char *Name,int Default = 0) const;
73
int FindI(string Name,bool Default = 0) const {return FindI(Name.c_str(),Default);};
74
bool FindB(const char *Name,bool Default = false) const;
75
bool FindB(string Name,bool Default = false) const {return FindB(Name.c_str(),Default);};
76
string FindAny(const char *Name,const char *Default = 0) const;
67
78
inline void Set(string Name,string Value) {Set(Name.c_str(),Value);};
79
void CndSet(const char *Name,string Value);
68
80
void Set(const char *Name,string Value);
69
81
void Set(const char *Name,int Value);
71
inline bool Exists(string Name) {return Exists(Name.c_str());};
72
bool Exists(const char *Name);
74
inline const Item *Tree(const char *Name) {return Lookup(Name,false);};
83
inline bool Exists(string Name) const {return Exists(Name.c_str());};
84
bool Exists(const char *Name) const;
85
bool ExistsAny(const char *Name) const;
87
void Clear(string Name);
89
inline const Item *Tree(const char *Name) const {return Lookup(Name);};
93
Configuration(const Item *Root);
81
98
extern Configuration *_config;
83
bool ReadConfigFile(Configuration &Conf,string File);
100
bool ReadConfigFile(Configuration &Conf,string FName,bool AsSectional = false,
103
bool ReadConfigDir(Configuration &Conf,string Dir,bool AsSectional = false,