added device added/removed notification
This commit is contained in:
parent
9298993fbe
commit
bb03280583
@ -473,6 +473,9 @@ DeviceManager::DeviceError DeviceManager::addConfiguredDeviceInternal(const Devi
|
||||
m_configuredDevices.append(device);
|
||||
storeConfiguredDevices();
|
||||
postSetupDevice(device);
|
||||
|
||||
emit deviceAdded(device);
|
||||
|
||||
return DeviceErrorNoError;
|
||||
}
|
||||
|
||||
@ -502,6 +505,8 @@ DeviceManager::DeviceError DeviceManager::removeConfiguredDevice(const DeviceId
|
||||
settings.remove("");
|
||||
settings.endGroup();
|
||||
|
||||
emit deviceRemoved(deviceId);
|
||||
|
||||
return DeviceErrorNoError;
|
||||
}
|
||||
|
||||
|
||||
@ -108,6 +108,8 @@ signals:
|
||||
void loaded();
|
||||
void eventTriggered(const Event &event);
|
||||
void deviceStateChanged(Device *device, const QUuid &stateTypeId, const QVariant &value);
|
||||
void deviceRemoved(const DeviceId &deviceId);
|
||||
void deviceAdded(Device *device);
|
||||
void devicesDiscovered(const DeviceClassId &deviceClassId, const QList<DeviceDescriptor> &devices);
|
||||
void deviceSetupFinished(Device *device, DeviceError status);
|
||||
void pairingFinished(const PairingTransactionId &pairingTransactionId, DeviceError status, const DeviceId &deviceId = DeviceId());
|
||||
|
||||
@ -355,6 +355,8 @@ GuhCore::GuhCore(QObject *parent) :
|
||||
|
||||
connect(m_deviceManager, &DeviceManager::eventTriggered, this, &GuhCore::gotEvent);
|
||||
connect(m_deviceManager, &DeviceManager::deviceStateChanged, this, &GuhCore::deviceStateChanged);
|
||||
connect(m_deviceManager, &DeviceManager::deviceAdded, this, &GuhCore::deviceAdded);
|
||||
connect(m_deviceManager, &DeviceManager::deviceRemoved, this, &GuhCore::deviceRemoved);
|
||||
connect(m_deviceManager, &DeviceManager::actionExecutionFinished, this, &GuhCore::actionExecutionFinished);
|
||||
|
||||
connect(m_deviceManager, &DeviceManager::devicesDiscovered, this, &GuhCore::devicesDiscovered);
|
||||
|
||||
@ -87,6 +87,9 @@ signals:
|
||||
void eventTriggered(const Event &event);
|
||||
void deviceStateChanged(Device *device, const QUuid &stateTypeId, const QVariant &value);
|
||||
void actionExecuted(const ActionId &id, DeviceManager::DeviceError status);
|
||||
void deviceRemoved(const DeviceId &deviceId);
|
||||
void deviceAdded(Device *device);
|
||||
|
||||
|
||||
void devicesDiscovered(const DeviceClassId &deviceClassId, const QList<DeviceDescriptor> deviceDescriptors);
|
||||
void deviceSetupFinished(Device *device, DeviceManager::DeviceError status);
|
||||
|
||||
@ -208,7 +208,19 @@ DeviceHandler::DeviceHandler(QObject *parent) :
|
||||
params.insert("value", JsonTypes::basicTypeToString(JsonTypes::Variant));
|
||||
setParams("StateChanged", params);
|
||||
|
||||
params.clear(); returns.clear();
|
||||
setDescription("DeviceRemoved", "Emitted whenever a Device was removed.");
|
||||
params.insert("deviceId", JsonTypes::basicTypeToString(JsonTypes::Uuid));
|
||||
setParams("DeviceRemoved", params);
|
||||
|
||||
params.clear(); returns.clear();
|
||||
setDescription("DeviceAdded", "Emitted whenever a Device was added.");
|
||||
params.insert("device", JsonTypes::deviceRef());
|
||||
setParams("DeviceAdded", params);
|
||||
|
||||
connect(GuhCore::instance(), &GuhCore::deviceStateChanged, this, &DeviceHandler::deviceStateChanged);
|
||||
connect(GuhCore::instance(), &GuhCore::deviceRemoved, this, &DeviceHandler::deviceRemovedNotification);
|
||||
connect(GuhCore::instance(), &GuhCore::deviceAdded, this, &DeviceHandler::deviceAddedNotification);
|
||||
connect(GuhCore::instance(), &GuhCore::devicesDiscovered, this, &DeviceHandler::devicesDiscovered, Qt::QueuedConnection);
|
||||
connect(GuhCore::instance(), &GuhCore::deviceSetupFinished, this, &DeviceHandler::deviceSetupFinished);
|
||||
connect(GuhCore::instance(), &GuhCore::pairingFinished, this, &DeviceHandler::pairingFinished);
|
||||
@ -514,6 +526,22 @@ void DeviceHandler::deviceStateChanged(Device *device, const QUuid &stateTypeId,
|
||||
emit StateChanged(params);
|
||||
}
|
||||
|
||||
void DeviceHandler::deviceRemovedNotification(const QUuid &deviceId)
|
||||
{
|
||||
QVariantMap params;
|
||||
params.insert("deviceId", deviceId);
|
||||
|
||||
emit DeviceRemoved(params);
|
||||
}
|
||||
|
||||
void DeviceHandler::deviceAddedNotification(Device *device)
|
||||
{
|
||||
QVariantMap params;
|
||||
params.insert("device", JsonTypes::packDevice(device));
|
||||
|
||||
emit DeviceAdded(params);
|
||||
}
|
||||
|
||||
void DeviceHandler::devicesDiscovered(const DeviceClassId &deviceClassId, const QList<DeviceDescriptor> deviceDescriptors)
|
||||
{
|
||||
if (!m_discoverRequests.contains(deviceClassId)) {
|
||||
|
||||
@ -64,10 +64,16 @@ public:
|
||||
|
||||
signals:
|
||||
void StateChanged(const QVariantMap ¶ms);
|
||||
void DeviceRemoved(const QVariantMap ¶ms);
|
||||
void DeviceAdded(const QVariantMap ¶ms);
|
||||
|
||||
private slots:
|
||||
void deviceStateChanged(Device *device, const QUuid &stateTypeId, const QVariant &value);
|
||||
|
||||
void deviceRemovedNotification(const QUuid &deviceId);
|
||||
|
||||
void deviceAddedNotification(Device *device);
|
||||
|
||||
void devicesDiscovered(const DeviceClassId &deviceClassId, const QList<DeviceDescriptor> deviceDescriptors);
|
||||
|
||||
void deviceSetupFinished(Device *device, DeviceManager::DeviceError status);
|
||||
|
||||
Reference in New Issue
Block a user