From dc0ed6fd696f7402ef22d8e19f70864d62942df4 Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Wed, 18 Sep 2019 00:10:47 +0200 Subject: [PATCH] Update GenericElements plugin --- .../deviceplugingenericelements.cpp | 54 ++++++------------- genericelements/deviceplugingenericelements.h | 4 +- 2 files changed, 18 insertions(+), 40 deletions(-) diff --git a/genericelements/deviceplugingenericelements.cpp b/genericelements/deviceplugingenericelements.cpp index 987834d..28f6977 100644 --- a/genericelements/deviceplugingenericelements.cpp +++ b/genericelements/deviceplugingenericelements.cpp @@ -29,52 +29,30 @@ DevicePluginGenericElements::DevicePluginGenericElements() { } -Device::DeviceSetupStatus DevicePluginGenericElements::setupDevice(Device *device) +void DevicePluginGenericElements::setupDevice(DeviceSetupInfo *info) { - // Toggle Button - if (device->deviceClassId() == toggleButtonDeviceClassId) { - return Device::DeviceSetupStatusSuccess; - } - // Button - if (device->deviceClassId() == buttonDeviceClassId) { - return Device::DeviceSetupStatusSuccess; - } - // ON/OFF Button - if (device->deviceClassId() == onOffButtonDeviceClassId) { - return Device::DeviceSetupStatusSuccess; - } - return Device::DeviceSetupStatusFailure; + info->finish(Device::DeviceErrorNoError); } -Device::DeviceError DevicePluginGenericElements::executeAction(Device *device, const Action &action) +void DevicePluginGenericElements::executeAction(DeviceActionInfo *info) { + Device *device = info->device(); + Action action = info->action(); + // Toggle Button - if (device->deviceClassId() == toggleButtonDeviceClassId ) { - if (action.actionTypeId() == toggleButtonStateActionTypeId) { - device->setStateValue(toggleButtonStateStateTypeId, action.params().paramValue(toggleButtonStateActionStateParamTypeId).toBool()); - return Device::DeviceErrorNoError; - } - return Device::DeviceErrorActionTypeNotFound; + if (action.actionTypeId() == toggleButtonStateActionTypeId) { + device->setStateValue(toggleButtonStateStateTypeId, action.params().paramValue(toggleButtonStateActionStateParamTypeId).toBool()); } // Button - if (device->deviceClassId() == buttonDeviceClassId ) { - if (action.actionTypeId() == buttonButtonPressActionTypeId) { - emit emitEvent(Event(buttonButtonPressedEventTypeId, device->id())); - return Device::DeviceErrorNoError; - } - return Device::DeviceErrorActionTypeNotFound; + if (action.actionTypeId() == buttonButtonPressActionTypeId) { + emit emitEvent(Event(buttonButtonPressedEventTypeId, device->id())); } // ON/OFF Button - if (device->deviceClassId() == onOffButtonDeviceClassId ) { - if (action.actionTypeId() == onOffButtonOnActionTypeId) { - emit emitEvent(Event(onOffButtonOnEventTypeId, device->id())); - return Device::DeviceErrorNoError; - } - if (action.actionTypeId() == onOffButtonOffActionTypeId) { - emit emitEvent(Event(onOffButtonOffEventTypeId, device->id())); - return Device::DeviceErrorNoError; - } - return Device::DeviceErrorActionTypeNotFound; + if (action.actionTypeId() == onOffButtonOnActionTypeId) { + emit emitEvent(Event(onOffButtonOnEventTypeId, device->id())); } - return Device::DeviceErrorDeviceClassNotFound; + if (action.actionTypeId() == onOffButtonOffActionTypeId) { + emit emitEvent(Event(onOffButtonOffEventTypeId, device->id())); + } + info->finish(Device::DeviceErrorNoError); } diff --git a/genericelements/deviceplugingenericelements.h b/genericelements/deviceplugingenericelements.h index 5c9d0be..aa5b8a1 100644 --- a/genericelements/deviceplugingenericelements.h +++ b/genericelements/deviceplugingenericelements.h @@ -34,10 +34,10 @@ class DevicePluginGenericElements : public DevicePlugin public: explicit DevicePluginGenericElements(); - Device::DeviceSetupStatus setupDevice(Device *device) override; + void setupDevice(DeviceSetupInfo *info) override; public slots: - Device::DeviceError executeAction(Device *device, const Action &action) override; + void executeAction(DeviceActionInfo *info) override; };