1/*
2 SPDX-FileCopyrightText: 2018 Pranav Gade <pranavgade20@gmail.com>
3
4 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5*/
6
7#ifndef NETWORKMANAGERQT_MACSECSETTING_H
8#define NETWORKMANAGERQT_MACSECSETTING_H
9
10#include "setting.h"
11#include <networkmanagerqt/networkmanagerqt_export.h>
12
13namespace NetworkManager
14{
15class MacsecSettingPrivate;
16
17/*!
18 * \class NetworkManager::MacsecSetting
19 * \inheaderfile NetworkManagerQt/MacsecSetting
20 * \inmodule NetworkManagerQt
21 *
22 * \brief Represents Macsec setting.
23 */
24class NETWORKMANAGERQT_EXPORT MacsecSetting : public Setting
25{
26public:
27 /*!
28 * \typedef NetworkManager::MacsecSetting::Ptr
29 */
30 typedef QSharedPointer<MacsecSetting> Ptr;
31 /*!
32 * \typedef NetworkManager::MacsecSetting::List
33 */
34 typedef QList<Ptr> List;
35
36 /*!
37 *
38 * \value Psk
39 * \value Eap
40 */
41 enum Mode {
42 Psk,
43 Eap,
44 };
45
46 /*!
47 *
48 * \value Disable
49 * \value Check
50 * \value Strict
51 */
52 enum Validation {
53 Disable,
54 Check,
55 Strict,
56 };
57
58 /*!
59 */
60 MacsecSetting();
61 /*!
62 */
63 explicit MacsecSetting(const Ptr &other);
64 ~MacsecSetting() override;
65
66 QString name() const override;
67
68 /*!
69 */
70 void setEncrypt(bool encrypt);
71 /*!
72 */
73 bool encrypt() const;
74
75 /*!
76 */
77 void setMkaCak(const QString &mkaCak);
78 /*!
79 */
80 QString mkaCak() const;
81
82 /*!
83 */
84 void setMkaCkn(const QString &mkaCkn);
85 /*!
86 */
87 QString mkaCkn() const;
88
89 /*!
90 */
91 void setMode(Mode mode);
92 /*!
93 */
94 Mode mode() const;
95
96 /*!
97 */
98 void setParent(const QString &parent);
99 /*!
100 */
101 QString parent() const;
102
103 /*!
104 */
105 void setPort(qint32 port);
106 /*!
107 */
108 qint32 port() const;
109
110 /*!
111 */
112 void setSendSci(bool sendSci);
113 /*!
114 */
115 bool sendSci() const;
116
117 /*!
118 */
119 void setValidation(Validation validation);
120 /*!
121 */
122 Validation validation() const;
123
124 /*!
125 */
126 void setMkaCakFlags(Setting::SecretFlags flags);
127 /*!
128 */
129 Setting::SecretFlags mkaCakFlags() const;
130
131 QStringList needSecrets(bool requestNew = false) const override;
132
133 void secretsFromMap(const QVariantMap &secrets) override;
134
135 QVariantMap secretsToMap() const override;
136
137 void fromMap(const QVariantMap &setting) override;
138
139 QVariantMap toMap() const override;
140
141protected:
142 MacsecSettingPrivate *d_ptr;
143
144private:
145 Q_DECLARE_PRIVATE(MacsecSetting)
146};
147
148NETWORKMANAGERQT_EXPORT QDebug operator<<(QDebug dbg, const MacsecSetting &setting);
149
150}
151
152#endif // NETWORKMANAGERQT_MACSECSETTING_H
153

source code of networkmanager-qt/src/settings/macsecsetting.h