8 #ifndef COMPONENTS_CPP_UTILS_BLESCAN_H_
9 #define COMPONENTS_CPP_UTILS_BLESCAN_H_
10 #include "sdkconfig.h"
11 #if defined(CONFIG_BT_ENABLED)
12 #include <esp_gap_ble_api.h>
16 #include "BLEAdvertisedDevice.h"
17 #include "BLEClient.h"
20 class BLEAdvertisedDevice;
21 class BLEAdvertisedDeviceCallbacks;
33 class BLEScanResults {
37 BLEAdvertisedDevice getDevice(uint32_t i);
41 std::map<std::string, BLEAdvertisedDevice*> m_vectorAdvertisedDevices;
51 void setActiveScan(
bool active);
52 void setAdvertisedDeviceCallbacks(
53 BLEAdvertisedDeviceCallbacks* pAdvertisedDeviceCallbacks,
54 bool wantDuplicates =
false);
55 void setInterval(uint16_t intervalMSecs);
56 void setWindow(uint16_t windowMSecs);
57 bool start(uint32_t duration,
void (*scanCompleteCB)(BLEScanResults),
bool is_continue =
false);
58 BLEScanResults start(uint32_t duration,
bool is_continue =
false);
60 void erase(BLEAddress address);
61 BLEScanResults getResults();
66 friend class BLEDevice;
68 esp_gap_ble_cb_event_t event,
69 esp_ble_gap_cb_param_t* param);
70 void parseAdvertisement(BLEClient* pRemoteDevice, uint8_t *payload);
73 esp_ble_scan_params_t m_scan_params;
74 BLEAdvertisedDeviceCallbacks* m_pAdvertisedDeviceCallbacks =
nullptr;
75 bool m_stopped =
true;
77 BLEScanResults m_scanResults;
78 bool m_wantDuplicates;
79 void (*m_scanCompleteCB)(BLEScanResults scanResults);
Definition: FreeRTOS.h:31