void DevicePluginDateTime::deviceRemoved(Device *device) { // check if we still need the timer if (myDevices().count() == 0) { m_timer->stop(); } // date if (device->deviceClassId() == todayDeviceClassId) { m_todayDevice = 0; } // alarm if (device->deviceClassId() == alarmDeviceClassId) { Alarm *alarm = m_alarms.take(device); alarm->deleteLater(); } // countdown if (device->deviceClassId() == countdownDeviceClassId) { Countdown *countdown = m_countdowns.take(device); countdown->deleteLater(); } startMonitoringAutoDevices(); }
DeviceManager::DeviceSetupStatus DevicePluginDateTime::setupDevice(Device *device) { // check the DeviceClassId if(device->deviceClassId() != dateTimeDeviceClassId){ return DeviceManager::DeviceSetupStatusFailure; } // make shore there is just one date/time if (myDevices().count() != 0 && myDevices().takeFirst()->id() != device->id()) { return DeviceManager::DeviceSetupStatusFailure; } device->setName("Time (" + device->paramValue("timezone").toString() + ")"); m_timeZone = QTimeZone(device->paramValue("timezone").toByteArray()); if(m_timeZone.isValid()){ QDateTime zoneTime = QDateTime(QDate::currentDate(), QTime::currentTime(), m_timeZone).toLocalTime(); qCDebug(dcDateTime) << zoneTime.toLocalTime().date() << zoneTime.toLocalTime().time() << QLocale::countryToString(m_timeZone.country()); m_timer->start(); return DeviceManager::DeviceSetupStatusSuccess; } return DeviceManager::DeviceSetupStatusFailure; }
DeviceManager::DeviceSetupStatus DevicePluginUnitec::setupDevice(Device *device) { if (device->deviceClassId() != switchDeviceClassId) { return DeviceManager::DeviceSetupStatusFailure; } foreach (Device* d, myDevices()) { if (d->paramValue("Channel").toString() == device->paramValue("Channel").toString()) { qCWarning(dcUnitec) << "Unitec switch with channel " << device->paramValue("Channel").toString() << "already added."; return DeviceManager::DeviceSetupStatusFailure; } } device->setName("Unitec switch 48111 (" + device->paramValue("Channel").toString() + ")"); return DeviceManager::DeviceSetupStatusSuccess; }