mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-17 21:46:17 +00:00
Added a list of paired BT devices for the "Paired BT Devices" vendor. The devices under this vendor represent all BT devces that can be found from the local BT interface. Some special processing is required, as the BT provided data is (obviously) missing the specific data needed to open a BT device using libdc code. This processing is not in this commit, but will follow. This commit is preparation for that. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
67 lines
1.5 KiB
C++
67 lines
1.5 KiB
C++
// SPDX-License-Identifier: GPL-2.0
|
|
#ifndef BTDISCOVERY_H
|
|
#define BTDISCOVERY_H
|
|
|
|
#include <QObject>
|
|
#include <QString>
|
|
#include <QLoggingCategory>
|
|
#if defined(BT_SUPPORT)
|
|
#include <QBluetoothLocalDevice>
|
|
#include <QBluetoothDeviceDiscoveryAgent>
|
|
#include <QBluetoothUuid>
|
|
|
|
struct btVendorProduct {
|
|
QBluetoothDeviceInfo btdi;
|
|
int vendorIdx;
|
|
int productIdx;
|
|
};
|
|
|
|
#endif
|
|
#if defined(Q_OS_ANDROID)
|
|
#include <QAndroidJniObject>
|
|
#include <QAndroidJniEnvironment>
|
|
#endif
|
|
|
|
class BTDiscovery : public QObject {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
BTDiscovery(QObject *parent = NULL);
|
|
~BTDiscovery();
|
|
static BTDiscovery *instance();
|
|
|
|
#if defined(BT_SUPPORT)
|
|
struct btPairedDevice {
|
|
QBluetoothAddress address;
|
|
QString name;
|
|
};
|
|
void btDeviceDiscovered(const QBluetoothDeviceInfo &device);
|
|
#if defined(Q_OS_ANDROID)
|
|
void getBluetoothDevices();
|
|
#endif
|
|
QList<struct btVendorProduct> getBtDcs();
|
|
QList<struct btVendorProduct> getBtAllDevices();
|
|
#endif
|
|
private:
|
|
static BTDiscovery *m_instance;
|
|
#if defined(BT_SUPPORT)
|
|
QList<struct btVendorProduct> btDCs; // recognized DCs
|
|
QList<struct btVendorProduct> btAllDevices; // all paired BT stuff
|
|
#endif
|
|
#if defined(Q_OS_ANDROID)
|
|
bool checkException(const char* method, const QAndroidJniObject* obj);
|
|
#endif
|
|
|
|
#if defined(BT_SUPPORT)
|
|
QList<struct btPairedDevice> btPairedDevices;
|
|
QBluetoothLocalDevice localBtDevice;
|
|
QBluetoothDeviceDiscoveryAgent *discoveryAgent;
|
|
#endif
|
|
|
|
signals:
|
|
void dcVendorChanged();
|
|
void dcProductChanged();
|
|
void dcBtChanged();
|
|
};
|
|
|
|
#endif // BTDISCOVERY_H
|