KDECore
kconfig.h
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
00020
00021
00022 #ifndef _KCONFIG_H
00023 #define _KCONFIG_H
00024
00025 class QTimer;
00026
00027 #include <qvaluelist.h>
00028
00029 #include "kconfigbase.h"
00030 #include "klockfile.h"
00031
00032 class KConfigPrivate;
00033
00043 class KDECORE_EXPORT KConfig : public KConfigBase
00044 {
00045 Q_OBJECT
00046
00047 public:
00048
00062 KConfig( const QString& fileName = QString::null,
00063 bool bReadOnly = false, bool bUseKDEGlobals = true, const char *resType="config");
00064
00065 KConfig(KConfigBackEnd *backEnd, bool bReadOnly = false);
00066
00073 virtual ~KConfig();
00074
00087 virtual void rollback(bool bDeep = true);
00088
00089
00094 virtual QStringList groupList() const;
00095
00107 virtual QMap<QString, QString> entryMap(const QString &pGroup) const;
00108
00113 virtual void reparseConfiguration();
00114
00121 void setFileWriteMode(int mode);
00122
00129 void setForceGlobal( bool force ) { bForceGlobal = force; }
00130
00136 bool forceGlobal() const { return bForceGlobal; }
00137
00152 void checkUpdate(const QString &id, const QString &updateFile);
00153
00165 KConfig* copyTo(const QString &file, KConfig *config=0) const;
00166
00179 KLockFile::Ptr lockFile( bool bGlobal=false );
00180
00181 protected:
00182
00189 virtual bool internalHasGroup(const QCString &group) const;
00190
00201 virtual KEntryMap internalEntryMap(const QString &pGroup) const;
00202
00212 virtual KEntryMap internalEntryMap() const { return aEntryMap; }
00213
00224 virtual void putData(const KEntryKey &_key, const KEntry &_data, bool _checkGroup=true);
00225
00234 virtual KEntry lookupData(const KEntryKey &_key) const;
00235
00243 KEntryMap aEntryMap;
00244
00245 private:
00250 KConfig( const KConfig& );
00255 KConfig& operator= ( const KConfig& rConfig );
00256
00257 private:
00258 bool bGroupImmutable : 1;
00259 bool bFileImmutable : 1;
00260 bool bForceGlobal : 1;
00261 protected:
00262 virtual void virtual_hook( int id, void* data );
00263 private:
00264 KConfigPrivate *d;
00265 };
00266
00273 class KDECORE_EXPORT KSharedConfig : public KConfig, public KShared
00274 {
00275 friend class QValueList<KSharedConfig*>;
00276 public:
00277 typedef KSharedPtr<KSharedConfig> Ptr;
00278
00279 public:
00286 static KSharedConfig::Ptr openConfig(const QString& fileName, bool readOnly = false,
00287 bool bUseKDEGlobals = true);
00288
00289 private:
00290 KSharedConfig( const QString& fileName, bool readOnly, bool useKDEGlobals );
00291 ~KSharedConfig();
00292
00293 static QValueList<KSharedConfig*> *s_list;
00294 };
00295
00296 #endif