BluezQt 5.109.0
agent.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_AGENT_H
10#define BLUEZQT_AGENT_H
11
12#include <QObject>
13
14#include "bluezqt_export.h"
15#include "request.h"
16#include "types.h"
17
18class QDBusObjectPath;
19
20namespace BluezQt
21{
22class Device;
23
36class BLUEZQT_EXPORT Agent : public QObject
37{
38 Q_OBJECT
39
40 Q_PROPERTY(Capability capability READ capability)
41
42public:
47 DisplayOnly = 0,
48 DisplayYesNo = 1,
49 KeyboardOnly = 2,
50 NoInputNoOutput = 3,
51 };
52 Q_ENUM(Capability)
53
54
59 explicit Agent(QObject *parent = nullptr);
60
70 virtual QDBusObjectPath objectPath() const = 0;
71
79 virtual Capability capability() const;
80
93 virtual void requestPinCode(DevicePtr device, const Request<QString> &request);
94
107 virtual void displayPinCode(DevicePtr device, const QString &pinCode);
108
120 virtual void requestPasskey(DevicePtr device, const Request<quint32> &request);
121
135 virtual void displayPasskey(DevicePtr device, const QString &passkey, const QString &entered);
136
147 virtual void requestConfirmation(DevicePtr device, const QString &passkey, const Request<> &request);
148
159 virtual void requestAuthorization(DevicePtr device, const Request<> &request);
160
171 virtual void authorizeService(DevicePtr device, const QString &uuid, const Request<> &request);
172
181 virtual void cancel();
182
193 virtual void release();
194};
195
196} // namespace BluezQt
197
198#endif // BLUEZQT_AGENT_H
Bluetooth agent.
Definition agent.h:37
Capability
The input/output capabilities of Agent.
Definition agent.h:46
D-Bus request.
Definition request.h:39