diff --git a/libnymea/devices/device.cpp b/libnymea/devices/device.cpp index a0b24ada..85350867 100644 --- a/libnymea/devices/device.cpp +++ b/libnymea/devices/device.cpp @@ -449,3 +449,14 @@ Devices Devices::filterByDeviceClassId(const DeviceClassId &deviceClassId) } return ret; } + +Devices Devices::filterByParentDeviceId(const DeviceId &deviceId) +{ + Devices ret; + foreach (Device *device, *this) { + if (device->parentId() == deviceId) { + ret << device; + } + } + return ret; +} diff --git a/libnymea/devices/device.h b/libnymea/devices/device.h index c34ad219..f9e5c5e0 100644 --- a/libnymea/devices/device.h +++ b/libnymea/devices/device.h @@ -169,6 +169,7 @@ public: Device* findByParams(const ParamList ¶ms) const; Devices filterByParam(const ParamTypeId ¶mTypeId, const QVariant &value = QVariant()); Devices filterByDeviceClassId(const DeviceClassId &deviceClassId); + Devices filterByParentDeviceId(const DeviceId &deviceId); }; Q_DECLARE_METATYPE(Device::DeviceError)