BluezQt 5.109.0
obexmanager.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_OBEXMANAGER_H
10#define BLUEZQT_OBEXMANAGER_H
11
12#include <QObject>
13
14#include "bluezqt_export.h"
15#include "obexsession.h"
16
17class QDBusObjectPath;
18
19namespace BluezQt
20{
21class ObexAgent;
22class PendingCall;
23class InitObexManagerJob;
24
37class BLUEZQT_EXPORT ObexManager : public QObject
38{
39 Q_OBJECT
40
41 Q_PROPERTY(bool initialized READ isInitialized)
42 Q_PROPERTY(bool operational READ isOperational NOTIFY operationalChanged)
43 Q_PROPERTY(QList<ObexSessionPtr> sessions READ sessions)
44
45public:
51 explicit ObexManager(QObject *parent = nullptr);
52
56 ~ObexManager() override;
57
64
70 bool isInitialized() const;
71
80 bool isOperational() const;
81
87 QList<ObexSessionPtr> sessions() const;
88
99 ObexSessionPtr sessionForPath(const QDBusObjectPath &path) const;
100
111
112public Q_SLOTS:
124
134
162 PendingCall *createSession(const QString &destination, const QVariantMap &args);
163
172 PendingCall *removeSession(const QDBusObjectPath &session);
173
174Q_SIGNALS:
178 void operationalChanged(bool operational);
179
183 void sessionAdded(ObexSessionPtr session);
184
188 void sessionRemoved(ObexSessionPtr session);
189
190private:
191 class ObexManagerPrivate *const d;
192
193 friend class ObexManagerPrivate;
194 friend class InitObexManagerJobPrivate;
195};
196
197} // namespace BluezQt
198
199#endif // BLUEZQT_OBEXMANAGER_H
Init obex manager job.
Definition initobexmanagerjob.h:27
Bluetooth OBEX agent.
Definition obexagent.h:37
OBEX manager.
Definition obexmanager.h:38
void operationalChanged(bool operational)
Indicates that operational state have changed.
QList< ObexSessionPtr > sessions() const
Returns a list of all sessions.
void sessionAdded(ObexSessionPtr session)
Indicates that the session was added.
PendingCall * removeSession(const QDBusObjectPath &session)
Removes an existing OBEX session.
~ObexManager() override
Destroys an ObexManager object.
PendingCall * registerAgent(ObexAgent *agent)
Registers agent.
static PendingCall * startService()
Attempts to start org.bluez.obex service by D-Bus activation.
bool isOperational() const
Returns whether the manager is operational.
void sessionRemoved(ObexSessionPtr session)
Indicates that the session was removed.
ObexSessionPtr sessionForPath(const QDBusObjectPath &path) const
Returns a session for specified path.
ObexManager(QObject *parent=nullptr)
Creates a new ObexManager object.
InitObexManagerJob * init()
Creates a new init job.
PendingCall * unregisterAgent(ObexAgent *agent)
Unregisters agent.
PendingCall * createSession(const QString &destination, const QVariantMap &args)
Creates a new OBEX session.
bool isInitialized() const
Returns whether the manager is initialized.
Pending method call.
Definition pendingcall.h:33