File indexing completed on 2024-04-21 04:00:04
0001 /* 0002 SPDX-FileCopyrightText: 2018 Pranav Gade <pranavgade20@gmail.com> 0003 0004 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 0007 #ifndef NETWORKMANAGERQT_MACSECSETTING_H 0008 #define NETWORKMANAGERQT_MACSECSETTING_H 0009 0010 #include "setting.h" 0011 #include <networkmanagerqt/networkmanagerqt_export.h> 0012 0013 namespace NetworkManager 0014 { 0015 class MacsecSettingPrivate; 0016 0017 /** 0018 * Represents Macsec setting 0019 */ 0020 class NETWORKMANAGERQT_EXPORT MacsecSetting : public Setting 0021 { 0022 public: 0023 typedef QSharedPointer<MacsecSetting> Ptr; 0024 typedef QList<Ptr> List; 0025 0026 enum Mode { 0027 Psk, 0028 Eap, 0029 }; 0030 0031 enum Validation { 0032 Disable, 0033 Check, 0034 Strict, 0035 }; 0036 0037 MacsecSetting(); 0038 explicit MacsecSetting(const Ptr &other); 0039 ~MacsecSetting() override; 0040 0041 QString name() const override; 0042 0043 void setEncrypt(bool encrypt); 0044 bool encrypt() const; 0045 0046 void setMkaCak(const QString &mkaCak); 0047 QString mkaCak() const; 0048 0049 void setMkaCkn(const QString &mkaCkn); 0050 QString mkaCkn() const; 0051 0052 void setMode(Mode mode); 0053 Mode mode() const; 0054 0055 void setParent(const QString &parent); 0056 QString parent() const; 0057 0058 void setPort(qint32 port); 0059 qint32 port() const; 0060 0061 void setSendSci(bool sendSci); 0062 bool sendSci() const; 0063 0064 void setValidation(Validation validation); 0065 Validation validation() const; 0066 0067 void setMkaCakFlags(Setting::SecretFlags flags); 0068 Setting::SecretFlags mkaCakFlags() const; 0069 0070 QStringList needSecrets(bool requestNew = false) const override; 0071 0072 void secretsFromMap(const QVariantMap &secrets) override; 0073 0074 QVariantMap secretsToMap() const override; 0075 0076 void fromMap(const QVariantMap &setting) override; 0077 0078 QVariantMap toMap() const override; 0079 0080 protected: 0081 MacsecSettingPrivate *d_ptr; 0082 0083 private: 0084 Q_DECLARE_PRIVATE(MacsecSetting) 0085 }; 0086 0087 NETWORKMANAGERQT_EXPORT QDebug operator<<(QDebug dbg, const MacsecSetting &setting); 0088 0089 } 0090 0091 #endif // NETWORKMANAGERQT_MACSECSETTING_H