diff --git a/plugins/feature/remotecontrol/remotecontroldevicedialog.cpp b/plugins/feature/remotecontrol/remotecontroldevicedialog.cpp index ee737ba51..446306df0 100644 --- a/plugins/feature/remotecontrol/remotecontroldevicedialog.cpp +++ b/plugins/feature/remotecontrol/remotecontroldevicedialog.cpp @@ -162,6 +162,7 @@ void RemoteControlDeviceDialog::enableWidgets() void RemoteControlDeviceDialog::controlSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected) { + (void)deselected; bool arrowsEnabled = (selected.indexes().size() > 0); bool editEnabled = arrowsEnabled && (ui->protocol->currentText() == "VISA"); @@ -173,6 +174,7 @@ void RemoteControlDeviceDialog::controlSelectionChanged(const QItemSelection &se void RemoteControlDeviceDialog::sensorSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected) { + (void)deselected; bool arrowsEnabled = (selected.indexes().size() > 0); bool editEnabled = arrowsEnabled && (ui->protocol->currentText() == "VISA"); @@ -419,8 +421,6 @@ void RemoteControlDeviceDialog::on_controlEdit_clicked() RemoteControlVISAControlDialog dialog(m_settings, m_rcDevice, control, false); if (dialog.exec() == QDialog::Accepted) { - DeviceDiscoverer::DeviceInfo *info = &m_deviceInfo[ui->device->currentIndex()]; - ui->controls->item(row, COL_NAME)->setText(control->m_name); ui->controls->item(row, COL_UNITS)->setText(control->m_units); ui->controls->item(row, COL_ID)->setText(control->m_id); @@ -430,6 +430,7 @@ void RemoteControlDeviceDialog::on_controlEdit_clicked() void RemoteControlDeviceDialog::on_controls_cellDoubleClicked(int row, int column) { + (void)row; if ((ui->protocol->currentText() == "VISA") && (column <= COL_ID)) { on_controlEdit_clicked(); } @@ -547,8 +548,6 @@ void RemoteControlDeviceDialog::on_sensorEdit_clicked() RemoteControlVISASensorDialog dialog(m_settings, m_rcDevice, sensor, false); if (dialog.exec() == QDialog::Accepted) { - DeviceDiscoverer::DeviceInfo *info = &m_deviceInfo[ui->device->currentIndex()]; - ui->sensors->item(row, COL_NAME)->setText(sensor->m_name); ui->sensors->item(row, COL_ID)->setText(sensor->m_id); ui->sensors->item(row, COL_UNITS)->setText(sensor->m_units); @@ -558,6 +557,7 @@ void RemoteControlDeviceDialog::on_sensorEdit_clicked() void RemoteControlDeviceDialog::on_sensors_cellDoubleClicked(int row, int column) { + (void)row; if ((ui->protocol->currentText() == "VISA") && (column <= COL_ID)) { on_sensorEdit_clicked(); } diff --git a/plugins/feature/remotecontrol/remotecontrolgui.cpp b/plugins/feature/remotecontrol/remotecontrolgui.cpp index 02ecdb314..648505f15 100644 --- a/plugins/feature/remotecontrol/remotecontrolgui.cpp +++ b/plugins/feature/remotecontrol/remotecontrolgui.cpp @@ -471,6 +471,7 @@ void RemoteControlGUI::createControls(RemoteControlDeviceGUI *gui, QBoxLayout *v connect(button, &QToolButton::clicked, [=] (bool checked) { + (void) checked; RemoteControl::MsgDeviceSetState *message = RemoteControl::MsgDeviceSetState::create(gui->m_rcDevice->m_protocol, gui->m_rcDevice->m_info.m_id, control.m_id, @@ -483,6 +484,9 @@ void RemoteControlGUI::createControls(RemoteControlDeviceGUI *gui, QBoxLayout *v } break; + default: + qDebug() << "RemoteControlGUI::createControls: Unexpected type for control."; + break; } gui->m_controls.insert(control.m_id, widgets); @@ -824,7 +828,7 @@ void RemoteControlGUI::updateControl(QWidget *widget, const DeviceDiscoverer::Co { if (ButtonSwitch *button = qobject_cast(widget)) { - if (value.type() == QMetaType::QString) + if ((QMetaType::Type)value.type() == QMetaType::QString) { if (value.toString() == "unavailable") { @@ -1007,7 +1011,7 @@ void RemoteControlGUI::updateChart(RemoteControlDeviceGUI *deviceGUI, const QStr { formattedValue = QString::asprintf(format.toUtf8(), value.toInt()); } - else if ((value.type() == QMetaType::Double) || (value.type() == QMetaType::Float)) + else if (((QMetaType::Type)value.type() == QMetaType::Double) || ((QMetaType::Type)value.type() == QMetaType::Float)) { if (format.isEmpty()) { format = "%.1f"; diff --git a/plugins/feature/remotecontrol/remotecontrolsettingsdialog.cpp b/plugins/feature/remotecontrol/remotecontrolsettingsdialog.cpp index 68040e6f4..5d19b6b61 100644 --- a/plugins/feature/remotecontrol/remotecontrolsettingsdialog.cpp +++ b/plugins/feature/remotecontrol/remotecontrolsettingsdialog.cpp @@ -23,8 +23,8 @@ RemoteControlSettingsDialog::RemoteControlSettingsDialog(RemoteControlSettings *settings, QWidget* parent) : QDialog(parent), - m_settings(settings), - ui(new Ui::RemoteControlSettingsDialog) + ui(new Ui::RemoteControlSettingsDialog), + m_settings(settings) { ui->setupUi(this); resizeTable(); @@ -121,11 +121,14 @@ void RemoteControlSettingsDialog::accept() void RemoteControlSettingsDialog::on_devices_cellDoubleClicked(int row, int column) { + (void)row; + (void)column; on_edit_clicked(); } void RemoteControlSettingsDialog::devicesSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected) { + (void)deselected; bool enabled = selected.indexes().size() > 0; ui->remove->setEnabled(enabled); ui->edit->setEnabled(enabled); diff --git a/plugins/feature/remotecontrol/remotecontrolvisacontroldialog.cpp b/plugins/feature/remotecontrol/remotecontrolvisacontroldialog.cpp index 289a7b511..4bf8a2d7b 100644 --- a/plugins/feature/remotecontrol/remotecontrolvisacontroldialog.cpp +++ b/plugins/feature/remotecontrol/remotecontrolvisacontroldialog.cpp @@ -155,11 +155,13 @@ void RemoteControlVISAControlDialog::on_name_textChanged(const QString &text) void RemoteControlVISAControlDialog::on_id_textChanged(const QString &text) { + (void)text; validate(); } void RemoteControlVISAControlDialog::on_id_textEdited(const QString &text) { + (void)text; m_userHasEditedId = true; } diff --git a/plugins/feature/remotecontrol/remotecontrolvisasensordialog.cpp b/plugins/feature/remotecontrol/remotecontrolvisasensordialog.cpp index 38792db11..d701521b5 100644 --- a/plugins/feature/remotecontrol/remotecontrolvisasensordialog.cpp +++ b/plugins/feature/remotecontrol/remotecontrolvisasensordialog.cpp @@ -65,11 +65,13 @@ void RemoteControlVISASensorDialog::on_name_textChanged(const QString &text) void RemoteControlVISASensorDialog::on_id_textChanged(const QString &text) { + (void)text; validate(); } void RemoteControlVISASensorDialog::on_id_textEdited(const QString &text) { + (void)text; m_userHasEditedId = true; } diff --git a/plugins/feature/remotecontrol/remotecontrolworker.cpp b/plugins/feature/remotecontrol/remotecontrolworker.cpp index 405f85bb9..981d94084 100644 --- a/plugins/feature/remotecontrol/remotecontrolworker.cpp +++ b/plugins/feature/remotecontrol/remotecontrolworker.cpp @@ -102,22 +102,22 @@ bool RemoteControlWorker::handleMessage(const Message& cmd) QString id = msg.getId(); QVariant variant = msg.getValue(); - if (variant.type() == QMetaType::Bool) + if ((QMetaType::Type)variant.type() == QMetaType::Bool) { bool b = variant.toBool(); device->setState(id, b); } - else if (variant.type() == QMetaType::Int) + else if ((QMetaType::Type)variant.type() == QMetaType::Int) { int i = variant.toInt(); device->setState(id, i); } - else if (variant.type() == QMetaType::Float) + else if ((QMetaType::Type)variant.type() == QMetaType::Float) { float f = variant.toFloat(); device->setState(id, f); } - else if (variant.type() == QMetaType::QString) + else if ((QMetaType::Type)variant.type() == QMetaType::QString) { QString s = variant.toString(); device->setState(id, s); diff --git a/sdrbase/util/iot/device.cpp b/sdrbase/util/iot/device.cpp index bca6ed126..d34c8f868 100644 --- a/sdrbase/util/iot/device.cpp +++ b/sdrbase/util/iot/device.cpp @@ -52,42 +52,41 @@ Device* Device::create(const QHash& settings, const QString& else { qDebug() << "Device::create: A deviceId is required for: " << protocol; - return nullptr; } } else if (protocol == "HomeAssistant") { - if (checkSettings(settings, protocol)) + if (settings.contains("deviceId")) { - if (settings.contains("deviceId")) - { - return new HomeAssistantDevice(settings.value("apiKey").toString(), - settings.value("url").toString(), - settings.value("deviceId").toString(), - settings.value("controlIds").toStringList(), - settings.value("sensorIds").toStringList(), - info); - } - else - { - qDebug() << "Device::create: A deviceId is required for: " << protocol; - return nullptr; - } + return new HomeAssistantDevice(settings.value("apiKey").toString(), + settings.value("url").toString(), + settings.value("deviceId").toString(), + settings.value("controlIds").toStringList(), + settings.value("sensorIds").toStringList(), + info); + } + else + { + qDebug() << "Device::create: A deviceId is required for: " << protocol; } } else if (protocol == "VISA") { - return new VISADevice(settings, - settings.value("deviceId").toString(), - settings.value("controlIds").toStringList(), - settings.value("sensorIds").toStringList(), - info); + if (settings.contains("deviceId")) + { + return new VISADevice(settings, + settings.value("deviceId").toString(), + settings.value("controlIds").toStringList(), + settings.value("sensorIds").toStringList(), + info); + } + else + { + qDebug() << "Device::create: A deviceId is required for: " << protocol; + } } } - else - { - return nullptr; - } + return nullptr; } bool Device::checkSettings(const QHash& settings, const QString& protocol) @@ -135,6 +134,26 @@ bool Device::checkSettings(const QHash& settings, const QStri } } +void Device::setState(const QString &controlId, bool state) +{ + qDebug() << "Device::setState: " << getProtocol() << " doesn't support bool. Can't set " << controlId << " to " << state; +} + +void Device::setState(const QString &controlId, int state) +{ + qDebug() << "Device::setState: " << getProtocol() << " doesn't support int. Can't set " << controlId << " to " << state; +} + +void Device::setState(const QString &controlId, float state) +{ + qDebug() << "Device::setState: " << getProtocol() << " doesn't support float. Can't set " << controlId << " to " << state; +} + +void Device::setState(const QString &controlId, const QString &state) +{ + qDebug() << "Device::setState: " << getProtocol() << " doesn't support QString. Can't set " << controlId << " to " << state; +} + const QStringList DeviceDiscoverer::m_typeStrings = { "Auto", "Boolean", @@ -446,7 +465,7 @@ void DeviceDiscoverer::DeviceInfo::deleteSensor(const QString &id) QDataStream& operator<<(QDataStream& out, const DeviceDiscoverer::ControlInfo* control) { int typeId; - if (const VISADevice::VISAControl* c = dynamic_cast(control)) { + if (dynamic_cast(control)) { typeId = 1; } else { typeId = 0; @@ -474,7 +493,7 @@ QDataStream& operator>>(QDataStream& in, DeviceDiscoverer::ControlInfo*& control QDataStream& operator<<(QDataStream& out, const DeviceDiscoverer::SensorInfo* sensor) { int typeId; - if (const VISADevice::VISASensor* s = dynamic_cast(sensor)) { + if (dynamic_cast(sensor)) { typeId = 1; } else { typeId = 0; diff --git a/sdrbase/util/iot/device.h b/sdrbase/util/iot/device.h index 802e4687e..11d8bdb39 100644 --- a/sdrbase/util/iot/device.h +++ b/sdrbase/util/iot/device.h @@ -57,6 +57,7 @@ public: QString m_units; ControlInfo(); + virtual ~ControlInfo() {} operator QString() const; virtual ControlInfo *clone() const; virtual QByteArray serialize() const; @@ -69,6 +70,7 @@ public: Type m_type; QString m_units; // W/Watts etc + virtual ~SensorInfo() {} operator QString() const; virtual SensorInfo *clone() const; virtual QByteArray serialize() const; @@ -122,10 +124,10 @@ public: static bool checkSettings(const QHash& settings, const QString& protocol); virtual void getState() = 0; - virtual void setState(const QString &controlId, bool state) {} - virtual void setState(const QString &controlId, int state) {} - virtual void setState(const QString &controlId, float state) {} - virtual void setState(const QString &controlId, const QString &state) {} + virtual void setState(const QString &controlId, bool state); + virtual void setState(const QString &controlId, int state); + virtual void setState(const QString &controlId, float state); + virtual void setState(const QString &controlId, const QString &state); virtual QString getProtocol() const = 0; virtual QString getDeviceId() const = 0; diff --git a/sdrbase/util/iot/homeassistant.cpp b/sdrbase/util/iot/homeassistant.cpp index df07ed4f5..b53c7df71 100644 --- a/sdrbase/util/iot/homeassistant.cpp +++ b/sdrbase/util/iot/homeassistant.cpp @@ -30,9 +30,9 @@ HomeAssistantDevice::HomeAssistantDevice(const QString& apiKey, const QString& u const QStringList &controls, const QStringList &sensors, DeviceDiscoverer::DeviceInfo *info) : Device(info), + m_deviceId(deviceId), m_apiKey(apiKey), - m_url(url), - m_deviceId(deviceId) + m_url(url) { m_entities = controls; m_entities.append(sensors); diff --git a/sdrbase/util/iot/homeassistant.h b/sdrbase/util/iot/homeassistant.h index 7fc8ea54a..1380229a5 100644 --- a/sdrbase/util/iot/homeassistant.h +++ b/sdrbase/util/iot/homeassistant.h @@ -30,6 +30,7 @@ public: DeviceDiscoverer::DeviceInfo *info=nullptr); ~HomeAssistantDevice(); virtual void getState() override; + using Device::setState; virtual void setState(const QString &controlId, bool state) override; virtual QString getProtocol() const override { return "HomeAssistant"; } virtual QString getDeviceId() const override { return m_deviceId; } diff --git a/sdrbase/util/iot/tplink.cpp b/sdrbase/util/iot/tplink.cpp index 119becfda..6caf9bdda 100644 --- a/sdrbase/util/iot/tplink.cpp +++ b/sdrbase/util/iot/tplink.cpp @@ -285,7 +285,6 @@ void TPLinkDevice::handleReply(QNetworkReply* reply) QJsonObject sysInfoObj = systemObj.value(QStringLiteral("get_sysinfo")).toObject(); if (sysInfoObj.contains(QStringLiteral("child_num"))) { - int childNum = sysInfoObj.value(QStringLiteral("child_num")).toInt(); QJsonArray children = sysInfoObj.value(QStringLiteral("children")).toArray(); for (auto childRef : children) { @@ -495,7 +494,6 @@ void TPLinkDeviceDiscoverer::handleReply(QNetworkReply* reply) } if (sysInfoObj.contains(QStringLiteral("child_num"))) { - int childNum = sysInfoObj.value(QStringLiteral("child_num")).toInt(); QJsonArray children = sysInfoObj.value(QStringLiteral("children")).toArray(); int child = 1; for (auto childRef : children) diff --git a/sdrbase/util/iot/tplink.h b/sdrbase/util/iot/tplink.h index 3ffd4a37d..ebea2bd39 100644 --- a/sdrbase/util/iot/tplink.h +++ b/sdrbase/util/iot/tplink.h @@ -44,6 +44,7 @@ public: TPLinkDevice(const QString& username, const QString &password, const QString &deviceId, DeviceDiscoverer::DeviceInfo *info=nullptr); ~TPLinkDevice(); virtual void getState() override; + using Device::setState; virtual void setState(const QString &controlId, bool state) override; virtual QString getProtocol() const override { return "TPLink"; } virtual QString getDeviceId() const override { return m_deviceId; } diff --git a/sdrbase/util/iot/visa.h b/sdrbase/util/iot/visa.h index e147c1f07..f8dabe00d 100644 --- a/sdrbase/util/iot/visa.h +++ b/sdrbase/util/iot/visa.h @@ -47,6 +47,7 @@ public: DeviceDiscoverer::DeviceInfo *info=nullptr); ~VISADevice(); virtual void getState() override; + using Device::setState; virtual void setState(const QString &controlId, bool state) override; virtual void setState(const QString &controlId, int state) override; virtual void setState(const QString &controlId, float state) override; diff --git a/sdrbase/util/simpleserializer.h b/sdrbase/util/simpleserializer.h index 2920cf4e7..fc63d9907 100644 --- a/sdrbase/util/simpleserializer.h +++ b/sdrbase/util/simpleserializer.h @@ -3,6 +3,7 @@ #include #include +#include #include "dsp/dsptypes.h" #include "export.h"