From 7d0a6f9912d30f1e36f22709c918e153c621ab6b Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Tue, 17 Sep 2019 19:03:04 +0200 Subject: [PATCH] Update conrad plugin --- conrad/devicepluginconrad.cpp | 27 +++++++++++++++++---------- conrad/devicepluginconrad.h | 6 ++---- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/conrad/devicepluginconrad.cpp b/conrad/devicepluginconrad.cpp index 7e13397b..fd4bb673 100644 --- a/conrad/devicepluginconrad.cpp +++ b/conrad/devicepluginconrad.cpp @@ -31,24 +31,29 @@ #include -DevicePluginConrad::DevicePluginConrad() +DevicePluginConrad::DevicePluginConrad(): DevicePlugin() { } -Device::DeviceSetupStatus DevicePluginConrad::setupDevice(Device *device) +void DevicePluginConrad::setupDevice(DeviceSetupInfo *info) { - if (device->deviceClassId() == conradShutterDeviceClassId) - return Device::DeviceSetupStatusSuccess; + if (info->device()->deviceClassId() == conradShutterDeviceClassId) { + info->finish(Device::DeviceErrorNoError); + return; + } - return Device::DeviceSetupStatusFailure; + info->finish(Device::DeviceErrorDeviceClassNotFound); } -Device::DeviceError DevicePluginConrad::executeAction(Device *device, const Action &action) +void DevicePluginConrad::executeAction(DeviceActionInfo *info) { + Device *device = info->device(); + Action action = info->action(); if (!hardwareManager()->radio433()->available()) { - return Device::DeviceErrorHardwareNotAvailable; + info->finish(Device::DeviceErrorHardwareNotAvailable); + return; } QList rawData; @@ -64,7 +69,8 @@ Device::DeviceError DevicePluginConrad::executeAction(Device *device, const Acti binCode = "10100000"; repetitions = 20; } else { - return Device::DeviceErrorActionTypeNotFound; + info->finish(Device::DeviceErrorActionTypeNotFound); + return; } // append ID @@ -103,9 +109,10 @@ Device::DeviceError DevicePluginConrad::executeAction(Device *device, const Acti qCDebug(dcConrad) << "Transmitted successfully" << device->name() << action.actionTypeId(); }else{ qCWarning(dcConrad) << "Could not transmitt" << pluginName() << device->name() << action.actionTypeId(); - return Device::DeviceErrorHardwareNotAvailable; + info->finish(Device::DeviceErrorHardwareNotAvailable); + return; } - return Device::DeviceErrorNoError; + info->finish(Device::DeviceErrorNoError); } void DevicePluginConrad::radioData(const QList &rawData) diff --git a/conrad/devicepluginconrad.h b/conrad/devicepluginconrad.h index c49c09dc..1523db67 100644 --- a/conrad/devicepluginconrad.h +++ b/conrad/devicepluginconrad.h @@ -36,12 +36,10 @@ class DevicePluginConrad : public DevicePlugin public: explicit DevicePluginConrad(); - Device::DeviceSetupStatus setupDevice(Device *device) override; + void setupDevice(DeviceSetupInfo *info) override; void radioData(const QList &rawData); - -public slots: - Device::DeviceError executeAction(Device *device, const Action &action) override; + void executeAction(DeviceActionInfo *info) override; };