Add wifi mode property
parent
4a6df2b93c
commit
09630729cb
|
|
@ -68,7 +68,7 @@ WirelessService::WirelessService(QLowEnergyService *service, NetworkManager *net
|
|||
m_device = m_networkManager->wirelessNetworkDevices().first();
|
||||
connect(m_device, &WirelessNetworkDevice::bitRateChanged, this, &WirelessService::onWirelessDeviceBitRateChanged);
|
||||
connect(m_device, &WirelessNetworkDevice::stateChanged, this, &WirelessService::onWirelessDeviceStateChanged);
|
||||
connect(m_device, &WirelessNetworkDevice::modeChanged, this, &WirelessService::onWirelessModeChanged);
|
||||
connect(m_device, &WirelessNetworkDevice::wirelessModeChanged, this, &WirelessService::onWirelessModeChanged);
|
||||
}
|
||||
|
||||
QLowEnergyService *WirelessService::service()
|
||||
|
|
@ -119,9 +119,9 @@ QLowEnergyServiceData WirelessService::serviceData(NetworkManager *networkManage
|
|||
wirelessModeCharacteristicData.addDescriptor(clientConfigDescriptorData);
|
||||
wirelessModeCharacteristicData.setValueLength(1, 1);
|
||||
if (networkManager->wirelessNetworkDevices().isEmpty()) {
|
||||
wirelessModeCharacteristicData.setValue(WirelessService::getWirelessMode(WirelessNetworkDevice::ModeUnknown));
|
||||
wirelessModeCharacteristicData.setValue(WirelessService::getWirelessMode(WirelessNetworkDevice::WirelessModeUnknown));
|
||||
} else {
|
||||
wirelessModeCharacteristicData.setValue(WirelessService::getWirelessMode(networkManager->wirelessNetworkDevices().first()->mode()));
|
||||
wirelessModeCharacteristicData.setValue(WirelessService::getWirelessMode(networkManager->wirelessNetworkDevices().first()->wirelessMode()));
|
||||
}
|
||||
serviceData.addCharacteristic(wirelessModeCharacteristicData);
|
||||
|
||||
|
|
@ -190,16 +190,16 @@ QByteArray WirelessService::getWirelessNetworkDeviceState(const NetworkDevice::N
|
|||
return QByteArray::fromHex("00");
|
||||
}
|
||||
|
||||
QByteArray WirelessService::getWirelessMode(WirelessNetworkDevice::Mode mode)
|
||||
QByteArray WirelessService::getWirelessMode(WirelessNetworkDevice::WirelessMode mode)
|
||||
{
|
||||
switch (mode) {
|
||||
case WirelessNetworkDevice::ModeUnknown:
|
||||
case WirelessNetworkDevice::WirelessModeUnknown:
|
||||
return QByteArray::fromHex("00");
|
||||
case WirelessNetworkDevice::ModeAdhoc:
|
||||
case WirelessNetworkDevice::WirelessModeAdhoc:
|
||||
return QByteArray::fromHex("01");
|
||||
case WirelessNetworkDevice::ModeInfrastructure:
|
||||
case WirelessNetworkDevice::WirelessModeInfrastructure:
|
||||
return QByteArray::fromHex("02");
|
||||
case WirelessNetworkDevice::ModeAccessPoint:
|
||||
case WirelessNetworkDevice::WirelessModeAccessPoint:
|
||||
return QByteArray::fromHex("03");
|
||||
}
|
||||
|
||||
|
|
@ -605,7 +605,7 @@ void WirelessService::onWirelessDeviceStateChanged(const NetworkDevice::NetworkD
|
|||
m_service->writeCharacteristic(characteristic, WirelessService::getWirelessNetworkDeviceState(state));
|
||||
}
|
||||
|
||||
void WirelessService::onWirelessModeChanged(WirelessNetworkDevice::Mode mode)
|
||||
void WirelessService::onWirelessModeChanged(WirelessNetworkDevice::WirelessMode mode)
|
||||
{
|
||||
if (!m_service) {
|
||||
qCWarning(dcNetworkManagerBluetoothServer()) << "WirelessService: Could not update wireless device mode. Service not valid";
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ private:
|
|||
|
||||
// Note: static to be available in serviceData
|
||||
static QByteArray getWirelessNetworkDeviceState(const NetworkDevice::NetworkDeviceState &state);
|
||||
static QByteArray getWirelessMode(WirelessNetworkDevice::Mode mode);
|
||||
static QByteArray getWirelessMode(WirelessNetworkDevice::WirelessMode mode);
|
||||
|
||||
void streamData(const QVariantMap &responseMap);
|
||||
|
||||
|
|
@ -116,7 +116,7 @@ private slots:
|
|||
// Wireless network device
|
||||
void onWirelessDeviceBitRateChanged(const int &bitRate);
|
||||
void onWirelessDeviceStateChanged(const NetworkDevice::NetworkDeviceState &state);
|
||||
void onWirelessModeChanged(WirelessNetworkDevice::Mode mode);
|
||||
void onWirelessModeChanged(WirelessNetworkDevice::WirelessMode mode);
|
||||
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -86,9 +86,9 @@ WirelessNetworkDevice::WirelessNetworkDevice(const QDBusObjectPath &objectPath,
|
|||
|
||||
readAccessPoints();
|
||||
|
||||
setMacAddress(m_wirelessInterface->property("HwAddress").toString());
|
||||
setMode(static_cast<Mode>(m_wirelessInterface->property("Mode").toUInt()));
|
||||
setBitrate(m_wirelessInterface->property("Bitrate").toInt());
|
||||
m_macAddress = m_wirelessInterface->property("HwAddress").toString();
|
||||
m_wirelessMode = static_cast<WirelessMode>(m_wirelessInterface->property("Mode").toUInt());
|
||||
m_bitRate = m_wirelessInterface->property("Bitrate").toInt() / 1000;
|
||||
setActiveAccessPoint(qdbus_cast<QDBusObjectPath>(m_wirelessInterface->property("ActiveAccessPoint")));
|
||||
}
|
||||
|
||||
|
|
@ -104,9 +104,9 @@ int WirelessNetworkDevice::bitRate() const
|
|||
return m_bitRate;
|
||||
}
|
||||
|
||||
WirelessNetworkDevice::Mode WirelessNetworkDevice::mode() const
|
||||
WirelessNetworkDevice::WirelessMode WirelessNetworkDevice::wirelessMode() const
|
||||
{
|
||||
return m_mode;
|
||||
return m_wirelessMode;
|
||||
}
|
||||
|
||||
/*! Returns the current active \l{WirelessAccessPoint} of this \l{WirelessNetworkDevice}. */
|
||||
|
|
@ -169,34 +169,6 @@ void WirelessNetworkDevice::readAccessPoints()
|
|||
argument.endArray();
|
||||
}
|
||||
|
||||
void WirelessNetworkDevice::setMacAddress(const QString &macAddress)
|
||||
{
|
||||
m_macAddress = macAddress;
|
||||
}
|
||||
|
||||
void WirelessNetworkDevice::setMode(WirelessNetworkDevice::Mode mode)
|
||||
{
|
||||
if (m_mode == mode)
|
||||
return;
|
||||
|
||||
m_mode = mode;
|
||||
emit modeChanged(m_mode);
|
||||
}
|
||||
|
||||
void WirelessNetworkDevice::setBitrate(int bitRate)
|
||||
{
|
||||
if (m_bitRate != bitRate / 1000) {
|
||||
m_bitRate = bitRate / 1000;
|
||||
emit bitRateChanged(m_bitRate);
|
||||
emit deviceChanged();
|
||||
}
|
||||
}
|
||||
|
||||
void WirelessNetworkDevice::setLastScan(int lastScan)
|
||||
{
|
||||
m_lastScan = lastScan;
|
||||
}
|
||||
|
||||
void WirelessNetworkDevice::setActiveAccessPoint(const QDBusObjectPath &activeAccessPointObjectPath)
|
||||
{
|
||||
if (m_activeAccessPointObjectPath != activeAccessPointObjectPath) {
|
||||
|
|
@ -251,20 +223,27 @@ void WirelessNetworkDevice::propertiesChanged(const QVariantMap &properties)
|
|||
{
|
||||
//qCDebug(dcNetworkManager()) << "WirelessNetworkDevice: Property changed" << properties;
|
||||
|
||||
if (properties.contains("Bitrate"))
|
||||
setBitrate(properties.value("Bitrate").toInt());
|
||||
if (properties.contains("Bitrate")) {
|
||||
m_bitRate = properties.value("Bitrate").toInt() / 1000;
|
||||
emit bitRateChanged(m_bitRate);
|
||||
}
|
||||
|
||||
if (properties.contains("ActiveAccessPoint"))
|
||||
setActiveAccessPoint(qdbus_cast<QDBusObjectPath>(properties.value("ActiveAccessPoint")));
|
||||
|
||||
if (properties.contains("Mode"))
|
||||
setMode(static_cast<Mode>(m_wirelessInterface->property("Mode").toUInt()));
|
||||
if (properties.contains("Mode")) {
|
||||
m_wirelessMode = static_cast<WirelessMode>(m_wirelessInterface->property("Mode").toUInt());
|
||||
emit wirelessModeChanged(m_wirelessMode);
|
||||
}
|
||||
|
||||
// Note: available since 1.12 (-1 means never scanned)
|
||||
if (properties.contains("LastScan"))
|
||||
setLastScan(m_wirelessInterface->property("LastScan").toInt());
|
||||
if (properties.contains("LastScan")) {
|
||||
m_lastScan = m_wirelessInterface->property("LastScan").toInt();
|
||||
emit lastScanChanged(m_lastScan);
|
||||
}
|
||||
|
||||
if (properties.contains("ActiveAccessPoint")) {
|
||||
setActiveAccessPoint(qdbus_cast<QDBusObjectPath>(properties.value("ActiveAccessPoint")));
|
||||
}
|
||||
|
||||
emit deviceChanged();
|
||||
}
|
||||
|
||||
/*! Writes the given \a device to the given to \a debug. \sa WirelessNetworkDevice, */
|
||||
|
|
@ -272,7 +251,7 @@ QDebug operator<<(QDebug debug, WirelessNetworkDevice *device)
|
|||
{
|
||||
debug.nospace() << "WirelessNetworkDevice(" << device->interface() << ", ";
|
||||
debug.nospace() << device->macAddress() << ", ";
|
||||
debug.nospace() << device->mode() << ", ";
|
||||
debug.nospace() << device->wirelessMode() << ", ";
|
||||
debug.nospace() << device->bitRate() << " [Mb/s], ";
|
||||
debug.nospace() << device->deviceStateString() << ") ";
|
||||
return debug.space();
|
||||
|
|
|
|||
|
|
@ -46,20 +46,20 @@ class WirelessNetworkDevice : public NetworkDevice
|
|||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
enum Mode {
|
||||
ModeUnknown = 0,
|
||||
ModeAdhoc = 1,
|
||||
ModeInfrastructure = 2,
|
||||
ModeAccessPoint = 3
|
||||
enum WirelessMode {
|
||||
WirelessModeUnknown = 0,
|
||||
WirelessModeAdhoc = 1,
|
||||
WirelessModeInfrastructure = 2,
|
||||
WirelessModeAccessPoint = 3
|
||||
};
|
||||
Q_ENUM(Mode)
|
||||
Q_ENUM(WirelessMode)
|
||||
|
||||
explicit WirelessNetworkDevice(const QDBusObjectPath &objectPath, QObject *parent = nullptr);
|
||||
|
||||
// Properties
|
||||
QString macAddress() const;
|
||||
int bitRate() const;
|
||||
Mode mode() const;
|
||||
WirelessMode wirelessMode() const;
|
||||
WirelessAccessPoint *activeAccessPoint();
|
||||
|
||||
// Accesspoints
|
||||
|
|
@ -70,13 +70,23 @@ public:
|
|||
// Methods
|
||||
void scanWirelessNetworks();
|
||||
|
||||
signals:
|
||||
void bitRateChanged(int bitRate);
|
||||
void wirelessModeChanged(WirelessMode mode);
|
||||
void lastScanChanged(int lastScan);
|
||||
|
||||
private slots:
|
||||
void accessPointAdded(const QDBusObjectPath &objectPath);
|
||||
void accessPointRemoved(const QDBusObjectPath &objectPath);
|
||||
void propertiesChanged(const QVariantMap &properties);
|
||||
|
||||
private:
|
||||
QDBusInterface *m_wirelessInterface = nullptr;
|
||||
WirelessAccessPoint *m_activeAccessPoint = nullptr;
|
||||
|
||||
int m_bitRate;
|
||||
QString m_macAddress;
|
||||
Mode m_mode = ModeUnknown;
|
||||
WirelessMode m_wirelessMode = WirelessModeUnknown;
|
||||
int m_lastScan = -1;
|
||||
QDBusObjectPath m_activeAccessPointObjectPath;
|
||||
|
||||
|
|
@ -84,21 +94,7 @@ private:
|
|||
|
||||
void readAccessPoints();
|
||||
|
||||
void setMacAddress(const QString &macAddress);
|
||||
void setMode(Mode mode);
|
||||
void setBitrate(int bitRate);
|
||||
void setLastScan(int lastScan);
|
||||
void setActiveAccessPoint(const QDBusObjectPath &activeAccessPointObjectPath);
|
||||
|
||||
private slots:
|
||||
void accessPointAdded(const QDBusObjectPath &objectPath);
|
||||
void accessPointRemoved(const QDBusObjectPath &objectPath);
|
||||
void propertiesChanged(const QVariantMap &properties);
|
||||
|
||||
signals:
|
||||
void bitRateChanged(int bitRate);
|
||||
void modeChanged(Mode mode);
|
||||
|
||||
};
|
||||
|
||||
QDebug operator<<(QDebug debug, WirelessNetworkDevice *device);
|
||||
|
|
|
|||
Loading…
Reference in New Issue