File indexing completed on 2024-05-12 03:53:11
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 "devicesmodel.h" 0015 0016 class DeclarativeManager; 0017 0018 class DeclarativeDevicesModel : public QSortFilterProxyModel 0019 { 0020 Q_OBJECT 0021 Q_PROPERTY(DeclarativeManager *manager READ manager WRITE setManager) 0022 0023 public: 0024 enum DeclarativeDeviceRoles { 0025 DeviceRole = BluezQt::DevicesModel::LastRole + 1, 0026 AdapterRole = BluezQt::DevicesModel::LastRole + 2, 0027 MediaPlayerRole = BluezQt::DevicesModel::LastRole + 3, 0028 BatteryRole = BluezQt::DevicesModel::LastRole + 4, 0029 }; 0030 0031 explicit DeclarativeDevicesModel(QObject *parent = nullptr); 0032 0033 DeclarativeManager *manager() const; 0034 void setManager(DeclarativeManager *manager); 0035 0036 QHash<int, QByteArray> roleNames() const override; 0037 QVariant data(const QModelIndex &index, int role) const override; 0038 0039 private: 0040 DeclarativeManager *m_manager; 0041 BluezQt::DevicesModel *m_model; 0042 }; 0043 0044 #endif // DECLARATIVEMANAGER_H