File indexing completed on 2024-04-28 15:17:50

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 BLUEZQT_AGENTADAPTOR_H
0010 #define BLUEZQT_AGENTADAPTOR_H
0011 
0012 #include <QDBusAbstractAdaptor>
0013 
0014 class QDBusMessage;
0015 class QDBusObjectPath;
0016 
0017 namespace BluezQt
0018 {
0019 class Manager;
0020 class Agent;
0021 
0022 class AgentAdaptor : public QDBusAbstractAdaptor
0023 {
0024     Q_OBJECT
0025     Q_CLASSINFO("D-Bus Interface", "org.bluez.Agent1")
0026 
0027 public:
0028     explicit AgentAdaptor(Agent *parent, Manager *manager);
0029 
0030 public Q_SLOTS:
0031     QString RequestPinCode(const QDBusObjectPath &device, const QDBusMessage &msg);
0032     Q_NOREPLY void DisplayPinCode(const QDBusObjectPath &device, const QString &pincode);
0033     quint32 RequestPasskey(const QDBusObjectPath &device, const QDBusMessage &msg);
0034     Q_NOREPLY void DisplayPasskey(const QDBusObjectPath &device, quint32 passkey, quint16 entered);
0035     void RequestConfirmation(const QDBusObjectPath &device, quint32 passkey, const QDBusMessage &msg);
0036     void RequestAuthorization(const QDBusObjectPath &device, const QDBusMessage &msg);
0037     void AuthorizeService(const QDBusObjectPath &device, const QString &uuid, const QDBusMessage &msg);
0038 
0039     Q_NOREPLY void Cancel();
0040     Q_NOREPLY void Release();
0041 
0042 private:
0043     QString passkeyToString(quint32 passkey) const;
0044 
0045     Agent *m_agent;
0046     Manager *m_manager;
0047 };
0048 
0049 } // namespace BluezQt
0050 
0051 #endif // BLUEZQT_AGENTADAPTOR_H