diff --git a/libnymea/plugin/device.cpp b/libnymea/plugin/device.cpp index 09c60580..60e239e0 100644 --- a/libnymea/plugin/device.cpp +++ b/libnymea/plugin/device.cpp @@ -287,3 +287,14 @@ Devices Devices::filterByParam(const ParamTypeId ¶mTypeId, const QVariant &v } return ret; } + +Devices Devices::filterByDeviceClassId(const DeviceClassId &deviceClassId) +{ + Devices ret; + foreach (Device* device, *this) { + if (device->deviceClassId() == deviceClassId) { + ret << device; + } + } + return ret; +} diff --git a/libnymea/plugin/device.h b/libnymea/plugin/device.h index 12f8803f..bf142b1d 100644 --- a/libnymea/plugin/device.h +++ b/libnymea/plugin/device.h @@ -103,6 +103,7 @@ public: Devices(const QList &other); Device* findById(const DeviceId &id); Devices filterByParam(const ParamTypeId ¶mTypeId, const QVariant &value = QVariant()); + Devices filterByDeviceClassId(const DeviceClassId &deviceClassId); }; #endif