28 std::function<void(
const uint8_t *mac,
int rssi, uint8_t addr_type,
const uint8_t *data, uint16_t data_len)>;
virtual void set_raw_advertisement_callback(RawAdvertisementCallback cb)=0
Wire the raw-advertisement stream (bluetooth_proxy). One consumer at a time.
virtual bool scan_running()=0
virtual void register_listener(ESPBTDeviceListener *listener)=0
Register a parsed-advertisement consumer (BLE sensors, automation triggers).
virtual bool scan_active()=0
True when the current/configured scan mode is active (scan requests sent).
virtual HubCapabilities get_capabilities() const =0
virtual ~BLEHub()=default
virtual void get_adapter_mac(uint8_t out[6])=0
Adapter MAC in printable (MSB-first) order, out[0] = MSB.
std::function< void(const uint8_t *mac, int rssi, uint8_t addr_type, const uint8_t *data, uint16_t data_len)> RawAdvertisementCallback
Callback for raw advertisements (the bluetooth_proxy path).
What a tracker's controller/SDK can do — consumers branch on data, not #ifdefs.
bool merges_scan_response
Controller (or tracker) delivers advertisement + scan response as one merged frame.
bool active_scan
Controller can send scan requests (active scanning).
bool gatt
GATT client connections are available (today: esp32 only, but a chip SDK gaining GATT support only ha...