BluezQt 5.109.0
request.h
1/*
2 * BluezQt - Asynchronous BlueZ wrapper library
3 *
4 * SPDX-FileCopyrightText: 2014-2015 David Rosca <nowrep@gmail.com>
5 *
6 * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
7 */
8
9#ifndef BLUEZQT_REQUEST_H
10#define BLUEZQT_REQUEST_H
11
12#include <QSharedPointer>
13
14#include "bluezqt_export.h"
15
16class QDBusMessage;
17
18namespace BluezQt
19{
20enum RequestOriginatingType {
21 OrgBluezAgent,
22 OrgBluezProfile,
23 OrgBluezObexAgent,
24 OrgBluezMediaEndpoint,
25};
26
37template<typename T = void>
38class BLUEZQT_EXPORT Request
39{
40public:
44 explicit Request();
45
49 virtual ~Request();
50
56 Request(const Request &other);
57
63 Request &operator=(const Request &other);
64
76 void accept(T returnValue) const;
77
84 void reject() const;
85
92 void cancel() const;
93
94private:
95 explicit Request(RequestOriginatingType type, const QDBusMessage &message);
96
97 QSharedPointer<class RequestPrivate> d;
98
99 friend class AgentAdaptor;
100 friend class ObexAgentAdaptor;
101 friend class ProfileAdaptor;
102 friend class MediaEndpointAdaptor;
103};
104
105// void
106template<>
107class BLUEZQT_EXPORT Request<void>
108{
109public:
110 explicit Request();
111 virtual ~Request();
112
113 Request(const Request &other);
114 Request &operator=(const Request &other);
115
116 void accept() const;
117 void reject() const;
118 void cancel() const;
119
120private:
121 explicit Request(RequestOriginatingType type, const QDBusMessage &message);
122
123 QSharedPointer<class RequestPrivate> d;
124
125 friend class AgentAdaptor;
126 friend class ObexAgentAdaptor;
127 friend class ProfileAdaptor;
128};
129
130} // namespace BluezQt
131
132#endif // BLUEZQT_REQUEST_H
D-Bus request.
Definition request.h:39
void accept(T returnValue) const
Accepts the request.
virtual ~Request()
Destroys a Request object.
void cancel() const
Cancels the request.
void reject() const
Rejects the request.
Request()
Creates a new Request object.
Request & operator=(const Request &other)
Copy assignment operator.
Request(const Request &other)
Copy constructor.