107concept BLEHubContract =
requires(T hub, ESPBTDeviceListener *listener, RawAdvertisementCallback raw_callback,
109 hub.register_listener(listener);
110 hub.set_raw_advertisement_callback(raw_callback);
111 { T::get_capabilities() } -> std::same_as<HubCapabilities>;
112 hub.get_adapter_mac(mac);
113 { hub.scan_running() } -> std::same_as<bool>;
114 { hub.scan_active() } -> std::same_as<bool>;
115 { hub.request_scan_mode(
true) } -> std::same_as<bool>;
116#ifdef USE_BLE_SCANNER_STATE_CALLBACK
117 hub.set_scanner_state_callback(ScannerStateCallback{});
118 { hub.get_scanner_state() } -> std::same_as<ScannerState>;