File indexing completed on 2024-04-21 03:51:50

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