KConfig 5.109.0
Public Types | Public Member Functions | Protected Member Functions | List of all members
KConfigBaseabstract

Interface to interact with configuration. More...

#include <KConfigBase>

Public Types

enum  AccessMode { NoAccess , ReadOnly , ReadWrite }
 Possible return values for accessMode(). More...
 
enum  WriteConfigFlag {
  Persistent = 0x01 , Global = 0x02 , Localized = 0x04 , Notify = 0x08 | Persistent ,
  Normal = Persistent
}
 Flags to control write entry. More...
 
typedef QFlags< WriteConfigFlagWriteConfigFlags
 Stores a combination of #WriteConfigFlag values.
 

Public Member Functions

virtual ~KConfigBase ()
 Destructs the KConfigBase object.
 
virtual AccessMode accessMode () const =0
 Returns the access mode of the app-config object.
 
void deleteGroup (const char *group, WriteConfigFlags flags=Normal)
 Overload for deleteGroup(const QString&, WriteConfigFlags)
 
void deleteGroup (const QByteArray &group, WriteConfigFlags flags=Normal)
 Overload for deleteGroup(const QString&, WriteConfigFlags)
 
void deleteGroup (const QString &group, WriteConfigFlags flags=Normal)
 Delete group.
 
KConfigGroup group (const char *group)
 Overload for group(const QString&)
 
const KConfigGroup group (const char *group) const
 Const overload for group(const QString&)
 
KConfigGroup group (const QByteArray &group)
 Overload for group(const QString&)
 
const KConfigGroup group (const QByteArray &group) const
 Const overload for group(const QString&)
 
KConfigGroup group (const QString &group)
 Returns an object for the named subgroup.
 
const KConfigGroup group (const QString &group) const
 Const overload for group(const QString&)
 
virtual QStringList groupList () const =0
 Returns a list of groups that are known about.
 
bool hasGroup (const char *group) const
 Overload for hasGroup(const QString&) const.
 
bool hasGroup (const QByteArray &group) const
 Overload for hasGroup(const QString&) const.
 
bool hasGroup (const QString &group) const
 Returns true if the specified group is known about.
 
bool isGroupImmutable (const char *group) const
 Overload for isGroupImmutable(const QString&) const.
 
bool isGroupImmutable (const QByteArray &group) const
 Overload for isGroupImmutable(const QString&) const.
 
bool isGroupImmutable (const QString &group) const
 Can changes be made to the entries in group?
 
virtual bool isImmutable () const =0
 Checks whether this configuration object can be modified.
 
virtual void markAsClean ()=0
 Reset the dirty flags of all entries in the entry map, so the values will not be written to disk on a later call to sync().
 
virtual bool sync ()=0
 Syncs the configuration object that this group belongs to.
 

Protected Member Functions

virtual void deleteGroupImpl (const QByteArray &group, WriteConfigFlags flags=Normal)=0
 
virtual const KConfigGroup groupImpl (const QByteArray &group) const =0
 
virtual KConfigGroup groupImpl (const QByteArray &group)=0
 
virtual bool hasGroupImpl (const QByteArray &group) const =0
 
virtual bool isGroupImmutableImpl (const QByteArray &group) const =0
 
virtual void virtual_hook (int id, void *data)
 Virtual hook, used to add new "virtual" functions while maintaining binary compatibility.
 

Detailed Description

Interface to interact with configuration.

KConfigBase allows a component of an application to persists its configuration without the component knowing if it is storing the configuration into a top level KConfig or a KConfigGroup inside a KConfig instance.

Member Typedef Documentation

◆ WriteConfigFlags

Stores a combination of #WriteConfigFlag values.

Member Enumeration Documentation

◆ AccessMode

Possible return values for accessMode().

◆ WriteConfigFlag

Flags to control write entry.

See also
WriteConfigFlags
Enumerator
Persistent 

Save this entry when saving the config object.

Global 

Save the entry to the global KDE config file instead of the application specific config file.

Localized 

Add the locale tag to the key when writing it.

Notify 

Notify remote KConfigWatchers of changes (requires DBus support) Implied persistent.

Since
5.51
Normal 

Save the entry to the application specific config file without a locale tag.

This is the default.

Constructor & Destructor Documentation

◆ ~KConfigBase()

virtual KConfigBase::~KConfigBase ( )
virtual

Destructs the KConfigBase object.

Member Function Documentation

◆ accessMode()

virtual AccessMode KConfigBase::accessMode ( ) const
pure virtual

Returns the access mode of the app-config object.

Possible return values are NoAccess (the application-specific config file could not be opened neither read-write nor read-only), ReadOnly (the application-specific config file is opened read-only, but not read-write) and ReadWrite (the application-specific config file is opened read-write).

Returns
the access mode of the app-config object

Implemented in KConfig, and KConfigGroup.

◆ deleteGroup() [1/3]

void KConfigBase::deleteGroup ( const char *  group,
WriteConfigFlags  flags = Normal 
)

Overload for deleteGroup(const QString&, WriteConfigFlags)

Parameters
groupname of group to delete, encoded in UTF-8

◆ deleteGroup() [2/3]

void KConfigBase::deleteGroup ( const QByteArray &  group,
WriteConfigFlags  flags = Normal 
)

Overload for deleteGroup(const QString&, WriteConfigFlags)

Parameters
groupname of group to delete, encoded in UTF-8

◆ deleteGroup() [3/3]

void KConfigBase::deleteGroup ( const QString &  group,
WriteConfigFlags  flags = Normal 
)

Delete group.

This marks group as deleted in the config object. This effectively removes any cascaded values from config files earlier in the stack.

◆ deleteGroupImpl()

virtual void KConfigBase::deleteGroupImpl ( const QByteArray &  group,
WriteConfigFlags  flags = Normal 
)
protectedpure virtual
Parameters
groupname of group, encoded in UTF-8

Implemented in KConfigGroup, and KConfig.

◆ group() [1/6]

KConfigGroup KConfigBase::group ( const char *  group)

Overload for group(const QString&)

Parameters
groupname of group, encoded in UTF-8

◆ group() [2/6]

const KConfigGroup KConfigBase::group ( const char *  group) const

Const overload for group(const QString&)

Parameters
groupname of group, encoded in UTF-8

◆ group() [3/6]

KConfigGroup KConfigBase::group ( const QByteArray &  group)

Overload for group(const QString&)

Parameters
groupname of group, encoded in UTF-8

◆ group() [4/6]

const KConfigGroup KConfigBase::group ( const QByteArray &  group) const

Const overload for group(const QString&)

Parameters
groupname of group, encoded in UTF-8

◆ group() [5/6]

KConfigGroup KConfigBase::group ( const QString &  group)

Returns an object for the named subgroup.

Parameters
groupthe group to open. Pass an empty string here to the KConfig object to obtain a handle on the root group.
Returns
config group object for the given group name.

◆ group() [6/6]

const KConfigGroup KConfigBase::group ( const QString &  group) const

Const overload for group(const QString&)

◆ groupImpl() [1/2]

virtual const KConfigGroup KConfigBase::groupImpl ( const QByteArray &  group) const
protectedpure virtual
Parameters
groupname of group, encoded in UTF-8

Implemented in KConfig, and KConfigGroup.

◆ groupImpl() [2/2]

virtual KConfigGroup KConfigBase::groupImpl ( const QByteArray &  group)
protectedpure virtual
Parameters
groupname of group, encoded in UTF-8

Implemented in KConfig, and KConfigGroup.

◆ groupList()

virtual QStringList KConfigBase::groupList ( ) const
pure virtual

Returns a list of groups that are known about.

Returns
The list of groups.

Implemented in KConfig, and KConfigGroup.

◆ hasGroup() [1/3]

bool KConfigBase::hasGroup ( const char *  group) const

Overload for hasGroup(const QString&) const.

Parameters
groupname of group to search for, encoded in UTF-8

◆ hasGroup() [2/3]

bool KConfigBase::hasGroup ( const QByteArray &  group) const

Overload for hasGroup(const QString&) const.

Parameters
groupname of group to search for, encoded in UTF-8

◆ hasGroup() [3/3]

bool KConfigBase::hasGroup ( const QString &  group) const

Returns true if the specified group is known about.

Parameters
groupname of group to search for
Returns
true if the group exists.

◆ hasGroupImpl()

virtual bool KConfigBase::hasGroupImpl ( const QByteArray &  group) const
protectedpure virtual
Parameters
groupname of group, encoded in UTF-8

Implemented in KConfig, and KConfigGroup.

◆ isGroupImmutable() [1/3]

bool KConfigBase::isGroupImmutable ( const char *  group) const

Overload for isGroupImmutable(const QString&) const.

Parameters
groupname of group, encoded in UTF-8

◆ isGroupImmutable() [2/3]

bool KConfigBase::isGroupImmutable ( const QByteArray &  group) const

Overload for isGroupImmutable(const QString&) const.

Parameters
groupname of group, encoded in UTF-8

◆ isGroupImmutable() [3/3]

bool KConfigBase::isGroupImmutable ( const QString &  group) const

Can changes be made to the entries in group?

Parameters
groupThe group to check for immutability.
Returns
false if the entries in group can be modified, otherwise true

◆ isGroupImmutableImpl()

virtual bool KConfigBase::isGroupImmutableImpl ( const QByteArray &  group) const
protectedpure virtual
Parameters
groupname of group, encoded in UTF-8

Implemented in KConfig, and KConfigGroup.

◆ isImmutable()

virtual bool KConfigBase::isImmutable ( ) const
pure virtual

Checks whether this configuration object can be modified.

Returns
whether changes may be made to this configuration object.

Implemented in KConfig, and KConfigGroup.

◆ markAsClean()

virtual void KConfigBase::markAsClean ( )
pure virtual

Reset the dirty flags of all entries in the entry map, so the values will not be written to disk on a later call to sync().

Implemented in KConfig, and KConfigGroup.

◆ sync()

virtual bool KConfigBase::sync ( )
pure virtual

Syncs the configuration object that this group belongs to.

Unrelated concurrent changes to the same file are merged and thus not overwritten. Note however, that this object is not automatically updated with those changes.

Implemented in KConfig, and KConfigGroup.

◆ virtual_hook()

virtual void KConfigBase::virtual_hook ( int  id,
void *  data 
)
protectedvirtual

Virtual hook, used to add new "virtual" functions while maintaining binary compatibility.

Unused in this class.

Reimplemented in KConfig.