From 7fb111de1e13661c9418936eb45887fb39e66f2d Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Mon, 28 Jul 2014 23:07:08 +0200 Subject: [PATCH] cleanup hue plugin when a device is removed. Fixes #19 --- .../philipshue/devicepluginphilipshue.cpp | 11 +++++++++++ .../deviceplugins/philipshue/devicepluginphilipshue.h | 1 + 2 files changed, 12 insertions(+) diff --git a/plugins/deviceplugins/philipshue/devicepluginphilipshue.cpp b/plugins/deviceplugins/philipshue/devicepluginphilipshue.cpp index cb8f2c9a..401f86fc 100644 --- a/plugins/deviceplugins/philipshue/devicepluginphilipshue.cpp +++ b/plugins/deviceplugins/philipshue/devicepluginphilipshue.cpp @@ -239,6 +239,17 @@ QPair DevicePluginPhilipsHue::setupDe return reportDeviceSetup(DeviceManager::DeviceSetupStatusAsync); } +void DevicePluginPhilipsHue::deviceRemoved(Device *device) +{ + if (!m_lights.values().contains(device)) { + return; + } + + Light *light = m_lights.key(device); + m_lights.remove(light); + m_unconfiguredLights.append(light); +} + QPair DevicePluginPhilipsHue::confirmPairing(const QUuid &pairingTransactionId, const DeviceClassId &deviceClassId, const ParamList ¶ms) { Param ipParam; diff --git a/plugins/deviceplugins/philipshue/devicepluginphilipshue.h b/plugins/deviceplugins/philipshue/devicepluginphilipshue.h index ca9db2b4..702dc12b 100644 --- a/plugins/deviceplugins/philipshue/devicepluginphilipshue.h +++ b/plugins/deviceplugins/philipshue/devicepluginphilipshue.h @@ -49,6 +49,7 @@ public: QPair discoverDevices(const DeviceClassId &deviceClassId, const ParamList ¶ms) override; QPair setupDevice(Device *device) override; + void deviceRemoved(Device *device) override; QPair confirmPairing(const QUuid &pairingTransactionId, const DeviceClassId &deviceClassId, const ParamList ¶ms) override;