BluezQt 5.109.0
devicesmodel.h
1/*
2 * BluezQt - Asynchronous BlueZ wrapper library
3 *
4 * SPDX-FileCopyrightText: 2014-2015 David Rosca <nowrep@gmail.com>
5 *
6 * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
7 */
8
9#ifndef BLUEZQT_DEVICESMODEL_H
10#define BLUEZQT_DEVICESMODEL_H
11
12#include <QAbstractListModel>
13
14#include "bluezqt_export.h"
15#include "types.h"
16
17namespace BluezQt
18{
19class Manager;
20class Device;
21
41class BLUEZQT_EXPORT DevicesModel : public QAbstractListModel
42{
43 Q_OBJECT
44
45public:
51 UbiRole = Qt::UserRole + 100,
53 AddressRole = Qt::UserRole + 101,
55 NameRole = Qt::UserRole + 102,
57 FriendlyNameRole = Qt::UserRole + 103,
59 RemoteNameRole = Qt::UserRole + 104,
61 ClassRole = Qt::UserRole + 105,
63 TypeRole = Qt::UserRole + 106,
65 AppearanceRole = Qt::UserRole + 107,
67 IconRole = Qt::UserRole + 108,
69 PairedRole = Qt::UserRole + 109,
71 TrustedRole = Qt::UserRole + 110,
73 BlockedRole = Qt::UserRole + 111,
75 LegacyPairingRole = Qt::UserRole + 112,
77 RssiRole = Qt::UserRole + 113,
79 ConnectedRole = Qt::UserRole + 114,
81 UuidsRole = Qt::UserRole + 115,
83 ModaliasRole = Qt::UserRole + 116,
85 AdapterNameRole = Qt::UserRole + 117,
87 AdapterAddressRole = Qt::UserRole + 118,
89 AdapterPoweredRole = Qt::UserRole + 119,
91 AdapterDiscoverableRole = Qt::UserRole + 120,
93 AdapterPairableRole = Qt::UserRole + 121,
95 AdapterDiscoveringRole = Qt::UserRole + 122,
97 AdapterUuidsRole = Qt::UserRole + 123,
99 LastRole = Qt::UserRole + 124,
100 };
101
108 explicit DevicesModel(Manager *manager, QObject *parent = nullptr);
109
113 ~DevicesModel() override;
114
118 QHash<int, QByteArray> roleNames() const override;
119
123 int rowCount(const QModelIndex &parent = QModelIndex()) const override;
124
128 QVariant data(const QModelIndex &index, int role) const override;
129
133 QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override;
134
141 DevicePtr device(const QModelIndex &index) const;
142
143private:
144 class DevicesModelPrivate *const d;
145
146 friend class DevicesModelPrivate;
147};
148
149} // namespace BluezQt
150
151#endif // BLUEZQT_DEVICESMODEL_H
Model of all devices.
Definition devicesmodel.h:42
int rowCount(const QModelIndex &parent=QModelIndex()) const override
Reimplemented from QAbstractListModel::rowCount()
DeviceRoles
Device data roles.
Definition devicesmodel.h:49
QVariant data(const QModelIndex &index, int role) const override
Reimplemented from QAbstractListModel::data()
~DevicesModel() override
Destroys a DevicesModel object.
QModelIndex index(int row, int column, const QModelIndex &parent=QModelIndex()) const override
Reimplemented from QAbstractListModel::index()
QHash< int, QByteArray > roleNames() const override
Reimplemented from QAbstractListModel::roleNames()
DevicesModel(Manager *manager, QObject *parent=nullptr)
Creates a new DevicesModel object.
DevicePtr device(const QModelIndex &index) const
Returns a device for specified index.
Bluetooth manager.
Definition manager.h:78