File indexing completed on 2024-06-23 05:48:48

0001 /*
0002     This file is part of the Okteta Kasten module, made within the KDE community.
0003 
0004     SPDX-FileCopyrightText: 2019 Lars Maier <lars.maier@tefax.net>
0005     SPDX-FileCopyrightText: 2022 Friedrich W. H. Kossebau <kossebau@kde.org>
0006 
0007     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0008 */
0009 
0010 #include "crc64bytearraychecksumparameterset.hpp"
0011 
0012 // KF
0013 #include <KConfigGroup>
0014 
0015 static constexpr Crc64Variant DefaultCrc64Variant = Crc64Variant::ECMA182;
0016 
0017 static constexpr char VariantConfigKey[] = "Variant";
0018 
0019 template <>
0020 inline Crc64Variant KConfigGroup::readEntry(const char *key, const Crc64Variant &defaultValue) const
0021 {
0022     const QString entry = readEntry(key, QString());
0023     const Crc64Variant endianess =
0024         (entry == QLatin1String("ECMA182")) ? Crc64Variant::ECMA182 :
0025         (entry == QLatin1String("ISO3309")) ? Crc64Variant::ISO3309 :
0026         /* else */                            defaultValue;
0027     return endianess;
0028 }
0029 
0030 template <>
0031 inline void KConfigGroup::writeEntry(const char *key, const Crc64Variant &value,
0032                                      KConfigBase::WriteConfigFlags flags)
0033 {
0034     const QString valueString =
0035         (value == Crc64Variant::ECMA182) ? QLatin1String("ECMA182") : QLatin1String("ISO3309");
0036     writeEntry(key, valueString, flags);
0037 }
0038 
0039 Crc64ByteArrayChecksumParameterSet::Crc64ByteArrayChecksumParameterSet() = default;
0040 
0041 Crc64ByteArrayChecksumParameterSet::~Crc64ByteArrayChecksumParameterSet() = default;
0042 
0043 const char* Crc64ByteArrayChecksumParameterSet::id() const { return "Crc64"; }
0044 
0045 Crc64Variant Crc64ByteArrayChecksumParameterSet::crc64Variant() const { return mVariant; }
0046 
0047 void Crc64ByteArrayChecksumParameterSet::setCrc64Variant(Crc64Variant variant) { mVariant = variant; }
0048 
0049 void Crc64ByteArrayChecksumParameterSet::loadConfig(const KConfigGroup& configGroup)
0050 {
0051     mVariant = configGroup.readEntry(VariantConfigKey, DefaultCrc64Variant);
0052 }
0053 
0054 void Crc64ByteArrayChecksumParameterSet::saveConfig(KConfigGroup& configGroup) const
0055 {
0056     configGroup.writeEntry(VariantConfigKey, mVariant);
0057 }