This repository has been archived on 2026-05-31. You can view files and clone it, but cannot push or open issues or pull requests.
powersync-app/libnymea-app-core/discovery/bluetoothservicediscovery.h
2018-07-31 09:31:26 +02:00

47 lines
1.2 KiB
C++

#ifndef BLUETOOTHSERVICEDISCOVERY_H
#define BLUETOOTHSERVICEDISCOVERY_H
#include <QObject>
#include <QBluetoothUuid>
#include <QBluetoothLocalDevice>
#include <QBluetoothServiceDiscoveryAgent>
class DiscoveryModel;
class BluetoothServiceDiscovery : public QObject
{
Q_OBJECT
public:
explicit BluetoothServiceDiscovery(DiscoveryModel *discoveryModel, QObject *parent = nullptr);
bool discovering() const;
bool available() const;
Q_INVOKABLE void discover();
Q_INVOKABLE void stopDiscovery();
private:
DiscoveryModel *m_discoveryModel = nullptr;
QBluetoothLocalDevice *m_localDevice = nullptr;
QBluetoothServiceDiscoveryAgent *m_serviceDiscovery = nullptr;
QBluetoothUuid m_nymeaServiceUuid;
bool m_enabed = false;
bool m_discovering = false;
bool m_available = false;
void setDiscovering(const bool &discovering);
signals:
void discoveringChanged(bool discovering);
private slots:
void onHostModeChanged(const QBluetoothLocalDevice::HostMode &mode);
void onServiceDiscovered(const QBluetoothServiceInfo &serviceInfo);
void onServiceDiscoveryFinished();
};
#endif // BLUETOOTHSERVICEDISCOVERY_H