BluezQt

declarativedevice.h
1/*
2 * BluezQt - Asynchronous BlueZ wrapper library
3 *
4 * SPDX-FileCopyrightText: 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 DECLARATIVEDEVICE_H
10#define DECLARATIVEDEVICE_H
11
12#include "device.h"
13
14class DeclarativeAdapter;
15class DeclarativeBattery;
16class DeclarativeInput;
17class DeclarativeMediaPlayer;
18
19class DeclarativeDevice : public QObject
20{
22
23 Q_PROPERTY(QString ubi READ ubi CONSTANT)
24 Q_PROPERTY(QString address READ address CONSTANT)
25 Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
26 Q_PROPERTY(QString friendlyName READ friendlyName NOTIFY friendlyNameChanged)
27 Q_PROPERTY(QString remoteName READ remoteName NOTIFY remoteNameChanged)
28 Q_PROPERTY(quint32 deviceClass READ deviceClass NOTIFY deviceClassChanged)
29 Q_PROPERTY(BluezQt::Device::Type type READ type NOTIFY typeChanged)
30 Q_PROPERTY(quint16 appearance READ appearance NOTIFY appearanceChanged)
31 Q_PROPERTY(QString icon READ icon NOTIFY iconChanged)
32 Q_PROPERTY(bool paired READ isPaired NOTIFY pairedChanged)
33 Q_PROPERTY(bool trusted READ isTrusted WRITE setTrusted NOTIFY trustedChanged)
34 Q_PROPERTY(bool blocked READ isBlocked WRITE setBlocked NOTIFY blockedChanged)
35 Q_PROPERTY(bool legacyPairing READ hasLegacyPairing NOTIFY legacyPairingChanged)
36 Q_PROPERTY(qint16 rssi READ rssi NOTIFY rssiChanged)
37 Q_PROPERTY(bool connected READ isConnected NOTIFY connectedChanged)
38 Q_PROPERTY(QStringList uuids READ uuids NOTIFY uuidsChanged)
39 Q_PROPERTY(QString modalias READ modalias NOTIFY modaliasChanged)
40 Q_PROPERTY(DeclarativeBattery *battery READ battery NOTIFY batteryChanged)
41 Q_PROPERTY(DeclarativeInput *input READ input NOTIFY inputChanged)
42 Q_PROPERTY(DeclarativeMediaPlayer *mediaPlayer READ mediaPlayer NOTIFY mediaPlayerChanged)
43 Q_PROPERTY(DeclarativeAdapter *adapter READ adapter CONSTANT)
44
45public:
46 explicit DeclarativeDevice(BluezQt::DevicePtr device, DeclarativeAdapter *adapter);
47
48 QString ubi() const;
49
50 QString address() const;
51
52 QString name() const;
53 void setName(const QString &name);
54
55 QString friendlyName() const;
56
57 QString remoteName() const;
58
59 quint32 deviceClass() const;
60
61 BluezQt::Device::Type type() const;
62
63 quint16 appearance() const;
64
65 QString icon() const;
66
67 bool isPaired() const;
68
69 bool isTrusted() const;
70 void setTrusted(bool trusted);
71
72 bool isBlocked() const;
73 void setBlocked(bool blocked);
74
75 bool hasLegacyPairing() const;
76
77 qint16 rssi() const;
78
79 bool isConnected() const;
80
81 QStringList uuids() const;
82
83 QString modalias() const;
84
85 DeclarativeBattery *battery() const;
86
87 DeclarativeInput *input() const;
88
89 DeclarativeMediaPlayer *mediaPlayer() const;
90
91 DeclarativeAdapter *adapter() const;
92
93public Q_SLOTS:
94 BluezQt::PendingCall *connectToDevice();
95 BluezQt::PendingCall *disconnectFromDevice();
96 BluezQt::PendingCall *connectProfile(const QString &uuid);
97 BluezQt::PendingCall *disconnectProfile(const QString &uuid);
99 BluezQt::PendingCall *cancelPairing();
100
102 void deviceRemoved(DeclarativeDevice *device);
103 void deviceChanged(DeclarativeDevice *device);
104 void nameChanged(const QString &name);
105 void friendlyNameChanged(const QString &friendlyName);
106 void remoteNameChanged(const QString &remoteName);
107 void deviceClassChanged(quint32 deviceClass);
108 void typeChanged(BluezQt::Device::Type type);
109 void appearanceChanged(quint16 appearance);
110 void iconChanged(const QString &icon);
111 void pairedChanged(bool paired);
112 void trustedChanged(bool trusted);
113 void blockedChanged(bool blocked);
114 void legacyPairingChanged(bool legacyPairing);
115 void rssiChanged(qint16 rssi);
116 void connectedChanged(bool connected);
117 void uuidsChanged(const QStringList &uuids);
118 void modaliasChanged(const QString &modalias);
119 void batteryChanged(DeclarativeBattery *battery);
120 void inputChanged(DeclarativeInput *input);
121 void mediaPlayerChanged(DeclarativeMediaPlayer *mediaPlayer);
122
123private:
124 void updateBattery();
125 void updateInput();
126 void updateMediaPlayer();
127
128 BluezQt::DevicePtr m_device;
129 DeclarativeAdapter *m_adapter;
130 DeclarativeBattery *m_battery;
131 DeclarativeInput *m_input;
132 DeclarativeMediaPlayer *m_mediaPlayer;
133};
134
135#endif // DECLARATIVEDEVICE_H
Type
Device types.
Definition device.h:65
Pending method call.
Definition pendingcall.h:35
Q_OBJECTQ_OBJECT
Q_PROPERTY(...)
Q_SIGNALSQ_SIGNALS
Q_SLOTSQ_SLOTS
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:13:51 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.