00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef _KCONFIG_H
00028 #define _KCONFIG_H
00029
00030
00031 #include "kconfigbase.h"
00032
00033 namespace config {
00034
00035 class KConfigPrivate;
00036
00047 class KConfig : public KConfigBase
00048 {
00049
00050 public:
00062 KConfig( const string& fileName = "",
00063 bool bReadOnly = false, bool bUseKDEGlobals = true, const char *resType="config");
00064
00071 virtual ~KConfig();
00072
00085 virtual void rollback(bool bDeep = true);
00086
00087
00091 virtual vector<string> groupList() const;
00092
00104 virtual map<string, string> entryMap(const string &pGroup) const;
00105
00110 virtual void reparseConfiguration();
00111
00117 void setFileWriteMode(int mode);
00118
00124 void setForceGlobal( bool force ) { bForceGlobal = force; }
00125
00130 bool forceGlobal() const { return bForceGlobal; }
00131
00132 protected:
00133
00140 virtual bool internalHasGroup(const string &group) const;
00141
00152 virtual KEntryMap internalEntryMap(const string &pGroup) const;
00153
00164 virtual KEntryMap internalEntryMap() const { return aEntryMap; }
00165
00176 virtual void putData(const KEntryKey &_key, const KEntry &_data, bool _checkGroup=true);
00177
00186 virtual KEntry lookupData(const KEntryKey &_key) const;
00187
00195 KEntryMap aEntryMap;
00196
00197 private:
00202 KConfig( const KConfig& );
00207 KConfig& operator= ( const KConfig& rConfig );
00208
00209 private:
00210 bool bGroupImmutable : 1;
00211 bool bFileImmutable : 1;
00212 bool bForceGlobal : 1;
00213 protected:
00214 virtual void virtual_hook( int id, void* data );
00215 private:
00216 KConfigPrivate *d;
00217 };
00218
00219 };
00220
00221 #endif