1 | /* |
2 | * SPDX-FileCopyrightText: 2014-2015 David Rosca <nowrep@gmail.com> |
3 | * |
4 | * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL |
5 | */ |
6 | |
7 | #ifndef AGENTMANAGERTEST_H |
8 | #define AGENTMANAGERTEST_H |
9 | |
10 | #include <QDBusObjectPath> |
11 | #include <QObject> |
12 | |
13 | #include "agent.h" |
14 | #include "device.h" |
15 | |
16 | class TestAgent : public BluezQt::Agent |
17 | { |
18 | Q_OBJECT |
19 | |
20 | public: |
21 | explicit TestAgent(QObject *parent = nullptr); |
22 | |
23 | QDBusObjectPath objectPath() const override; |
24 | |
25 | void requestPinCode(BluezQt::DevicePtr device, const BluezQt::Request<QString> &request) override; |
26 | void displayPinCode(BluezQt::DevicePtr device, const QString &pinCode) override; |
27 | void requestPasskey(BluezQt::DevicePtr device, const BluezQt::Request<quint32> &request) override; |
28 | void displayPasskey(BluezQt::DevicePtr device, const QString &passkey, const QString &entered) override; |
29 | void requestConfirmation(BluezQt::DevicePtr device, const QString &passkey, const BluezQt::Request<> &request) override; |
30 | void requestAuthorization(BluezQt::DevicePtr device, const BluezQt::Request<> &request) override; |
31 | void authorizeService(BluezQt::DevicePtr device, const QString &uuid, const BluezQt::Request<> &request) override; |
32 | |
33 | void cancel() override; |
34 | void release() override; |
35 | |
36 | BluezQt::DevicePtr m_device; |
37 | |
38 | // requestPinCode |
39 | bool m_pinRequested; |
40 | |
41 | // displayPinCode |
42 | QString m_displayedPinCode; |
43 | |
44 | // requestPasskey |
45 | bool m_passkeyRequested; |
46 | |
47 | // displayPasskey |
48 | QString m_displayedPasskey; |
49 | QString m_enteredPasskey; |
50 | |
51 | // requestConfirmation |
52 | QString m_requestedPasskey; |
53 | |
54 | // requestAuthorization |
55 | bool m_authorizationRequested; |
56 | |
57 | // authorizeService |
58 | QString m_authorizedUuid; |
59 | |
60 | // cancel |
61 | bool m_cancelCalled; |
62 | |
63 | // release |
64 | bool m_releaseCalled; |
65 | }; |
66 | |
67 | class AgentManagerTest : public QObject |
68 | { |
69 | Q_OBJECT |
70 | |
71 | private Q_SLOTS: |
72 | void initTestCase(); |
73 | void cleanupTestCase(); |
74 | |
75 | void requestPinCodeTest(); |
76 | void displayPinCodeTest(); |
77 | void requestPasskeyTest(); |
78 | void displayPasskeyTest(); |
79 | void requestConfirmationTest(); |
80 | void requestAuthorizationTest(); |
81 | void authorizeServiceTest(); |
82 | void cancelTest(); |
83 | void releaseTest(); |
84 | |
85 | private: |
86 | TestAgent *m_agent; |
87 | QDBusObjectPath m_device; |
88 | }; |
89 | |
90 | #endif // AGENTMANAGERTEST_H |
91 | |