diff options
| author | David Faure <faure@kde.org> | 2021-04-15 12:02:09 +0200 |
|---|---|---|
| committer | David Faure <faure@kde.org> | 2021-04-15 12:02:10 +0200 |
| commit | 163cebc7065cd85650f45e93203b3ea8dd82f652 (patch) | |
| tree | d243f79eb175a070e8dfeed3bc1767ff0924c3f2 /src/core/kconfigdata.h | |
| parent | ff9baa8f4a9b910862618dac54d0bdb537af29d1 (diff) | |
| download | kconfig-163cebc7065cd85650f45e93203b3ea8dd82f652.tar.gz kconfig-163cebc7065cd85650f45e93203b3ea8dd82f652.tar.bz2 | |
KConfig: rename kconfigdata.h to kconfigdata_p.h
It's internal, the symbols are not exported, the header is not installed.
The _p.h naming makes this more obvious, when grepping for stuff in
public API.
Diffstat (limited to 'src/core/kconfigdata.h')
| -rw-r--r-- | src/core/kconfigdata.h | 253 |
1 files changed, 0 insertions, 253 deletions
diff --git a/src/core/kconfigdata.h b/src/core/kconfigdata.h deleted file mode 100644 index 0ca228fe..00000000 --- a/src/core/kconfigdata.h +++ /dev/null @@ -1,253 +0,0 @@ -/* - This file is part of the KDE libraries - SPDX-FileCopyrightText: 2006, 2007 Thomas Braxton <kde.braxton@gmail.com> - SPDX-FileCopyrightText: 1999-2000 Preston Brown <pbrown@kde.org> - SPDX-FileCopyrightText: 1996-2000 Matthias Kalle Dalheimer <kalle@kde.org> - - SPDX-License-Identifier: LGPL-2.0-or-later -*/ - -#ifndef KCONFIGDATA_H -#define KCONFIGDATA_H - -#include <QByteArray> -#include <QDebug> -#include <QMap> -#include <QString> - -/** - * map/dict/list config node entry. - * @internal - */ -struct KEntry { - /** Constructor. @internal */ - KEntry() - : mValue() - , bDirty(false) - , bGlobal(false) - , bImmutable(false) - , bDeleted(false) - , bExpand(false) - , bReverted(false) - , bLocalizedCountry(false) - , bNotify(false) - , bOverridesGlobal(false) - { - } - /** @internal */ - QByteArray mValue; - /** - * Must the entry be written back to disk? - */ - bool bDirty : 1; - /** - * Entry should be written to the global config file - */ - bool bGlobal : 1; - /** - * Entry can not be modified. - */ - bool bImmutable : 1; - /** - * Entry has been deleted. - */ - bool bDeleted : 1; - /** - * Whether to apply dollar expansion or not. - */ - bool bExpand : 1; - /** - * Entry has been reverted to its default value (from a more global file). - */ - bool bReverted : 1; - /** - * Entry is for a localized key. If @c false the value references just language e.g. "de", - * if @c true the value references language and country, e.g. "de_DE". - **/ - bool bLocalizedCountry : 1; - - bool bNotify : 1; - - /** - * Entry will need to be written on a non global file even if it matches default value - */ - bool bOverridesGlobal : 1; -}; - -// These operators are used to check whether an entry which is about -// to be written equals the previous value. As such, this intentionally -// omits the dirty/notify flag from the comparison. -inline bool operator==(const KEntry &k1, const KEntry &k2) -{ - /* clang-format off */ - return k1.bGlobal == k2.bGlobal - && k1.bImmutable == k2.bImmutable - && k1.bDeleted == k2.bDeleted - && k1.bExpand == k2.bExpand - && k1.mValue == k2.mValue; - /* clang-format on */ -} - -inline bool operator!=(const KEntry &k1, const KEntry &k2) -{ - return !(k1 == k2); -} - -/** - * key structure holding both the actual key and the group - * to which it belongs. - * @internal - */ -struct KEntryKey { - /** Constructor. @internal */ - KEntryKey(const QByteArray &_group = QByteArray(), const QByteArray &_key = QByteArray(), bool isLocalized = false, bool isDefault = false) - : mGroup(_group) - , mKey(_key) - , bLocal(isLocalized) - , bDefault(isDefault) - , bRaw(false) - { - ; - } - /** - * The "group" to which this EntryKey belongs - */ - QByteArray mGroup; - /** - * The _actual_ key of the entry in question - */ - QByteArray mKey; - /** - * Entry is localised or not - */ - bool bLocal : 1; - /** - * Entry indicates if this is a default value. - */ - bool bDefault : 1; - /** @internal - * Key is a raw unprocessed key. - * @warning this should only be set during merging, never for normal use. - */ - bool bRaw : 1; -}; - -/** - * Compares two KEntryKeys (needed for QMap). The order is localized, localized-default, - * non-localized, non-localized-default - * @internal - */ -inline bool operator<(const KEntryKey &k1, const KEntryKey &k2) -{ - int result = qstrcmp(k1.mGroup.data(), k2.mGroup.data()); - if (result != 0) { - return result < 0; - } - - result = qstrcmp(k1.mKey.data(), k2.mKey.data()); - if (result != 0) { - return result < 0; - } - - if (k1.bLocal != k2.bLocal) { - return k1.bLocal; - } - return (!k1.bDefault && k2.bDefault); -} - -QDebug operator<<(QDebug dbg, const KEntryKey &key); -QDebug operator<<(QDebug dbg, const KEntry &entry); - -/** - * \relates KEntry - * type specifying a map of entries (key,value pairs). - * The keys are actually a key in a particular config file group together - * with the group name. - * @internal - */ -class KEntryMap : public QMap<KEntryKey, KEntry> -{ -public: - enum SearchFlag { - SearchDefaults = 1, - SearchLocalized = 2, - }; - Q_DECLARE_FLAGS(SearchFlags, SearchFlag) - - enum EntryOption { - EntryDirty = 1, - EntryGlobal = 2, - EntryImmutable = 4, - EntryDeleted = 8, - EntryExpansion = 16, - EntryRawKey = 32, - EntryLocalizedCountry = 64, - EntryNotify = 128, - EntryDefault = (SearchDefaults << 16), - EntryLocalized = (SearchLocalized << 16), - }; - Q_DECLARE_FLAGS(EntryOptions, EntryOption) - - Iterator findExactEntry(const QByteArray &group, const QByteArray &key = QByteArray(), SearchFlags flags = SearchFlags()); - - Iterator findEntry(const QByteArray &group, const QByteArray &key = QByteArray(), SearchFlags flags = SearchFlags()); - - ConstIterator findEntry(const QByteArray &group, const QByteArray &key = QByteArray(), SearchFlags flags = SearchFlags()) const - { - return constFindEntry(group, key, flags); - } - - ConstIterator constFindEntry(const QByteArray &group, const QByteArray &key = QByteArray(), SearchFlags flags = SearchFlags()) const; - - /** - * Returns true if the entry gets dirtied or false in other case - */ - bool setEntry(const QByteArray &group, const QByteArray &key, const QByteArray &value, EntryOptions options); - - void setEntry(const QByteArray &group, const QByteArray &key, const QString &value, EntryOptions options) - { - setEntry(group, key, value.toUtf8(), options); - } - - QString getEntry(const QByteArray &group, - const QByteArray &key, - const QString &defaultValue = QString(), - SearchFlags flags = SearchFlags(), - bool *expand = nullptr) const; - - bool hasEntry(const QByteArray &group, const QByteArray &key = QByteArray(), SearchFlags flags = SearchFlags()) const; - - bool getEntryOption(const ConstIterator &it, EntryOption option) const; - bool getEntryOption(const QByteArray &group, const QByteArray &key, SearchFlags flags, EntryOption option) const - { - return getEntryOption(findEntry(group, key, flags), option); - } - - void setEntryOption(Iterator it, EntryOption option, bool bf); - void setEntryOption(const QByteArray &group, const QByteArray &key, SearchFlags flags, EntryOption option, bool bf) - { - setEntryOption(findEntry(group, key, flags), option, bf); - } - - bool revertEntry(const QByteArray &group, const QByteArray &key, EntryOptions options, SearchFlags flags = SearchFlags()); -}; -Q_DECLARE_OPERATORS_FOR_FLAGS(KEntryMap::SearchFlags) -Q_DECLARE_OPERATORS_FOR_FLAGS(KEntryMap::EntryOptions) - -/** - * \relates KEntry - * type for iterating over keys in a KEntryMap in sorted order. - * @internal - */ -typedef QMap<KEntryKey, KEntry>::Iterator KEntryMapIterator; - -/** - * \relates KEntry - * type for iterating over keys in a KEntryMap in sorted order. - * It is const, thus you cannot change the entries in the iterator, - * only examine them. - * @internal - */ -typedef QMap<KEntryKey, KEntry>::ConstIterator KEntryMapConstIterator; - -#endif |
