DtkNetworkManager
NetworkManager DBus interface binding for Qt
|
#include "dnetworkmanager_global.h"
#include <QMap>
#include <QScopedPointer>
#include <QString>
#include <QVariant>
类 | |
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模块中所用到的公共自定义类型 以下枚举详细含义和信息可以参考这个文档
|
strong |
802.11 接入点标志
值 | 序号 | 含义 |
---|---|---|
None | 0 | 接入点没有特殊功能 |
Privacy | 1 | 访问点需要身份验证和加密 |
WPS | 2 | 接入点支持某些 WPS 方法 |
WPSPBC | 4 | 接入点支持按钮式 WPS |
WPSPIN | 8 | 接入点支持基于 PIN 的 WPS |
|
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位模式 |
|
strong |
指示接入点或设备当前所处的802.11模式
值 | 序号 | 含义 |
---|---|---|
Unknown | 0 | 未知模式 |
AdHoc | 1 | AdHoc模式, 代表无线临时网络 |
Infra | 2 | 设备或接入点处于基础设施模式 |
AP | 3 | 该设备是一个接入点/热点 |
Mesh | 4 | 该设备是一个802.11s Mesh节点 |
|
strong |
指示特定网络连接的状态
值 | 序号 | 含义 |
---|---|---|
Unknown | 0 | 状态未知 |
Activating | 1 | 正在激活 |
Activated | 2 | 已激活 |
Deactivating | 3 | 正在断开和清理 |
Deactivated | 4 | 已断开并将被移除 |
|
strong |
活动连接状态改变的原因
值 | 序号 | 含义 |
---|---|---|
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 | 此连接所依赖的设备消失了 |
|
strong |
本枚举代表Ipv4/Ipv6配置文件中method配置项的值
|
strong |
指示当前NetworkManager连通性的状态
值 | 序号 | 含义 |
---|---|---|
Unknown | 0 | 状态未知 |
None | 1 | 无连通性 |
Portal | 2 | 互联网连接被俘虏式门户网关劫持 |
Limited | 3 | 主机连接上了因特网, 但无法访问整个网络 |
Full | 4 | 主机连接上了因特网, 可以访问整个网络 |
|
strong |
网络接口标志
值 | 序号 | 含义 |
---|---|---|
None | 0 | 没有标志 |
UP | 1 | 该接口已被启用, 对应于内核的IFF_UP |
LowerUP | 2 | 物理链路已启动, 对应于内核的IFF_LOWER_UP |
Carrier | 65535 | 接口有载体, 在大多数情况下这等于LowerUP, 但某些设备具有非标准的载波检测机制 |
|
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 | 连接失败 |
|
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对端 |
|
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(虚拟路由和转发)接口 |
|
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认证 |
|
strong |
本枚举有两个不同的目的: 一是在配置连接配置文件的“connection.metered”设置, 另一个是表达设备在给定时刻的实际计量状态
值 | 序号 | 含义 |
---|---|---|
Unknown | 0 | 状态未知 |
Yes | 1 | 已计量,该值已明确配置 |
No | 2 | 未计量,该值已明确配置 |
GuessYes | 3 | 已计量,该值是猜测的 |
GuessNo | 4 | 未计量,该值是猜测的 |
|
strong |
指示代理的各种能力
值 | 序号 | 含义 |
---|---|---|
None | 0 | 代理不支持任何特殊功能 |
VPNHints | 1 | 代理支持将提示传递给VPN插件身份验证对话框 |
|
strong |
这个值修改会GetSecrets请求的行为
值 | 序号 | 含义 |
---|---|---|
None | 0 | 没有特殊行为 |
AllowInteraction | 1 | 允许请求与用户交互 |
RequestNew | 2 | 明确提示用户输入新密信 |
UserRequested | 4 | 如果请求是用户而不是NetworkManager发起的则会设置 |
WPSPBCActive | 8 | 表示使用PBC方法的WPS注册处于活动状态 |
OnlySystem | 2147483648 | 内部状态 |
NoError | 1073741824 | 内部状态 |
|
strong |
描述当前激活状态的标志
值 | 序号 | 含义 |
---|---|---|
None | 0 | 无标志 |
FlagUnsaved | 1 | 连接没有存储至硬盘 |
NMGenerated | 2 | 该连接由NetworkManager生成, 但当用户修改该标志会被清除, 没有保存至硬盘 |
Volatile | 4 | 连接断开时将被删除, 因为该连接没有被保存 |
External | 8 | 该配置文件是为了代表一个网络设备的外部配置而生成的 |
|
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连接已激活, 网络成功连通 |
|
strong |
Vpn连接的状态
值 | 序号 | 含义 |
---|---|---|
Unknown | 0 | 状态未知 |
Prepare | 1 | 准备连接 |
NeedAuth | 2 | 需要权限验证 |
Connect | 3 | 连接已建立 |
IPConfigGet | 4 | 获取Ip地址 |
Activated | 5 | 连接已激活 |
Failed | 6 | 连接失败 |
Disconnected | 7 | 断开连接 |
|
strong |
代理类型
值 | 序号 | 含义 |
---|---|---|
HTTP | 0 | HTTP代理 |
Socks4 | 1 | Socks4代理 |
Socks5 | 2 | Socks5代理 |
|
strong |
@bried 系统代理方法
值 | 序号 | 含义 |
---|---|---|
None | 0 | 无 |
Manual | 1 | 手动 |
Auto | 2 | 自动 |