DtkNetworkManager
NetworkManager DBus interface binding for Qt
dnetworkmanagertypes.h 文件参考
#include "dnetworkmanager_global.h"
#include <QMap>
#include <QScopedPointer>
#include <QString>
#include <QVariant>
dnetworkmanagertypes.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

struct  Dtk::NetworkManager::NewConn
 新的连接 更多...
 
struct  Dtk::NetworkManager::SystemProxyAddr
 系统代理的地址 更多...
 
struct  Dtk::NetworkManager::AppProxySet
 应用代理配置集 更多...
 

类型定义

using Dtk::NetworkManager::Config = QMap< QString, QVariant >
 
using Dtk::NetworkManager::SettingDesc = QMap< QString, Config >
 

枚举

enum class  Dtk::NetworkManager::NMState : quint8 {
  Unknown = 0 , Asleep = 10 , Disconnected = 20 , Disconnecting = 30 ,
  Connecting = 40 , ConnectedLocal = 50 , ConnectedSite = 60 , ConnectedGlobal = 70
}
 指示当前NetworkManager的状态 更多...
 
enum class  Dtk::NetworkManager::NMConnectivityState : quint8 {
  Unknown = 0 , None , Portal , Limited ,
  Full
}
 指示当前NetworkManager连通性的状态 更多...
 
enum class  Dtk::NetworkManager::NMActiveConnectionState : quint8 {
  Unknown = 0 , Activating , Activated , Deactivating ,
  Deactivated
}
 指示特定网络连接的状态 更多...
 
enum class  Dtk::NetworkManager::NMActiveConnectionStateReason : quint8 {
  Unknown = 0 , None , UserDisconnected , DeviceDisconnected ,
  ServiceStopped , IPConfigInvalid , ConnectTimeout , ServiceStartTimeout ,
  ServiceStartFailed , NoSecrets , LoginFailed , ConnectionRemoved ,
  DependencyFailed , DeviceRealizeFailed , DeviceRemoved
}
 活动连接状态改变的原因 更多...
 
enum class  Dtk::NetworkManager::NMVpnConnectionState : quint8 {
  Unknown = 0 , Prepare , NeedAuth , Connect ,
  IPConfigGet , Activated , Failed , Disconnected
}
 Vpn连接的状态 更多...
 
enum class  Dtk::NetworkManager::NM80211ApFlags : quint8 {
  None = 0 , Privacy , WPS , WPSPBC = 4 ,
  WPSPIN = 8
}
 802.11 接入点标志 更多...
 
enum class  Dtk::NetworkManager::NM80211ApSecurityFlags : quint16 {
  None = 0x0 , PairWEP40 , PairWEP104 , PairTKIP = 0x4 ,
  PairCCMP = 0x8 , GroupWEP40 = 0x10 , GroupWEP104 = 0x20 , GroupTKIP = 0x40 ,
  GroupCCMP = 0x80 , KeyMgmtPsk = 0x100 , KeyMgmt8021X = 0x200 , KeyMgmtSAE = 0x400 ,
  KeyMgmtOWE = 0x800 , KeyMgmtOWETM = 0x1000 , KeyMgmtEAPSuiteB192 = 0x2000
}
 802.11 接入点安全和身份验证标志 更多...
 
enum class  Dtk::NetworkManager::NMSettingsConnectionFlags : quint8 {
  None = 0 , FlagUnsaved , NMGenerated , Volatile = 4 ,
  External = 8
}
 描述当前激活状态的标志 更多...
 
enum class  Dtk::NetworkManager::ProxyType : quint8 { HTTP = 0 , Socks4 , Socks5 }
 代理类型 更多...
 
enum class  Dtk::NetworkManager::SystemProxyMethod : quint8 { None = 0 , Manual , Auto }
 
enum class  Dtk::NetworkManager::NMDeviceType : quint8 {
  Unknown = 0 , Generic = 14 , Ethernet = 1 , WiFi = 2 ,
  Unused1 = 3 , Unused2 = 4 , BT = 5 , OLPCMesh = 6 ,
  WiMAX = 7 , Modem = 8 , InfiniBand = 9 , Bond = 10 ,
  VLAN = 11 , ADSL = 12 , Bridge = 13 , Team = 15 ,
  Tun = 16 , IPTunnel = 17 , MACVLAN = 18 , VXLAN = 19 ,
  VETH = 20 , MACsec = 21 , Dummy = 22 , PPP = 23 ,
  OVSInterface = 24 , OVSPort = 25 , OVSBridge = 26 , WPAN = 27 ,
  SixLoWPAN = 28 , WireGuard = 29 , WiFiP2P = 30 , VRF = 31
}
 设备类型 更多...
 
enum class  Dtk::NetworkManager::NMDeviceInterfaceFlags : quint32 { None = 0x0 , UP , LowerUP , Carrier = 0x10000 }
 网络接口标志 更多...
 
enum class  Dtk::NetworkManager::NMDeviceState : quint8 {
  Unknown = 0 , Unmanaged = 10 , Unavailable = 20 , Disconnected = 30 ,
  Prepare = 40 , Config = 50 , NeedAuth = 60 , IPConfig = 70 ,
  IPCheck = 80 , Secondaries = 90 , Activated = 100 , Deactivated = 110 ,
  Failed = 120
}
 设备的状态 更多...
 
enum class  Dtk::NetworkManager::NMDeviceStateReason : quint8 {
  None = 0 , Unknown , NowManaged , NowUnmanaged ,
  ConfigFailed , IPConfigUnavailable , IPConfigExpired , NoSecret ,
  SupplicantDisconnected , SupplicantConfigFailed , SupplicantFailed , SupplicantTimeout ,
  PPPStartFailed , PPPDisconnect , PPPFailed , DHCPStartFailed ,
  DHCPError , DHCPFailed , SharedStartFailed , SharedFailed ,
  AutoIPStartFailed , AutoIPError , AutoIPFailed , ModemBusy ,
  ModemNoDialTone , ModemNoCarrier , ModemDialTimeout , ModemDialFailed ,
  ModemInitFailed , GSMAPNFailed , GSMRegistrationNotSearching , GSMRegistrationDenied ,
  GSMRegistrationTimeout , GSMRegistrationFailed , GSMPINCheckFailed , FirmwareMissing ,
  Removed , Sleeping , ConnectionRemoved , UserRequested ,
  Carrier , ConnectionAssumed , SupplicantAvailable , ModemNotFound ,
  BTFailed , GSMSIMNotInserted , GSMSIMPINRequired , GSMSIMPUKRequired ,
  GSMSIMWrong , InfinibandMode , DependencyFailed , BR2684Failed ,
  ModemManagerUnavailable , SSIDNotFound , SecondaryConnectionFailed , DCBFCoEFailed ,
  TeamdControlFailed , ModemFailed , ModemAvailable , SIMPINIncorrect ,
  NewActivation , ParentChanged , ParentManagedChanged , OVSDBFailed ,
  IPAddressDuplicate , IPMethodUnsupported , SRIOVConfigurationFailed , PeerNotFound
}
 设备状态改变的原因 更多...
 
enum class  Dtk::NetworkManager::NM80211Mode : quint8 {
  Unknown = 0 , AdHoc , Infra , AP ,
  Mesh
}
 指示接入点或设备当前所处的802.11模式 更多...
 
enum class  Dtk::NetworkManager::NMDeviceWiFiCapabilities : quint16 {
  None = 0x0 , CipherWEP40 , CipherWEP104 , CipherTKIP = 0x4 ,
  CipherCCMP = 0x8 , WPA = 0x10 , RSN = 0x20 , AP = 0x40 ,
  AdHoc = 0x80 , FreqValid = 0x100 , Freq2GHz = 0x200 , Freq5GHz = 0x400 ,
  Mesh = 0x1000 , IBSSRsn = 0x2000
}
 802.11 特定的设备加密和身份验证功能 更多...
 
enum class  Dtk::NetworkManager::NMSecretAgentCapabilities : quint8 { None = 0 , VPNHints }
 指示代理的各种能力 更多...
 
enum class  Dtk::NetworkManager::NMSecretAgentGetSecretsFlags : quint32 {
  None = 0x0 , AllowInteraction , RequestNew , UserRequested = 0x4 ,
  WPSPBCActive = 0x8 , OnlySystem = 0x80000000 , NoError = 0x40000000
}
 这个值修改会GetSecrets请求的行为 更多...
 
enum class  Dtk::NetworkManager::NMMetered {
  Unknown = 0 , Yes , No , GuessYes ,
  GuessNo
}
 本枚举有两个不同的目的: 一是在配置连接配置文件的“connection.metered”设置, 另一个是表达设备在给定时刻的实际计量状态 更多...
 
enum class  Dtk::NetworkManager::NMConfigMethod {
  Automatic = 0 , LinkLocal , Manual , Disabled ,
  Ipv4Shared , Ipv6Dhcp , Ipv6Ignored
}
 本枚举代表Ipv4/Ipv6配置文件中method配置项的值 更多...
 

详细描述

在dnetworkmanagertypes.h中定义了一些dtknetworkmanager模块中所用到的公共自定义类型 以下枚举详细含义和信息可以参考这个文档

枚举类型说明

◆ NM80211ApFlags

enum class Dtk::NetworkManager::NM80211ApFlags : quint8
strong

802.11 接入点标志

序号 含义
None 0 接入点没有特殊功能
Privacy 1 访问点需要身份验证和加密
WPS 2 接入点支持某些 WPS 方法
WPSPBC 4 接入点支持按钮式 WPS
WPSPIN 8 接入点支持基于 PIN 的 WPS

◆ NM80211ApSecurityFlags

enum class Dtk::NetworkManager::NM80211ApSecurityFlags : quint16
strong

802.11 接入点安全和身份验证标志

序号 含义
None 0 接入点没有特殊的安全要求
PairWEP40 1 支持40/64位成对/单播WEP加密
PairWEP104 2 支持104/128位成对/单播WEP加密
PairTKIP 4 支持成对/单播TKIP加密
PairCCMP 8 支持AES/CCMP成对/单播加密
GroupWEP40 16 支持40/64位WEP组/广播加密
GroupWEP104 32 支持104/128位WEP组/广播加密
GroupTKIP 64 支持TKIP组/广播加密
GroupCCMP 128 支持AES/CCMP组/广播加密
KeyMgmtPsk 256 支持WPA/RSN预共享密钥加密
KeyMgmt8021X 512 支持802.1x身份验证和密钥管理
KeyMgmtSAE 1024 支持WPA/RSN同步身份验证
KeyMgmtOWE 2048 支持WPA/RSN机会无线加密
KeyMgmtOWETM 4096 支持WPA/RSN机会无线加密过渡模式
KeyMgmtEAPSuiteB192 8192 支持WPA3 Enterprise Suite-B 192位模式

◆ NM80211Mode

enum class Dtk::NetworkManager::NM80211Mode : quint8
strong

指示接入点或设备当前所处的802.11模式

序号 含义
Unknown 0 未知模式
AdHoc 1 AdHoc模式, 代表无线临时网络
Infra 2 设备或接入点处于基础设施模式
AP 3 该设备是一个接入点/热点
Mesh 4 该设备是一个802.11s Mesh节点

◆ NMActiveConnectionState

指示特定网络连接的状态

序号 含义
Unknown 0 状态未知
Activating 1 正在激活
Activated 2 已激活
Deactivating 3 正在断开和清理
Deactivated 4 已断开并将被移除

◆ NMActiveConnectionStateReason

活动连接状态改变的原因

序号 含义
Unknown 0 未知原因
None 1 没有原因
UserDisconnected 2 用户断开连接
DeviceDisconnected 3 设备断开连接
ServiceStopped 4 提供VPN连接的服务已停止
IPConfigInvalid 5 Ip配置无效
ConnectTimeout 6 VPN连接超时
ServiceStartTimeout 7 启动提供VPN连接的服务时发生超时
ServiceStartFailed 8 启动提供VPN连接的服务时失败
NoSecrets 9 没有提供必须的密信
LoginFailed 10 服务验证失败
ConnectionRemoved 11 连接从配置中被删除
DependencyFailed 12 此连接的主连接激活失败
DeviceRealizeFailed 13 无法创建软件设备链接
DeviceRemoved 14 此连接所依赖的设备消失了

◆ NMConfigMethod

本枚举代表Ipv4/Ipv6配置文件中method配置项的值

参见
这个文档

◆ NMConnectivityState

enum class Dtk::NetworkManager::NMConnectivityState : quint8
strong

指示当前NetworkManager连通性的状态

序号 含义
Unknown 0 状态未知
None 1 无连通性
Portal 2 互联网连接被俘虏式门户网关劫持
Limited 3 主机连接上了因特网, 但无法访问整个网络
Full 4 主机连接上了因特网, 可以访问整个网络

◆ NMDeviceInterfaceFlags

enum class Dtk::NetworkManager::NMDeviceInterfaceFlags : quint32
strong

网络接口标志

序号 含义
None 0 没有标志
UP 1 该接口已被启用, 对应于内核的IFF_UP
LowerUP 2 物理链路已启动, 对应于内核的IFF_LOWER_UP
Carrier 65535 接口有载体, 在大多数情况下这等于LowerUP, 但某些设备具有非标准的载波检测机制

◆ NMDeviceState

enum class Dtk::NetworkManager::NMDeviceState : quint8
strong

设备的状态

序号 含义
Unknown 0 未知设备状态
Unmanaged 10 设备可以被识别但不属于NetworkManager管理
Unavailable 20 设备归NetworkManager管理但是不可用, 可能的原因是无线被关闭,固件缺失,没有以太网载体等
Disconnected 30 设备可以被激活,但目前处于空闲状态并且无网络连接
Prepare 40 设备准备连接网络
Config 50 设备正在连接并请求网络
NeedAuth 60 设备需要更多信息来进行验证从而继续连接网络
IPConfig 70 设备正在从网络上请求Ipv4或/和Ipv6地址和路由信息
IPCheck 80 设备正在检查请求的网络连接是否需要进一步操作
Secondaries 90 该设备正在等待一个二级连接(如VPN), 该连接必须在设备被激活之前激活
Activated 100 该设备有一个网络连接,无论是本地还是全球的
Deactivated 110 要求断开当前的网络连接,并且设备正在清理用于该连接的资源
Failed 120 连接失败

◆ NMDeviceStateReason

enum class Dtk::NetworkManager::NMDeviceStateReason : quint8
strong

设备状态改变的原因

序号 含义
None 0 没有原因
Unknown 1 未知错误
NowManaged 2 现在该设备被管理
NowUnmanaged 3 现在该设备不被管理
ConfigFailed 4 该设备无法被配置
IPConfigUnavailable 5 IP配置不能被保留
IPConfigExpired 6 IP配置已过期
NoSecret 7 需要密信但没有提供
SupplicantDisconnected 8 802.1x supplicant断开
SupplicantConfigFailed 9 802.1x supplicant配置失败
SupplicantFailed 10 802.1x supplicant失败
SupplicantTimeout 11 802.1x supplicant验证超时
PPPStartFailed 12 PPP服务启动失败
PPPDisconnect 13 PPP服务断开
PPPFailed 14 PPP服务失败
DHCPStartFailed 15 DHCP客户端启动失败
DHCPError 16 DHCP客户端错误
DHCPFailed 17 DHCP客户端失败
SharedStartFailed 18 共享连接服务启动失败
SharedFailed 19 共享连接服务失败
AutoIPStartFailed 20 AutoIP服务启动失败
AutoIPError 21 AutoIP服务错误
AutoIPFailed 22 AutoIP服务失败
ModemBusy 23 线缆忙
ModemNoDialTone 24 无拨号音
ModemNoCarrier 25 无法确定载体
ModemDialTimeout 26 拨号超时
ModemDialFailed 27 拨号失败
ModemInitFailed 28 调制解调器初始化失败
GSMAPNFailed 29 选择特定的APN失败
GSMRegistrationNotSearching 30 未搜索网络
GSMRegistrationDenied 31 网络注册被拒绝
GSMRegistrationTimeout 32 网络注册超时
GSMRegistrationFailed 33 网络注册失败
GSMPINCheckFailed 34 PIN检查失败
FirmwareMissing 35 必要固件缺失
Removed 36 设备被移除
Sleeping 37 NetworkManager休眠
ConnectionRemoved 38 本设备上的活动连接消失
UserRequested 39 设备被用户或客户端断开连接
Carrier 40 载体变更
ConnectionAssumed 41 现有连接是被假设的
SupplicantAvailable 42 supplicant现在可用
ModemNotFound 43 找不到调制解调器
BTFailed 44 蓝牙连接失败或超时
GSMSIMNotInserted 45 GSM调制解调器的SIM卡没有插入
GSMSIMPINRequired 46 GSM调制解调器的SIM请求PIN
GSMSIMPUKRequired 47 GSM调制解调器的SIM请求Puk
GSMSIMWrong 48 GSM调制解调器的SIM出错
InfinibandMode 49 InfiniBand设备不支持连接模式
DependencyFailed 50 连接的依赖失败
BR2684Failed 51 ADSL网桥上的出现RFC 2684以太网问题
ModemManagerUnavailable 52 ModemManager没有运行
SSIDNotFound 53 WiFi网络无法找到
SecondaryConnectionFailed 54 基础连接的辅助连接失败
DCBFCoEFailed 55 DCB或FCoE设置失败
TeamdControlFailed 56 teamd控制失败
ModemFailed 57 调制解调器出现故障或不再可用
ModemAvailable 58 调制解调器现已准备就绪并可用
SIMPINIncorrect 59 SIM的PIN不正确
NewActivation 60 新的连接激活已排队
ParentChanged 61 设备的父母改变了
ParentManagedChanged 62 设备父母的管理已更改
OVSDBFailed 63 与Open vSwitch数据库通信时出现问题
IPAddressDuplicate 64 检测到重复的IP地址
IPMethodUnsupported 65 不支持所选的IP方法
SRIOVConfigurationFailed 66 SR-IOV参数配置失败
PeerNotFound 67 找不到WiFi P2P对端

◆ NMDeviceType

enum class Dtk::NetworkManager::NMDeviceType : quint8
strong

设备类型

序号 含义
Unknown 0 未知设备
Generic 14 无法识别设备类型的通用支持
Ethernet 1 有线设备
WiFi 2 无线wifi设备
Unused1 3 不使用
Unused2 4 不使用
BT 5 一个支持PAN或DUN接入协议的蓝牙设备
OLPCMesh 6 一个OLPC XO mesh网络设备
WiMAX 7 一个802.16e移动WiMAX的宽带设备
Modem 8 一个支持模拟电话、CDMA/EVDO、GSM/UMTS或LTE网络接入协议的调制器
InfiniBand 9 一个IPoIB设备
Bond 10 一个Bond设备
VLAN 11 一个802.1Q的VLAN接口
ADSL 12 一个ADSL调制解调器
Bridge 13 一个桥接设备
Team 15 一个team设备
Tun 16 TUN或TAP接口
IPTunnel 17 一个IP隧道接口
MACVLAN 18 一个MACVLAN接口
VXLAN 19 一个VXLAN接口
VETH 20 一个VETH接口
MACSec 21 一个MACsec接口
Dummy 22 一个Dummy接口
PPP 23 一个PPP接口
OVSInterface 24 一个Open vSwitch接口
OVSPort 25 一个Open vSwitch端口
OVSBridge 26 一个Open vSwitch桥
WPAN 27 IEEE 802.15.4(WPAN) MAC层设备
6LoWPAN 28 6LoWPAN接口
WireGuard 29 WireGuard接口
WiFiP2P 30 802.11 Wi-Fi P2P设备
VRF 31 一个VRF(虚拟路由和转发)接口

◆ NMDeviceWiFiCapabilities

enum class Dtk::NetworkManager::NMDeviceWiFiCapabilities : quint16
strong

802.11 特定的设备加密和身份验证功能

序号 含义
None 0 无加密/授权
CipherWEP40 1 设备支持40/64位WEP加密
CipherWEP104 2 设备支持104/128位WEP加密
CipherTKIP 4 设备支持TKIP加密
CipherCCMP 8 设备支持AES/CCMP加密
WPA 16 设备支持WPA1认证
RSN 32 设备支持WPA2/RSN认证
AP 64 设备支持接入点模式
AdHoc 128 设备支持Ad-Hoc模式
FreqValid 256 设备有报告频率能力
Freq2GHz 512 设备支持2.4GHz频率
Freq5GHz 1024 设备支持5GHz频率
Mesh 2048 设备支持充当Mesh节点
IBSSRsn 4096 设备在IBSS网络中支持WPA2/RSN认证

◆ NMMetered

enum class Dtk::NetworkManager::NMMetered
strong

本枚举有两个不同的目的: 一是在配置连接配置文件的“connection.metered”设置, 另一个是表达设备在给定时刻的实际计量状态

序号 含义
Unknown 0 状态未知
Yes 1 已计量,该值已明确配置
No 2 未计量,该值已明确配置
GuessYes 3 已计量,该值是猜测的
GuessNo 4 未计量,该值是猜测的

◆ NMSecretAgentCapabilities

指示代理的各种能力

序号 含义
None 0 代理不支持任何特殊功能
VPNHints 1 代理支持将提示传递给VPN插件身份验证对话框

◆ NMSecretAgentGetSecretsFlags

这个值修改会GetSecrets请求的行为

序号 含义
None 0 没有特殊行为
AllowInteraction 1 允许请求与用户交互
RequestNew 2 明确提示用户输入新密信
UserRequested 4 如果请求是用户而不是NetworkManager发起的则会设置
WPSPBCActive 8 表示使用PBC方法的WPS注册处于活动状态
OnlySystem 2147483648 内部状态
NoError 1073741824 内部状态

◆ NMSettingsConnectionFlags

描述当前激活状态的标志

序号 含义
None 0 无标志
FlagUnsaved 1 连接没有存储至硬盘
NMGenerated 2 该连接由NetworkManager生成, 但当用户修改该标志会被清除, 没有保存至硬盘
Volatile 4 连接断开时将被删除, 因为该连接没有被保存
External 8 该配置文件是为了代表一个网络设备的外部配置而生成的

◆ NMState

enum class Dtk::NetworkManager::NMState : quint8
strong

指示当前NetworkManager的状态

序号 含义
Unknown 0 状态未知
Asleep 10 NetworkManager未启用
Disconnected 20 没有活动连接
Disconnecting 30 正在断开网络连接
Connecting 40 正在启动网络连接
ConnectedLocal 50 只有本地Ipv4和/或Ipv6连接且没有默认路由能够访问到因特网, 网络无法连通
ConnectedSite 60 在站点范围内有Ipv4和/或Ipv6连接且有默认路由, 网络无法连通
ConnectedGlobal 70 全局Ipv4和/或Ipv6连接已激活, 网络成功连通

◆ NMVpnConnectionState

enum class Dtk::NetworkManager::NMVpnConnectionState : quint8
strong

Vpn连接的状态

序号 含义
Unknown 0 状态未知
Prepare 1 准备连接
NeedAuth 2 需要权限验证
Connect 3 连接已建立
IPConfigGet 4 获取Ip地址
Activated 5 连接已激活
Failed 6 连接失败
Disconnected 7 断开连接

◆ ProxyType

enum class Dtk::NetworkManager::ProxyType : quint8
strong

代理类型

序号 含义
HTTP 0 HTTP代理
Socks4 1 Socks4代理
Socks5 2 Socks5代理

◆ SystemProxyMethod

enum class Dtk::NetworkManager::SystemProxyMethod : quint8
strong

@bried 系统代理方法

序号 含义
None 0
Manual 1 手动
Auto 2 自动