DtkNetworkManager
NetworkManager DBus interface binding for Qt
dnetworkmanagertypes.h
浏览该文件的文档.
1// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#ifndef DNETWORKMANAGERTYPES_H
6#define DNETWORKMANAGERTYPES_H
7#include "dnetworkmanager_global.h"
8#include <QMap>
9#include <QScopedPointer>
10#include <QString>
11#include <QVariant>
12
13DNETWORKMANAGER_BEGIN_NAMESPACE
14
15using Config = QMap<QString, QVariant>;
16using SettingDesc = QMap<QString, Config>;
17
18// custom enum
19
20enum class NMState : quint8 {
21 Unknown = 0,
22 Asleep = 10,
23 Disconnected = 20,
24 Disconnecting = 30,
25 Connecting = 40,
26 ConnectedLocal = 50,
27 ConnectedSite = 60,
28 ConnectedGlobal = 70
29};
30
31enum class NMConnectivityState : quint8 { Unknown = 0, None, Portal, Limited, Full };
32
33enum class NMActiveConnectionState : quint8 { Unknown = 0, Activating, Activated, Deactivating, Deactivated };
34
35enum class NMActiveConnectionStateReason : quint8 {
36 Unknown = 0,
37 None,
38 UserDisconnected,
39 DeviceDisconnected,
40 ServiceStopped,
41 IPConfigInvalid,
42 ConnectTimeout,
43 ServiceStartTimeout,
44 ServiceStartFailed,
45 NoSecrets,
46 LoginFailed,
47 ConnectionRemoved,
48 DependencyFailed,
49 DeviceRealizeFailed,
50 DeviceRemoved
51};
52
53enum class NMVpnConnectionState : quint8 {
54 Unknown = 0,
55 Prepare,
56 NeedAuth,
57 Connect,
58 IPConfigGet,
59 Activated,
60 Failed,
61 Disconnected
62};
63
64enum class NM80211ApFlags : quint8 { None = 0, Privacy, WPS, WPSPBC = 4, WPSPIN = 8 };
65
66enum class NM80211ApSecurityFlags : quint16 {
67 None = 0x0,
68 PairWEP40,
69 PairWEP104,
70 PairTKIP = 0x4,
71 PairCCMP = 0x8,
72 GroupWEP40 = 0x10,
73 GroupWEP104 = 0x20,
74 GroupTKIP = 0x40,
75 GroupCCMP = 0x80,
76 KeyMgmtPsk = 0x100,
77 KeyMgmt8021X = 0x200,
78 KeyMgmtSAE = 0x400,
79 KeyMgmtOWE = 0x800,
80 KeyMgmtOWETM = 0x1000,
81 KeyMgmtEAPSuiteB192 = 0x2000
82};
83
84enum class NMSettingsConnectionFlags : quint8 { None = 0, FlagUnsaved, NMGenerated, Volatile = 4, External = 8 };
85
86enum class ProxyType : quint8 { HTTP = 0, Socks4, Socks5 };
87
88enum class SystemProxyMethod : quint8 { None = 0, Manual, Auto };
89
90enum class NMDeviceType : quint8 {
91 Unknown = 0,
92 Generic = 14,
93 Ethernet = 1,
94 WiFi = 2,
95 Unused1 [[deprecated]] = 3,
96 Unused2 [[deprecated]] = 4,
97 BT = 5,
98 OLPCMesh = 6,
99 WiMAX = 7,
100 Modem = 8,
101 InfiniBand = 9,
102 Bond = 10,
103 VLAN = 11,
104 ADSL = 12,
105 Bridge = 13,
106 Team = 15,
107 Tun = 16,
108 IPTunnel = 17,
109 MACVLAN = 18,
110 VXLAN = 19,
111 VETH = 20,
112 MACsec = 21,
113 Dummy = 22,
114 PPP = 23,
115 OVSInterface = 24,
116 OVSPort = 25,
117 OVSBridge = 26,
118 WPAN = 27,
119 SixLoWPAN = 28,
120 WireGuard = 29,
121 WiFiP2P = 30,
122 VRF = 31
123};
124
125enum class NMDeviceInterfaceFlags : quint32 { None = 0x0, UP, LowerUP, Carrier = 0x10000 };
126
127enum class NMDeviceState : quint8 {
128 Unknown = 0,
129 Unmanaged = 10,
130 Unavailable = 20,
131 Disconnected = 30,
132 Prepare = 40,
133 Config = 50,
134 NeedAuth = 60,
135 IPConfig = 70,
136 IPCheck = 80,
137 Secondaries = 90,
138 Activated = 100,
139 Deactivated = 110,
140 Failed = 120
141};
142
143enum class NMDeviceStateReason : quint8 {
144 None = 0,
145 Unknown,
146 NowManaged,
147 NowUnmanaged,
148 ConfigFailed,
149 IPConfigUnavailable,
150 IPConfigExpired,
151 NoSecret,
152 SupplicantDisconnected,
153 SupplicantConfigFailed,
154 SupplicantFailed,
155 SupplicantTimeout,
156 PPPStartFailed,
157 PPPDisconnect,
158 PPPFailed,
159 DHCPStartFailed,
160 DHCPError,
161 DHCPFailed,
162 SharedStartFailed,
163 SharedFailed,
164 AutoIPStartFailed,
165 AutoIPError,
166 AutoIPFailed,
167 ModemBusy,
168 ModemNoDialTone,
169 ModemNoCarrier,
170 ModemDialTimeout,
171 ModemDialFailed,
172 ModemInitFailed,
173 GSMAPNFailed,
174 GSMRegistrationNotSearching,
175 GSMRegistrationDenied,
176 GSMRegistrationTimeout,
177 GSMRegistrationFailed,
178 GSMPINCheckFailed,
179 FirmwareMissing,
180 Removed,
181 Sleeping,
182 ConnectionRemoved,
183 UserRequested,
184 Carrier,
185 ConnectionAssumed,
186 SupplicantAvailable,
187 ModemNotFound,
188 BTFailed,
189 GSMSIMNotInserted,
190 GSMSIMPINRequired,
191 GSMSIMPUKRequired,
192 GSMSIMWrong,
193 InfinibandMode,
194 DependencyFailed,
195 BR2684Failed,
196 ModemManagerUnavailable,
197 SSIDNotFound,
198 SecondaryConnectionFailed,
199 DCBFCoEFailed,
200 TeamdControlFailed,
201 ModemFailed,
202 ModemAvailable,
203 SIMPINIncorrect,
204 NewActivation,
205 ParentChanged,
206 ParentManagedChanged,
207 OVSDBFailed,
208 IPAddressDuplicate,
209 IPMethodUnsupported,
210 SRIOVConfigurationFailed,
211 PeerNotFound
212};
213
214enum class NM80211Mode : quint8 { Unknown = 0, AdHoc, Infra, AP, Mesh };
215
216enum class NMDeviceWiFiCapabilities : quint16 {
217 None = 0x0,
218 CipherWEP40,
219 CipherWEP104,
220 CipherTKIP = 0x4,
221 CipherCCMP = 0x8,
222 WPA = 0x10,
223 RSN = 0x20,
224 AP = 0x40,
225 AdHoc = 0x80,
226 FreqValid = 0x100,
227 Freq2GHz = 0x200,
228 Freq5GHz = 0x400,
229 Mesh = 0x1000,
230 IBSSRsn = 0x2000
231};
232
233enum class NMSecretAgentCapabilities : quint8 { None = 0, VPNHints };
234
235enum class NMSecretAgentGetSecretsFlags : quint32 {
236 None = 0x0,
237 AllowInteraction,
238 RequestNew,
239 UserRequested = 0x4,
240 WPSPBCActive = 0x8,
241 OnlySystem = 0x80000000,
242 NoError = 0x40000000
243};
244
245enum class NMMetered { Unknown = 0, Yes, No, GuessYes, GuessNo };
246
247enum class NMConfigMethod {
248 Automatic = 0,
249 LinkLocal,
250 Manual,
251 Disabled,
252 Ipv4Shared,
253 Ipv6Dhcp,
254 Ipv6Ignored,
255};
256
257// custom structure
258
260{
261 quint64 settingId;
263 bool operator==(const NewConn &other) const
264 {
265 return (this->activeConnId == other.activeConnId) and (this->settingId == other.settingId);
266 }
267};
268
270{
271 quint32 port;
272 QString host;
273 bool operator==(const SystemProxyAddr &other) const { return (this->port == other.port) and (this->host == other.host); }
274};
275
277{
278 quint32 port;
280 QByteArray ip;
281 QByteArray password;
282 QString user;
283 bool operator==(const AppProxySet &other) const
284 {
285 return (this->port == other.port) and (this->type == other.type) and (this->ip == other.ip) and
286 (this->password == other.password) and (this->user == other.user);
287 }
288};
289
290DNETWORKMANAGER_END_NAMESPACE
291
295Q_DECLARE_METATYPE(DTK_DNETWORKMANAGER_NAMESPACE::Config);
296
300Q_DECLARE_METATYPE(DTK_DNETWORKMANAGER_NAMESPACE::SettingDesc);
301
302#endif
NMDeviceInterfaceFlags
网络接口标志
Definition: dnetworkmanagertypes.h:125
NMVpnConnectionState
Vpn连接的状态
Definition: dnetworkmanagertypes.h:53
NMSecretAgentGetSecretsFlags
这个值修改会GetSecrets请求的行为
Definition: dnetworkmanagertypes.h:235
NMConnectivityState
指示当前NetworkManager连通性的状态
Definition: dnetworkmanagertypes.h:31
NM80211ApSecurityFlags
802.11 接入点安全和身份验证标志
Definition: dnetworkmanagertypes.h:66
SystemProxyMethod
Definition: dnetworkmanagertypes.h:88
NMSettingsConnectionFlags
描述当前激活状态的标志
Definition: dnetworkmanagertypes.h:84
NMSecretAgentCapabilities
指示代理的各种能力
Definition: dnetworkmanagertypes.h:233
NMState
指示当前NetworkManager的状态
Definition: dnetworkmanagertypes.h:20
NMActiveConnectionStateReason
活动连接状态改变的原因
Definition: dnetworkmanagertypes.h:35
NMDeviceState
设备的状态
Definition: dnetworkmanagertypes.h:127
NM80211Mode
指示接入点或设备当前所处的802.11模式
Definition: dnetworkmanagertypes.h:214
NM80211ApFlags
802.11 接入点标志
Definition: dnetworkmanagertypes.h:64
NMMetered
本枚举有两个不同的目的: 一是在配置连接配置文件的“connection.metered”设置, 另一个是表达设备在给定时刻的实际计量状态
Definition: dnetworkmanagertypes.h:245
NMConfigMethod
本枚举代表Ipv4/Ipv6配置文件中method配置项的值
Definition: dnetworkmanagertypes.h:247
NMDeviceType
设备类型
Definition: dnetworkmanagertypes.h:90
ProxyType
代理类型
Definition: dnetworkmanagertypes.h:86
NMDeviceWiFiCapabilities
802.11 特定的设备加密和身份验证功能
Definition: dnetworkmanagertypes.h:216
NMDeviceStateReason
设备状态改变的原因
Definition: dnetworkmanagertypes.h:143
NMActiveConnectionState
指示特定网络连接的状态
Definition: dnetworkmanagertypes.h:33
应用代理配置集
Definition: dnetworkmanagertypes.h:277
QString user
Definition: dnetworkmanagertypes.h:282
QByteArray ip
Definition: dnetworkmanagertypes.h:280
QByteArray password
Definition: dnetworkmanagertypes.h:281
ProxyType type
Definition: dnetworkmanagertypes.h:279
quint32 port
Definition: dnetworkmanagertypes.h:278
新的连接
Definition: dnetworkmanagertypes.h:260
quint64 settingId
Definition: dnetworkmanagertypes.h:261
quint64 activeConnId
Definition: dnetworkmanagertypes.h:262
系统代理的地址
Definition: dnetworkmanagertypes.h:270
QString host
Definition: dnetworkmanagertypes.h:272
quint32 port
Definition: dnetworkmanagertypes.h:271