From f013619a4577b15d76cfbc76e9303fabcb8234e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20St=C3=BCrz?= Date: Fri, 18 Oct 2024 14:21:53 +0200 Subject: [PATCH] NetworkManager: add wireless device capabilities --- .../jsonrpc/networkmanagerhandler.cpp | 3 +++ tests/auto/api.json | 21 ++++++++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/libnymea-core/jsonrpc/networkmanagerhandler.cpp b/libnymea-core/jsonrpc/networkmanagerhandler.cpp index 62766e68..77249577 100644 --- a/libnymea-core/jsonrpc/networkmanagerhandler.cpp +++ b/libnymea-core/jsonrpc/networkmanagerhandler.cpp @@ -90,6 +90,7 @@ NetworkManagerHandler::NetworkManagerHandler(NetworkManager *networkManager, QOb registerEnum(); registerEnum(); registerEnum(); + registerFlag(); registerEnum(); registerEnum(); @@ -119,6 +120,7 @@ NetworkManagerHandler::NetworkManagerHandler(NetworkManager *networkManager, QOb wirelessNetworkDevice.insert("r:ipv4Addresses", enumValueName(StringList)); wirelessNetworkDevice.insert("r:ipv6Addresses", enumValueName(StringList)); wirelessNetworkDevice.insert("r:state", enumRef()); + wirelessNetworkDevice.insert("r:capabilities", flagRef()); wirelessNetworkDevice.insert("r:bitRate", enumValueName(String)); wirelessNetworkDevice.insert("r:mode", enumRef()); wirelessNetworkDevice.insert("r:o:currentAccessPoint", objectRef()); @@ -556,6 +558,7 @@ QVariantMap NetworkManagerHandler::packWirelessNetworkDevice(WirelessNetworkDevi networkDeviceVariant.insert("ipv4Addresses", networkDevice->ipv4Addresses()); networkDeviceVariant.insert("ipv6Addresses", networkDevice->ipv6Addresses()); networkDeviceVariant.insert("state", networkDevice->deviceStateString()); + networkDeviceVariant.insert("capabilities", flagValueNames(networkDevice->wirelessCapabilities())); networkDeviceVariant.insert("mode", enumValueName(networkDevice->wirelessMode())); networkDeviceVariant.insert("bitRate", QString("%1 [Mb/s]").arg(QString::number(networkDevice->bitRate()))); if (networkDevice->activeAccessPoint()) diff --git a/tests/auto/api.json b/tests/auto/api.json index a9dd7667..90485aaf 100644 --- a/tests/auto/api.json +++ b/tests/auto/api.json @@ -125,7 +125,8 @@ "NetworkManagerErrorWirelessConnectionFailed", "NetworkManagerErrorNetworkingDisabled", "NetworkManagerErrorNetworkManagerNotAvailable", - "NetworkManagerErrorInvalidConfiguration" + "NetworkManagerErrorInvalidConfiguration", + "NetworkManagerErrorUnsupportedFeature" ], "NetworkManagerState": [ "NetworkManagerStateUnknown", @@ -364,6 +365,20 @@ "WiredNetworkConnectionTypeManual", "WiredNetworkConnectionTypeShared" ], + "WirelessCapability": [ + "WirelessCapabilityNone", + "WirelessCapabilityCipherWEP40", + "WirelessCapabilityCipherWEP104", + "WirelessCapabilityCipherTKIP", + "WirelessCapabilityCipherCCMP", + "WirelessCapabilityWPA", + "WirelessCapabilityRSN", + "WirelessCapabilityAP", + "WirelessCapabilityAdHoc", + "WirelessCapabilityFreqValid", + "WirelessCapability2Ghz", + "WirelessCapability5Ghz" + ], "WirelessMode": [ "WirelessModeUnknown", "WirelessModeAdhoc", @@ -537,6 +552,9 @@ ], "PermissionScopes": [ "$ref:PermissionScope" + ], + "WirelessCapabilities": [ + "$ref:WirelessCapability" ] }, "methods": { @@ -3224,6 +3242,7 @@ }, "WirelessNetworkDevice": { "r:bitRate": "String", + "r:capabilities": "$ref:WirelessCapabilities", "r:interface": "String", "r:ipv4Addresses": "StringList", "r:ipv6Addresses": "StringList",