File indexing completed on 2023-09-24 04:02:10
0001 /* 0002 * SPDX-FileCopyrightText: 2014-2015 David Rosca <nowrep@gmail.com> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 0007 #ifndef AGENTMANAGER_H 0008 #define AGENTMANAGER_H 0009 0010 #include "object.h" 0011 0012 #include <QDBusAbstractAdaptor> 0013 0014 class QDBusMessage; 0015 0016 class AgentManager : public QDBusAbstractAdaptor, public Object 0017 { 0018 Q_OBJECT 0019 Q_CLASSINFO("D-Bus Interface", "org.bluez.AgentManager1") 0020 0021 public: 0022 explicit AgentManager(QObject *parent = nullptr); 0023 0024 void runAction(const QString &actionName, const QVariantMap &properties); 0025 0026 public Q_SLOTS: 0027 void RegisterAgent(const QDBusObjectPath &path, const QString &capability, const QDBusMessage &msg); 0028 void UnregisterAgent(const QDBusObjectPath &path, const QDBusMessage &msg); 0029 void RequestDefaultAgent(const QDBusObjectPath &path); 0030 0031 private: 0032 void runRequestPinCodeAction(const QVariantMap &properties); 0033 void runDisplayPinCodeAction(const QVariantMap &properties); 0034 void runRequestPasskeyAction(const QVariantMap &properties); 0035 void runDisplayPasskeyAction(const QVariantMap &properties); 0036 void runRequestConfirmationAction(const QVariantMap &properties); 0037 void runRequestAuthorizationAction(const QVariantMap &properties); 0038 void runAuthorizeServiceAction(const QVariantMap &properties); 0039 void runCancelAction(); 0040 void runReleaseAction(); 0041 0042 QDBusObjectPath m_agent; 0043 QString m_service; 0044 QString m_capability; 0045 }; 0046 0047 #endif // AGENTMANAGER_H