1/*
2 * BluezQt - Asynchronous Bluez wrapper library
3 *
4 * SPDX-FileCopyrightText: 2014 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_AGENTADAPTOR_H
10#define BLUEZQT_AGENTADAPTOR_H
11
12#include <QDBusAbstractAdaptor>
13
14class QDBusMessage;
15class QDBusObjectPath;
16
17namespace BluezQt
18{
19class Manager;
20class Agent;
21
22class AgentAdaptor : public QDBusAbstractAdaptor
23{
24 Q_OBJECT
25 Q_CLASSINFO("D-Bus Interface", "org.bluez.Agent1")
26
27public:
28 explicit AgentAdaptor(Agent *parent, Manager *manager);
29
30public Q_SLOTS:
31 QString RequestPinCode(const QDBusObjectPath &device, const QDBusMessage &msg);
32 Q_NOREPLY void DisplayPinCode(const QDBusObjectPath &device, const QString &pincode);
33 quint32 RequestPasskey(const QDBusObjectPath &device, const QDBusMessage &msg);
34 Q_NOREPLY void DisplayPasskey(const QDBusObjectPath &device, quint32 passkey, quint16 entered);
35 void RequestConfirmation(const QDBusObjectPath &device, quint32 passkey, const QDBusMessage &msg);
36 void RequestAuthorization(const QDBusObjectPath &device, const QDBusMessage &msg);
37 void AuthorizeService(const QDBusObjectPath &device, const QString &uuid, const QDBusMessage &msg);
38
39 Q_NOREPLY void Cancel();
40 Q_NOREPLY void Release();
41
42private:
43 QString passkeyToString(quint32 passkey) const;
44
45 Agent *m_agent;
46 Manager *m_manager;
47};
48
49} // namespace BluezQt
50
51#endif // BLUEZQT_AGENTADAPTOR_H
52

source code of bluez-qt/src/agentadaptor.h