DtkBluetooth
BlueZ DBus interface binding for Qt
dbluetoothmanager.h
浏览该文件的文档.
1// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#ifndef DBLUETOOTHMANAGER_H
6#define DBLUETOOTHMANAGER_H
7
8#include <QSharedPointer>
9#include <DExpected>
10#include <DObject>
11#include "dbluetoothadapter.h"
12
13DBLUETOOTH_BEGIN_NAMESPACE
14
15using DTK_CORE_NAMESPACE::DExpected;
16using DTK_CORE_NAMESPACE::DObject;
17
18class DAgent;
19class DManagerPrivate;
20
21class DManager : public QObject, public DObject
22{
23 Q_OBJECT
24public:
25 explicit DManager(QObject *parent = nullptr);
26 ~DManager() override = default;
27
28 Q_PROPERTY(bool available READ available CONSTANT)
29
30 bool available() const;
31 DExpected<QList<quint64>> adapters() const;
32 DExpected<QSharedPointer<DAdapter>> adapterFromId(quint64 adapterId) const;
33public Q_SLOTS:
34
35 DExpected<void> registerAgent(const QSharedPointer<DAgent> &agent);
36 DExpected<void> unregisterAgent(const QSharedPointer<DAgent> &agent);
37 DExpected<void> requestDefaultAgent(const QSharedPointer<DAgent> &agent);
38
39Q_SIGNALS:
40 void adapterAdded(quint64 adapterId);
41 void adapterRemoved(quint64 adapterId);
42
43private:
44 D_DECLARE_PRIVATE(DManager)
45};
46
47DBLUETOOTH_END_NAMESPACE
48#endif
对于蓝牙适配器的封装
Definition: dbluetoothadapter.h:24
对于自定义蓝牙代理的封装
Definition: dbluetoothagent.h:18
蓝牙管理类, DAdapter对象由此创建
Definition: dbluetoothmanager.h:22