File indexing completed on 2025-01-19 12:42:13
0001 /* 0002 * BluezQt - Asynchronous Bluez wrapper library 0003 * 0004 * SPDX-FileCopyrightText: 2014 David Rosca <nowrep@gmail.com> 0005 * 0006 * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0007 */ 0008 0009 #ifndef DECLARATIVEDEVICESMODEL_H 0010 #define DECLARATIVEDEVICESMODEL_H 0011 0012 #include <QSortFilterProxyModel> 0013 0014 #include "declarativemanager.h" 0015 #include "devicesmodel.h" 0016 0017 class DeclarativeDevicesModel : public QSortFilterProxyModel 0018 { 0019 Q_OBJECT 0020 Q_PROPERTY(DeclarativeManager *manager READ manager WRITE setManager) 0021 0022 public: 0023 enum DeclarativeDeviceRoles { 0024 DeviceRole = BluezQt::DevicesModel::LastRole + 1, 0025 AdapterRole = BluezQt::DevicesModel::LastRole + 2, 0026 MediaPlayerRole = BluezQt::DevicesModel::LastRole + 3, 0027 BatteryRole = BluezQt::DevicesModel::LastRole + 4, 0028 }; 0029 0030 explicit DeclarativeDevicesModel(QObject *parent = nullptr); 0031 0032 DeclarativeManager *manager() const; 0033 void setManager(DeclarativeManager *manager); 0034 0035 QHash<int, QByteArray> roleNames() const override; 0036 QVariant data(const QModelIndex &index, int role) const override; 0037 0038 private: 0039 DeclarativeManager *m_manager; 0040 BluezQt::DevicesModel *m_model; 0041 }; 0042 0043 #endif // DECLARATIVEMANAGER_H