core: helper function to recognize BT/BLE addresses

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2018-09-24 17:39:33 -07:00
parent 4263d1c3f5
commit 0cfd76740b
2 changed files with 10 additions and 0 deletions

View file

@ -6,6 +6,7 @@
#include <QTimer>
#include <QDebug>
#include <QLoggingCategory>
#include <QRegularExpression>
extern QMap<QString, dc_descriptor_t *> descriptorLookup;
@ -301,6 +302,14 @@ bool BTDiscovery::checkException(const char* method, const QAndroidJniObject *ob
QHash<QString, QBluetoothDeviceInfo> btDeviceInfo;
bool isBluetoothAddress(const QString &address)
{
QRegularExpression re("(LE:)*([0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}|{[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}})",
QRegularExpression::CaseInsensitiveOption);
QRegularExpressionMatch m = re.match(address);
return m.hasMatch();
}
void saveBtDeviceInfo(const QString &devaddr, QBluetoothDeviceInfo deviceInfo)
{
btDeviceInfo[devaddr] = deviceInfo;

View file

@ -17,6 +17,7 @@
#endif
void saveBtDeviceInfo(const QString &devaddr, QBluetoothDeviceInfo deviceInfo);
bool isBluetoothAddress(const QString &address);
QBluetoothDeviceInfo getBtDeviceInfo(const QString &devaddr);
class BTDiscovery : public QObject {