add means to find a device from a signal

This commit is contained in:
Michael Zanetti 2013-12-30 23:25:59 +01:00
parent 29217b9aff
commit c46403b4c0
5 changed files with 53 additions and 7 deletions

View File

@ -1,7 +1,9 @@
#include "device.h" #include "device.h"
Device::Device(QObject *parent): Device::Device(const QUuid &deviceClassId, QObject *parent):
QObject(parent) QObject(parent),
m_id(QUuid::createUuid()),
m_deviceClassId(deviceClassId)
{ {
} }
@ -10,3 +12,18 @@ QUuid Device::id() const
{ {
return m_id; return m_id;
} }
QUuid Device::deviceClassId() const
{
return m_deviceClassId;
}
QString Device::name() const
{
return m_name;
}
void Device::setName(const QString &name)
{
m_name = name;
}

View File

@ -10,12 +10,18 @@ class Device: public QObject
Q_PROPERTY(QUuid id READ id CONSTANT) Q_PROPERTY(QUuid id READ id CONSTANT)
public: public:
Device(QObject *parent = 0); Device(const QUuid &deviceClassId, QObject *parent = 0);
QUuid id() const; QUuid id() const;
QUuid deviceClassId() const;
QString name() const;
void setName(const QString &name);
private: private:
QUuid m_id; QUuid m_id;
QUuid m_deviceClassId;
QString m_name;
}; };
#endif #endif

View File

@ -25,9 +25,26 @@ QList<DeviceClass> DeviceManager::supportedDevices()
return m_supportedDevices; return m_supportedDevices;
} }
QList<Device *> DeviceManager::devices() const void DeviceManager::createDevice(const DeviceClass &deviceClass)
{ {
return m_devices; Device *device = new Device(deviceClass.id(), this);
device->setName(deviceClass.name());
}
QList<Device *> DeviceManager::configuredDevices() const
{
return m_configuredDevices;
}
QList<Device *> DeviceManager::findConfiguredDevices(const DeviceClass &deviceClass)
{
QList<Device*> ret;
foreach (Device *device, m_configuredDevices) {
if (device->deviceClassId() == deviceClass.id()) {
ret << device;
}
}
return ret;
} }
Radio433 *DeviceManager::radio433() const Radio433 *DeviceManager::radio433() const

View File

@ -17,7 +17,11 @@ public:
QList<DeviceClass> supportedDevices(); QList<DeviceClass> supportedDevices();
QList<Device*> devices() const; void createDevice(const DeviceClass &deviceClass);
QList<Device*> configuredDevices() const;
QList<Device*> findConfiguredDevices(const DeviceClass &deviceClass);
Radio433 *radio433() const; Radio433 *radio433() const;
@ -28,7 +32,7 @@ private slots:
private: private:
QList<DeviceClass> m_supportedDevices; QList<DeviceClass> m_supportedDevices;
QList<Device*> m_devices; QList<Device*> m_configuredDevices;
QList<DevicePlugin*> m_devicePlugins; QList<DevicePlugin*> m_devicePlugins;
Radio433* m_radio433; Radio433* m_radio433;

View File

@ -74,4 +74,6 @@ QString RfSwitch::pluginName() const
void RfSwitch::dataReceived(QList<int> rawData) void RfSwitch::dataReceived(QList<int> rawData)
{ {
qDebug() << "data received from Radio433" << rawData; qDebug() << "data received from Radio433" << rawData;
} }