tdecore
tdeconfig.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _TDECONFIG_H
00023 #define _TDECONFIG_H
00024
00025 class TQTimer;
00026
00027 #include <tqvaluelist.h>
00028
00029 #include "tdeconfigbase.h"
00030 #include "klockfile.h"
00031
00032 class TDEConfigPrivate;
00033
00043 class TDECORE_EXPORT TDEConfig : public TDEConfigBase
00044 {
00045 Q_OBJECT
00046
00047 public:
00048
00062 TDEConfig( const TQString& fileName = TQString::null,
00063 bool bReadOnly = false, bool bUseKDEGlobals = true, const char *resType="config");
00064
00065 TDEConfig(TDEConfigBackEnd *backEnd, bool bReadOnly = false);
00066
00073 virtual ~TDEConfig();
00074
00087 virtual void rollback(bool bDeep = true);
00088
00089
00094 virtual TQStringList groupList() const;
00095
00107 virtual TQMap<TQString, TQString> entryMap(const TQString &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 TQString &id, const TQString &updateFile);
00153
00165 TDEConfig* copyTo(const TQString &file, TDEConfig *config=0) const;
00166
00179 TDELockFile::Ptr lockFile( bool bGlobal=false );
00180
00181 protected:
00182
00189 virtual bool internalHasGroup(const TQCString &group) const;
00190
00201 virtual KEntryMap internalEntryMap(const TQString &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 TDEConfig( const TDEConfig& );
00255 TDEConfig& operator= ( const TDEConfig& 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 TDEConfigPrivate *d;
00265 };
00266
00273 class TDECORE_EXPORT TDESharedConfig : public TDEConfig, public TDEShared
00274 {
00275 friend class TQValueList<TDESharedConfig*>;
00276 public:
00277 typedef TDESharedPtr<TDESharedConfig> Ptr;
00278
00279 public:
00286 static TDESharedConfig::Ptr openConfig(const TQString& fileName, bool readOnly = false,
00287 bool bUseKDEGlobals = true);
00288
00289 private:
00290 TDESharedConfig( const TQString& fileName, bool readOnly, bool useKDEGlobals );
00291 ~TDESharedConfig();
00292
00293 static TQValueList<TDESharedConfig*> *s_list;
00294 };
00295
00296 #endif