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 aa969843..b2880d19 100644 --- a/tests/auto/api.json +++ b/tests/auto/api.json @@ -139,7 +139,8 @@ "NetworkManagerErrorWirelessConnectionFailed", "NetworkManagerErrorNetworkingDisabled", "NetworkManagerErrorNetworkManagerNotAvailable", - "NetworkManagerErrorInvalidConfiguration" + "NetworkManagerErrorInvalidConfiguration", + "NetworkManagerErrorUnsupportedFeature" ], "NetworkManagerState": [ "NetworkManagerStateUnknown", @@ -378,6 +379,20 @@ "WiredNetworkConnectionTypeManual", "WiredNetworkConnectionTypeShared" ], + "WirelessCapability": [ + "WirelessCapabilityNone", + "WirelessCapabilityCipherWEP40", + "WirelessCapabilityCipherWEP104", + "WirelessCapabilityCipherTKIP", + "WirelessCapabilityCipherCCMP", + "WirelessCapabilityWPA", + "WirelessCapabilityRSN", + "WirelessCapabilityAP", + "WirelessCapabilityAdHoc", + "WirelessCapabilityFreqValid", + "WirelessCapability2Ghz", + "WirelessCapability5Ghz" + ], "WirelessMode": [ "WirelessModeUnknown", "WirelessModeAdhoc", @@ -551,6 +566,9 @@ ], "PermissionScopes": [ "$ref:PermissionScope" + ], + "WirelessCapabilities": [ + "$ref:WirelessCapability" ] }, "methods": { @@ -3272,6 +3290,7 @@ }, "WirelessNetworkDevice": { "r:bitRate": "String", + "r:capabilities": "$ref:WirelessCapabilities", "r:interface": "String", "r:ipv4Addresses": "StringList", "r:ipv6Addresses": "StringList",