diff options
Diffstat (limited to 'kdecore/kconfig.h')
-rw-r--r-- | kdecore/kconfig.h | 296 |
1 files changed, 0 insertions, 296 deletions
diff --git a/kdecore/kconfig.h b/kdecore/kconfig.h deleted file mode 100644 index 19ff09314..000000000 --- a/kdecore/kconfig.h +++ /dev/null @@ -1,296 +0,0 @@ -/* - This file is part of the KDE libraries - Copyright (c) 1999 Preston Brown <pbrown@kde.org> - Copyright (C) 1997 Matthias Kalle Dalheimer <kalle@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#ifndef _KCONFIG_H -#define _KCONFIG_H - -class TQTimer; - -#include <tqvaluelist.h> - -#include "kconfigbase.h" -#include "klockfile.h" - -class KConfigPrivate; - -/** -* Access KDE Configuration entries. -* -* This class implements KDE's default configuration system. -* -* @author Kalle Dalheimer <kalle@kde.org>, Preston Brown <pbrown@kde.org> -* @see KGlobal::config(), KConfigBase, KSimpleConfig -* @short KDE Configuration Management class -*/ -class KDECORE_EXPORT KConfig : public KConfigBase -{ - Q_OBJECT - -public: - - /** - * Constructs a KConfig object. - * - * @param fileName A file to parse in addition to the - * system-wide file(s). If it is not provided, only global - * KDE configuration data will be read (depending on the value of - * @p bUseKDEGlobals). - * @param bReadOnly Set the config object's read-only status. Note that the - * object will automatically become read-only if either the user does not have - * write permission to @p fileName or if no file was specified. - * @param bUseKDEGlobals Toggle reading the global KDE configuration file. - * @param resType the place to look in (config, data, etc) See KStandardDirs. - */ - KConfig( const TQString& fileName = TQString::null, - bool bReadOnly = false, bool bUseKDEGlobals = true, const char *resType="config"); - - KConfig(KConfigBackEnd *backEnd, bool bReadOnly = false); - - /** - * Destructs the KConfig object. - * - * Writes back any dirty configuration entries, and destroys - * dynamically created objects. - */ - virtual ~KConfig(); - - /** - * Clears all entries out of the @p dirtyEntryMap, so the - * values will not be written to disk on a later call to - * sync(). - * - * @param bDeep If true, the dirty map is actually emptied. - * otherwise, the config object's global dirty flag is set to - * false, but the dirty entries remain in the dirty entry - * map. - * - * @see KConfigBase::rollback - */ - virtual void rollback(bool bDeep = true); - - - /** - * Returns a list of groups that are known. - * @return a list of of groups - */ - virtual TQStringList groupList() const; - - /** - * Returns a map (tree) of entries for all entries in a particular - * group. - * - * Only the actual entry string is returned, none of the - * other internal data should be included. - * - * @param pGroup A group to get keys from. - * @return A map of entries in the group specified, indexed by key. - * The returned map may be empty if the group is not found. - */ - virtual TQMap<TQString, TQString> entryMap(const TQString &pGroup) const; - - /** - * Clears all internal data structures and then reread - * configuration information from disk. - */ - virtual void reparseConfiguration(); - - /** - * Set the file mode for newly created files. - * - * @param mode the mode for new files as described in chmod(2) - * @see man:chmod(2) for a description of @p mode - */ - void setFileWriteMode(int mode); - - /** - * Forces all following write-operations being performed on kdeglobals, - * independent of the bGlobal flag in writeEntry(). - * @param force true to force writing in kdeglobals - * @see forceGlobal - */ - void setForceGlobal( bool force ) { bForceGlobal = force; } - - /** - * Returns true if all entries are being written into kdeglobals. - * @return true if all entries are being written into kdeglobals - * @see setForceGlobal - */ - bool forceGlobal() const { return bForceGlobal; } - - /** - * Checks whether the config file contains the update @p id - * as contained in @p updateFile. If not, it runs kconf_update - * to update the config file. - * - * If you install config update files with critical fixes - * you may wish to use this method to verify that a critical - * update has indeed been performed to catch the case where - * a user restores an old config file from backup that has - * not been updated yet. - * @param id the update to check - * @param updateFile the file containing the update - * @since 3.1 - */ - void checkUpdate(const TQString &id, const TQString &updateFile); - - /** - * Copies all entries from this config object to a new config - * object that will save itself to @p file. - * - * Actual saving to @p file happens when the returned object is - * destructed or when sync() is called upon it. - * - * @param file the new config object will save itself to. - * @param config optional config object to reuse - * @since 3.2 - */ - KConfig* copyTo(const TQString &file, KConfig *config=0) const; - - /** - * Returns a lock file object for the configuration file or 0 if - * the backend does not support locking. - * @param bGlobal if true, return the lock file for the global config file - * - * NOTE: KConfig::sync() requires a lock on both the normal and global - * config file. When calling KConfig::sync() while having a lock on the - * global config file, the normal config file MUST be locked AS WELL and the - * normal config file MUST be locked BEFORE the global config file! - * Otherwise there is a risk of deadlock. - * @since 3.3 - */ - KLockFile::Ptr lockFile( bool bGlobal=false ); - -protected: - - /** - * Returns true if the specified group is known. - * - * @param group The group to search for. - * @returns true if the group exists. - */ - virtual bool internalHasGroup(const TQCString &group) const; - - /** - * @internal - * Returns a map (tree) of the entries in the specified group. - * - * Do not use this function, the implementation / return type are - * subject to change. - * - * @param pGroup the group to provide a KEntryMap for. - * @return The map of the entries in the group. - */ - virtual KEntryMap internalEntryMap(const TQString &pGroup) const; - - /** - * @internal - * Returns a copy of the internal map used to hold all entries. - * - * Do not use this function, the implementation / return type are - * subject to change. - * - * @return The map of the entries in the group. - */ - virtual KEntryMap internalEntryMap() const { return aEntryMap; } - - /** - * Inserts a (key, value) pair into the internal storage mechanism of - * the configuration object. - * - * @param _key The key to insert. It contains information both on - * the group of the key and the key itself. If the key already - * exists, the old value will be replaced. - * @param _data the KEntry that is to be stored. - * @param _checkGroup When false, assume that the group already exists. - */ - virtual void putData(const KEntryKey &_key, const KEntry &_data, bool _checkGroup=true); - - /** - * Looks up an entry in the config object's internal structure. - * - * @param _key The key to look up It contains information both on - * the group of the key and the entry's key itself. - * @return the KEntry value (data) found for the key. KEntry.aValue - * will be the null string if nothing was located. - */ - virtual KEntry lookupData(const KEntryKey &_key) const; - - /** - * Contains all key,value entries, as well as some "special" - * keys which indicate the start of a group of entries. - * - * These special keys will have the .key portion of their KEntryKey - * set to TQString::null. - */ - KEntryMap aEntryMap; - -private: - /** - * @internal - * copy-construction and assignment are not allowed - */ - KConfig( const KConfig& ); - /** - * @internal - * copy-construction and assignment are not allowed - */ - KConfig& operator= ( const KConfig& rConfig ); - -private: - bool bGroupImmutable : 1; // Current group is immutable. - bool bFileImmutable : 1; // Current file is immutable. - bool bForceGlobal : 1; // Apply everything to kdeglobals. -protected: - virtual void virtual_hook( int id, void* data ); -private: - KConfigPrivate *d; -}; - -/** - * KConfig variant using shared memory - * - * KSharedConfig provides a reference counted, shared memory variant - * of KConfig. - */ -class KDECORE_EXPORT KSharedConfig : public KConfig, public KShared -{ - friend class TQValueList<KSharedConfig*>; -public: - typedef KSharedPtr<KSharedConfig> Ptr; - -public: - /** - * Returns a ref-counted pointer to a shared read-write config object. - * @param fileName the name of the file to use for the configuration - * @param readOnly set the config object's read-only status - * @param bUseKDEGlobals Toggle reading the global KDE configuration file. - */ - static KSharedConfig::Ptr openConfig(const TQString& fileName, bool readOnly = false, - bool bUseKDEGlobals = true); - -private: - KSharedConfig( const TQString& fileName, bool readOnly, bool useKDEGlobals ); - ~KSharedConfig(); - - static TQValueList<KSharedConfig*> *s_list; -}; - -#endif |