File indexing completed on 2025-01-19 06:44:34
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