update libs
This commit is contained in:
@@ -1,13 +1,26 @@
|
||||
/**
|
||||
* @file BleScanner.cpp
|
||||
*
|
||||
* Created: 2022
|
||||
* License: GNU GENERAL PUBLIC LICENSE (see LICENSE)
|
||||
*
|
||||
* This library provides a BLE scanner to be used by other libraries to
|
||||
* receive advertisements from BLE devices
|
||||
*
|
||||
*/
|
||||
|
||||
#include "BleScanner.h"
|
||||
#include <NimBLEUtils.h>
|
||||
#include <NimBLEScan.h>
|
||||
#include <NimBLEAdvertisedDevice.h>
|
||||
|
||||
BleScanner::BleScanner(int reservedSubscribers) {
|
||||
namespace BleScanner {
|
||||
|
||||
Scanner::Scanner(int reservedSubscribers) {
|
||||
subscribers.reserve(reservedSubscribers);
|
||||
}
|
||||
|
||||
void BleScanner::initialize(const std::string& deviceName, const bool wantDuplicates, const uint16_t interval, const uint16_t window) {
|
||||
void Scanner::initialize(const std::string& deviceName, const bool wantDuplicates, const uint16_t interval, const uint16_t window) {
|
||||
if (!BLEDevice::getInitialized()) {
|
||||
BLEDevice::init(deviceName);
|
||||
}
|
||||
@@ -18,7 +31,7 @@ void BleScanner::initialize(const std::string& deviceName, const bool wantDuplic
|
||||
bleScan->setWindow(window);
|
||||
}
|
||||
|
||||
void BleScanner::update() {
|
||||
void Scanner::update() {
|
||||
if (bleScan->isScanning()) {
|
||||
return;
|
||||
}
|
||||
@@ -28,27 +41,28 @@ void BleScanner::update() {
|
||||
}
|
||||
}
|
||||
|
||||
void BleScanner::setScanDuration(const uint32_t value) {
|
||||
void Scanner::setScanDuration(const uint32_t value) {
|
||||
scanDuration = value;
|
||||
}
|
||||
|
||||
void BleScanner::subscribe(BLEScannerSubscriber* subscriber) {
|
||||
void Scanner::subscribe(Subscriber* subscriber) {
|
||||
if (std::find(subscribers.begin(), subscribers.end(), subscriber) != subscribers.end()) {
|
||||
return;
|
||||
}
|
||||
subscribers.push_back(subscriber);
|
||||
}
|
||||
|
||||
void BleScanner::unsubscribe(BLEScannerSubscriber* subscriber) {
|
||||
void Scanner::unsubscribe(Subscriber* subscriber) {
|
||||
auto it = std::find(subscribers.begin(), subscribers.end(), subscriber);
|
||||
if (it != subscribers.end()) {
|
||||
subscribers.erase(it);
|
||||
}
|
||||
}
|
||||
|
||||
void BleScanner::onResult(NimBLEAdvertisedDevice* advertisedDevice) {
|
||||
void Scanner::onResult(NimBLEAdvertisedDevice* advertisedDevice) {
|
||||
for (const auto& subscriber : subscribers) {
|
||||
subscriber->onResult(advertisedDevice);
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace BleScanner
|
||||
|
||||
Reference in New Issue
Block a user