Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __CS_IUTIL_CFGMGR_H__
00020 #define __CS_IUTIL_CFGMGR_H__
00021
00027 #include "csutil/scf.h"
00028
00029 #include "iutil/cfgfile.h"
00030
00031 struct iVFS;
00032
00033
00077 struct iConfigManager : public iConfigFile
00078 {
00079 SCF_INTERFACE(iConfigManager, 2,0,0);
00080 enum
00081 {
00082 PriorityMin = -1000000000,
00083 PriorityVeryLow = -100,
00084 PriorityLow = -50,
00085 PriorityMedium = 0,
00086 PriorityHigh = 50,
00087 PriorityVeryHigh = 100,
00088 PriorityMax = 1000000000
00089 };
00090
00092 enum
00093 {
00094
00095 ConfigPriorityPlugin = PriorityVeryLow,
00096
00097 ConfigPriorityApplication = PriorityLow,
00098
00099 ConfigPriorityUserGlobal = PriorityMedium,
00100
00101 ConfigPriorityUserApp = PriorityHigh,
00102
00103 ConfigPriorityCmdLine = PriorityVeryHigh
00104 };
00105
00110 virtual void AddDomain(iConfigFile*, int priority) = 0;
00120 virtual iConfigFile* AddDomain(char const* path, iVFS*, int priority) = 0;
00130 virtual void RemoveDomain(iConfigFile*) = 0;
00132 virtual void RemoveDomain(char const* path) = 0;
00137 virtual iConfigFile* LookupDomain(char const* path) const = 0;
00139 virtual void SetDomainPriority(char const* path, int priority) = 0;
00144 virtual void SetDomainPriority(iConfigFile*, int priority) = 0;
00149 virtual int GetDomainPriority(char const* path) const = 0;
00154 virtual int GetDomainPriority(iConfigFile*) const = 0;
00155
00161 virtual bool SetDynamicDomain(iConfigFile*) = 0;
00167 virtual iConfigFile* GetDynamicDomain() const = 0;
00169 virtual void SetDynamicDomainPriority(int priority) = 0;
00171 virtual int GetDynamicDomainPriority() const = 0;
00172
00174 virtual void FlushRemoved() = 0;
00175 };
00178 #endif // __CS_IUTIL_CFGMGR_H__