move BleScanner to seperate lib

This commit is contained in:
technyon
2022-04-30 21:01:41 +02:00
parent 3a671b6704
commit 25544e8ad0
12 changed files with 237 additions and 1 deletions

View File

@@ -0,0 +1,25 @@
#pragma once
#include <string>
#include <NimBLEDevice.h>
#include "BleInterfaces.h"
class BleScanner : public BLEScannerPublisher, BLEAdvertisedDeviceCallbacks {
public:
BleScanner(int reservedSubscribers = 10);
~BleScanner() = default;
void initialize(const std::string& deviceName = "blescanner", const bool wantDuplicates = false, const uint16_t interval = 40, const uint16_t window = 40);
void update();
void setScanDuration(const uint32_t value);
void subscribe(BLEScannerSubscriber* subscriber) override;
void unsubscribe(BLEScannerSubscriber* subscriber) override;
void onResult(NimBLEAdvertisedDevice* advertisedDevice) override;
private:
uint32_t scanDuration = 3;
BLEScan* bleScan = nullptr;
std::vector<BLEScannerSubscriber*> subscribers;
};