KSharedConfig Class

KConfig variant using shared memory. More...

Header: #include <KSharedConfig>
CMake: find_package(KF6 REQUIRED COMPONENTS Config)
target_link_libraries(mytarget PRIVATE KF6::ConfigCore)
Inherits: KConfig and QSharedData

Public Types

Ptr

Static Public Members

KSharedConfig::Ptr openConfig(const QString &fileName = QString(), KConfig::OpenFlags mode = FullConfig, QStandardPaths::StandardLocation type = QStandardPaths::GenericConfigLocation)
(since 5.67) KSharedConfig::Ptr openStateConfig(const QString &fileName = QString())

Detailed Description

KSharedConfig provides a shared (reference counted) variant of KConfig. This allows you to use/manipulate the same configuration files from different places in your code without worrying about accidentally overwriting changes.

The openConfig() method is threadsafe: every thread gets a separate repository of shared KConfig objects. This means, however, that you'll be responsible for synchronizing the instances of KConfig for the same filename between threads, using KConfig::reparseConfiguration() after a manual change notification, just like you have to do between processes.

Member Type Documentation

KSharedConfig::Ptr

A pointer to a KSharedConfig object.

Member Function Documentation

[static] KSharedConfig::Ptr KSharedConfig::openConfig(const QString &fileName = QString(), KConfig::OpenFlags mode = FullConfig, QStandardPaths::StandardLocation type = QStandardPaths::GenericConfigLocation)

Creates a KSharedConfig object to manipulate a configuration file.

If an absolute path is specified for fileName, that file will be used as the store for the configuration settings. If a non-absolute path is provided, the file will be looked for in the standard directory specified by type. If no path is provided, a default configuration file will be used based on the name of the main application component.

mode determines whether the user or global settings will be allowed to influence the values returned by this object. See KConfig::OpenFlags for more details.

fileName The configuration file to open. If empty, it will be determined automatically (from –config on the command line, otherwise from the application name + "rc")

mode How global settings should affect the configuration options exposed by this KConfig object

type The standard directory to look for the configuration file in (see QStandardPaths)

See also KConfig.

[static, since 5.67] KSharedConfig::Ptr KSharedConfig::openStateConfig(const QString &fileName = QString())

Creates a KSharedConfig object to manipulate a configuration file suitable for storing state information. Use this for storing information that is changing frequently and should not be saved by configuration backup utilities.

If an absolute path is specified for fileName, that file will be used as the store for the configuration settings. If a non-absolute path is provided, the file will be looked for in the standard data directory (QStandardPaths::AppDataLocation). If no path is provided, a default configuration file will be used based on the name of the main application component.

fileName the configuration file to open. If empty, it will be determined automatically from the application name + "staterc"

This function was introduced in 5.67.

See also KConfig.