# kdecore Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# KConfig Class Reference

Access KDE Configuration entries. KDE Configuration Management class. More...

`#include <kconfig.h>`

Inheritance diagram for KConfig:

[legend]
Collaboration diagram for KConfig:

[legend]
List of all members.

## Public Member Functions

| KConfig (const QString &fileName=QString::null, bool bReadOnly=false, bool bUseKDEGlobals=true, const char *resType="config")
| KConfig (KConfigBackEnd *backEnd, bool bReadOnly=false)
virtual | ~KConfig ()
virtual void | rollback (bool bDeep=true)
virtual QStringList | groupList () const
virtual QMap< QString, QString > | entryMap (const QString &pGroup) const
virtual void | reparseConfiguration ()
void | setFileWriteMode (int mode)
void | setForceGlobal (bool force)
bool | forceGlobal () const
void | checkUpdate (const QString &id, const QString &updateFile)
KConfig * | copyTo (const QString &file, KConfig *config=0) const
KLockFile::Ptr | lockFile (bool bGlobal=false)

## Protected Member Functions

virtual bool | internalHasGroup (const QCString &group) const
virtual KEntryMap | internalEntryMap (const QString &pGroup) const
virtual KEntryMap | internalEntryMap () const
virtual void | putData (const KEntryKey &_key, const KEntry &_data, bool _checkGroup=true)
virtual KEntry | lookupData (const KEntryKey &_key) const
virtual void | virtual_hook (int id, void *data)

## Protected Attributes

KEntryMap | aEntryMap

## Detailed Description

Access KDE Configuration entries. KDE Configuration Management class.

This class implements KDE's default configuration system.

Author:
  Kalle Dalheimer <kalle@kde.org>, Preston Brown <pbrown@kde.org>

See also:
  KGlobal::config(), KConfigBase, KSimpleConfig

Definition at line 43 of file kconfig.h.

## Constructor & Destructor Documentation

KConfig::KConfig | ( | const QString & | fileName = `QString::null`,
|  | bool | bReadOnly = `false`,
|  | bool | bUseKDEGlobals = `true`,
|  | const char * | resType = `"config"`
| ) |

Constructs a KConfig object.

Parameters:

  | 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 `bUseKDEGlobals`).
  | 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 `fileName` or if no file was specified.
  | bUseKDEGlobals | Toggle reading the global KDE configuration file.
  | resType | the place to look in (config, data, etc) See KStandardDirs.

Definition at line 44 of file kconfig.cpp.

References reparseConfiguration(), and KConfigBase::setReadOnly().

Referenced by copyTo().

KConfig::~KConfig | ( |  | ) | `[virtual]`

| Destructs the KConfig object. Writes back any dirty configuration entries, and destroys dynamically created objects. Definition at line 87 of file kconfig.cpp. References KConfigBase::sync().

## Member Function Documentation

void KConfig::rollback | ( | bool | bDeep = `true` | ) | `[virtual]`

Clears all entries out of the `dirtyEntryMap`, so the values will not be written to disk on a later call to sync().

Parameters:

  | 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 also:
  KConfigBase::rollback

Reimplemented from KConfigBase.

Definition at line 94 of file kconfig.cpp.

References aEntryMap, and KConfigBase::rollback().

Referenced by KSimpleConfig::sync().

QStringList KConfig::groupList | ( |  | ) | const`[virtual]`

Returns a list of groups that are known.

Returns:
  a list of of groups

Implements KConfigBase.

Definition at line 107 of file kconfig.cpp.

References aEntryMap.

Referenced by copyTo().

QMap< QString, QString > KConfig::entryMap | ( | const QString & | pGroup | ) | const`[virtual]`

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.

Parameters:

  | pGroup | A group to get keys from.

Returns:
  A map of entries in the group specified, indexed by key. The returned map may be empty if the group is not found.

Implements KConfigBase.

Definition at line 141 of file kconfig.cpp.

References aEntryMap, QMap::find(), QString::fromUtf8(), and QMap::insert().

Referenced by copyTo().

void KConfig::reparseConfiguration | ( |  | ) | `[virtual]`

Clears all internal data structures and then reread configuration information from disk.

Implements KConfigBase.

Definition at line 161 of file kconfig.cpp.

References aEntryMap, KConfigBase::isReadOnly(), KConfigBase::parseConfigFiles(), and KConfigBackEnd::sync().

Referenced by checkUpdate(), KInstance::config(), KInstance::dirs(), KConfig(), KDesktopFile::KDesktopFile(), KSimpleConfig::KSimpleConfig(), and KApplication::x11EventFilter().

void KConfig::setFileWriteMode | ( | int | mode | ) |

Set the file mode for newly created files.

Parameters:

  | mode | the mode for new files as described in chmod(2)

See also:
  man:chmod(2) for a description of `mode`

Definition at line 275 of file kconfig.cpp.

References KConfigBackEnd::setFileWriteMode().

void KConfig::setForceGlobal | ( | bool | force | ) | `[inline]`

Forces all following write-operations being performed on kdeglobals, independent of the bGlobal flag in writeEntry().

Parameters:

  | force | true to force writing in kdeglobals

See also:
  forceGlobal

Definition at line 129 of file kconfig.h.

bool KConfig::forceGlobal | ( |  | ) | const`[inline]`

Returns true if all entries are being written into kdeglobals.

Returns:
  true if all entries are being written into kdeglobals

See also:
  setForceGlobal

Definition at line 136 of file kconfig.h.

void KConfig::checkUpdate | ( | const QString & | id,
|  | const QString & | updateFile
| ) |

Checks whether the config file contains the update `id` as contained in `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.

Parameters:

  | id | the update to check
  | updateFile | the file containing the update

Since:
  3.1

Definition at line 287 of file kconfig.cpp.

References KConfigBase::group(), KApplication::kdeinitExecWait(), KConfigBase::readListEntry(), reparseConfiguration(), and KConfigBase::setGroup().

KConfig * KConfig::copyTo | ( | const QString & | file,
|  | KConfig * | config = `0`
| ) | const

Copies all entries from this config object to a new config object that will save itself to `file`.

Actual saving to `file` happens when the returned object is destructed or when sync() is called upon it.

Parameters:

  | file | the new config object will save itself to.
  | config | optional config object to reuse

Since:
  3.2

Definition at line 303 of file kconfig.cpp.

References KConfigBase::backEnd, QMap::begin(), KConfigBackEnd::bFileImmutable, KConfigBackEnd::changeFileName(), QMap::end(), entryMap(), groupList(), KConfig(), and KConfigBackEnd::mConfigState.

Referenced by KDesktopFile::copyTo().

KLockFile::Ptr KConfig::lockFile | ( | bool | bGlobal = `false` | ) |

Returns a lock file object for the configuration file or 0 if the backend does not support locking.

Parameters:

  | 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

Definition at line 280 of file kconfig.cpp.

References KConfigBackEnd::lockFile().

bool KConfig::internalHasGroup | ( | const QCString & | group | ) | const`[protected, virtual]`

Returns true if the specified group is known.

Parameters:

  | group | The group to search for.

Returns:
  true if the group exists.

Implements KConfigBase.

Definition at line 254 of file kconfig.cpp.

References aEntryMap.

KEntryMap KConfig::internalEntryMap | ( | const QString & | pGroup | ) | const`[protected, virtual]`

Returns a map (tree) of the entries in the specified group.

This may or may not return all entries that belong to the config object. The only guarantee that you are given is that any entries that are dirty (i.e. modified and not yet written back to the disk) will be contained in the map. Some derivative classes may choose to return everything.

Do not use this function, the implementation / return type are subject to change.

Parameters:

  | pGroup | The group to provide a KEntryMap for.

Returns:
  The map of the entries in the group.

Implements KConfigBase.

Definition at line 178 of file kconfig.cpp.

References aEntryMap.

virtual KEntryMap KConfig::internalEntryMap | ( |  | ) | const`[inline, protected, virtual]`

Returns a map (tree) of the entries in the tree.

Do not use this function, the implementation / return type are subject to change.

Returns:
  A map of the entries in the tree.

Implements KConfigBase.

Definition at line 212 of file kconfig.h.

void KConfig::putData | ( | const KEntryKey & | _key,
|  | const KEntry & | _data,
|  | bool | _checkGroup = `true`
| ) | `[protected, virtual]`

Inserts a (key, value) pair into the internal storage mechanism of the configuration object.

Parameters:

  | _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.
  | _data | the KEntry that is to be stored.
  | _checkGroup | When false, assume that the group already exists.

Implements KConfigBase.

Definition at line 202 of file kconfig.cpp.

References aEntryMap, KEntryKey::bDefault, KEntry::bGlobal, and KEntry::bImmutable.

KEntry KConfig::lookupData | ( | const KEntryKey & | _key | ) | const`[protected, virtual]`

Looks up an entry in the config object's internal structure.

Parameters:

  | _key | The key to look up It contains information both on the group of the key and the entry's key itself.

Returns:
  the KEntry value (data) found for the key. KEntry.aValue will be the null string if nothing was located.

Implements KConfigBase.

Definition at line 238 of file kconfig.cpp.

References aEntryMap, and KEntry::bDeleted.

## Member Data Documentation

KEntryMap KConfig::aEntryMap`[protected]`

| 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 QString::null. Definition at line 243 of file kconfig.h. Referenced by entryMap(), groupList(), internalEntryMap(), internalHasGroup(), lookupData(), putData(), reparseConfiguration(), and rollback().

The documentation for this class was generated from the following files:

- kconfig.h
- kconfig.cpp

This file is part of the documentation for kdecore Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:18:25 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003