DtkNetworkManager
NetworkManager DBus interface binding for Qt
dsecurity8021xsetting.h
1// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#ifndef DSECURITY8021XSETTING_H
6#define DSECURITY8021XSETTING_H
7
8#include "dnmsetting.h"
9
10DNETWORKMANAGER_BEGIN_NAMESPACE
11
12class DSecurity8021xSettingPrivate;
13
15{
16public:
17 enum class EapMethod {
18 Unknown = 0,
19 Leap,
20 Md5,
21 Tls,
22 Peap,
23 Ttls,
24 Sim,
25 Fast,
26 Pwd,
27 };
28
29 enum class PeapVersion {
30 Unknown = -1,
31 Zero,
32 One,
33 };
34
35 enum class PeapLabel {
36 Unknown = 0,
37 Force,
38 };
39
40 enum class FastProvisioning {
41 Unknown = -1,
42 Disabled,
43 AllowUnauthenticated,
44 AllowAuthenticated,
45 AllowBoth,
46 };
47
48 enum class AuthMethod {
49 Unknown = 0,
50 Pap,
51 Chap,
52 Mschap,
53 Mschapv2,
54 Gtc,
55 Otp,
56 Md5,
57 Tls,
58 };
59
60 enum class AuthEapMethod {
61 Unknown = 0,
62 Md5,
63 Mschapv2,
64 Otp,
65 Gtc,
66 Tls,
67 };
68
70 explicit DSecurity8021xSetting(const QSharedPointer<DSecurity8021xSetting> &other);
71 ~DSecurity8021xSetting() override = default;
72
73 QString name() const override;
74
75 void setEapMethods(const QList<EapMethod> &methods);
76 QList<EapMethod> eapMethods() const;
77
78 void setIdentity(const QString &identity);
79 QString identity() const;
80
81 void setAnonymousIdentity(const QString &identity);
82 QString anonymousIdentity() const;
83
84 void setDomainSuffixMatch(const QString &domainSuffixMatch);
85 QString domainSuffixMatch() const;
86
87 void setPacFile(const QString &filePath);
88 QString pacFile() const;
89
90 void setCaCertificate(const QByteArray &certificate);
91 QByteArray caCertificate() const;
92
93 void setCaPath(const QString &path);
94 QString caPath() const;
95
96 void setAltSubjectMatches(const QStringList &strings);
97 QStringList altSubjectMatches() const;
98
99 void setClientCertificate(const QByteArray &certificate);
100 QByteArray clientCertificate() const;
101
102 void setPhase1PeapVersion(PeapVersion version);
103 PeapVersion phase1PeapVersion() const;
104
105 void setPhase1PeapLabel(PeapLabel label);
106 PeapLabel phase1PeapLabel() const;
107
108 void setPhase1FastProvisioning(FastProvisioning provisioning);
109 FastProvisioning phase1FastProvisioning() const;
110
111 void setPhase2AuthMethod(AuthMethod method);
112 AuthMethod phase2AuthMethod() const;
113
114 void setPhase2AuthEapMethod(AuthEapMethod method);
115 AuthEapMethod phase2AuthEapMethod() const;
116
117 void setPhase2CaCertificate(const QByteArray &certificate);
118 QByteArray phase2CaCertificate() const;
119
120 void setPhase2CaPath(const QString &path);
121 QString phase2CaPath() const;
122
123 void setPhase2DomainSuffixMatch(const QString &substring);
124 QString phase2DomainSuffixMatch() const;
125
126 void setPhase2AltSubjectMatches(const QStringList &strings);
127 QStringList phase2AltSubjectMatches() const;
128
129 void setPhase2ClientCertificate(const QByteArray &certificate);
130 QByteArray phase2ClientCertificate() const;
131
132 void setPassword(const QString &password);
133 QString password() const;
134
135 void setPasswordFlags(DNMSetting::SecretFlags flags);
136 DNMSetting::SecretFlags passwordFlags() const;
137
138 void setPasswordRaw(const QByteArray &password);
139 QByteArray passwordRaw() const;
140
141 void setPasswordRawFlags(DNMSetting::SecretFlags flags);
142 DNMSetting::SecretFlags passwordRawFlags() const;
143
144 void setPrivateKey(const QByteArray &key);
145 QByteArray privateKey() const;
146
147 void setPrivateKeyPassword(const QString &password);
148 QString privateKeyPassword() const;
149
150 void setPrivateKeyPasswordFlags(DNMSetting::SecretFlags flags);
151 DNMSetting::SecretFlags privateKeyPasswordFlags() const;
152
153 void setPhase2PrivateKey(const QByteArray &key);
154 QByteArray phase2PrivateKey() const;
155
156 void setPhase2PrivateKeyPassword(const QString &password);
157 QString phase2PrivateKeyPassword() const;
158
159 void setPhase2PrivateKeyPasswordFlags(DNMSetting::SecretFlags flags);
160 DNMSetting::SecretFlags phase2PrivateKeyPasswordFlags() const;
161
162 void setPin(const QString &pin);
163 QString pin() const;
164
165 void setPinFlags(DNMSetting::SecretFlags flags);
166 DNMSetting::SecretFlags pinFlags() const;
167
168 void setSystemCaCertificates(bool use);
169 bool systemCaCertificates() const;
170
171 QStringList needSecrets(bool requestNew = false) const override;
172
173 void fromMap(const QVariantMap &setting) override;
174 QVariantMap toMap() const override;
175
176 QVariantMap secretsToMap() const override;
177 void mapToSecrets(const QVariantMap &secrets) override;
178
179protected:
180 QScopedPointer<DSecurity8021xSettingPrivate> d_ptr;
181
182private:
183 Q_DECLARE_PRIVATE(DSecurity8021xSetting)
184};
185
186DNETWORKMANAGER_END_NAMESPACE
187
188#endif
DNMSetting类
Definition: dnmsetting.h:26
Definition: dsecurity8021xsetting.h:15