3#include <NimBLEDevice.h>
7#include "BLEController.h"
8#include "BLEControllerAdapter.h"
9#include "BLEControllerInternal.h"
11#define CTRL_ADAPTER_MATCH_TYPE uint64_t
12#define MAX_CTRL_ADAPTER_COUNT sizeof(CTRL_ADAPTER_MATCH_TYPE)
14enum BLEClientStatusMsgKind : uint8_t {
15 BLEClientConnected = 0,
16 BLEClientDisconnected = 1
20 NimBLEAddress address;
21 BLEClientStatusMsgKind kind;
23 explicit operator std::string()
const;
37 friend class BLEClientCallbacksImpl;
38 friend class BLEScanCallbacksImpl;
39 friend class BLEController;
44 static bool _reserveController(NimBLEAddress address);
45 static bool _releaseController(NimBLEAddress address);
46 static void _clientStatusConsumerFn(
void* pvParameters);
47 static void _autoScanCheck();
48 static bool _initialized;
49 static bool _autoScanEnabled;
50 static bool _deleteBonds;
51 static QueueHandle_t _clientStatusQueue;
52 static TaskHandle_t _clientStatusConsumerTask;
53 static SemaphoreHandle_t _connectionSlots;
54 static std::map<NimBLEAddress, CTRL_ADAPTER_MATCH_TYPE> _adapterMatch;
55 static std::list<BLEControllerInternal> _controllers;
56 static std::deque<BLEControllerAdapter> _adapters;
Definition BLEControllerInternal.h:15
Definition BLEControllerRegistry.h:26
static void disableAutoScan()
Disables the auto-scan feature.
Definition BLEControllerRegistry.cpp:137
static bool isAutoScanEnabled()
Checks whether the auto-scan feature is enabled.
Definition BLEControllerRegistry.cpp:151
static void enableAutoScan()
Enables the auto-scan feature.
Definition BLEControllerRegistry.cpp:125
static bool addControllerAdapter(const BLEControllerAdapter &adapter)
Registers an adapter for a new controller type. Adapter is used to set up a connection and to decode ...
Definition BLEControllerRegistry.cpp:170
static void deleteBonds()
Deletes all stored bonding information.
Definition BLEControllerRegistry.cpp:158
static bool init()
Initializes a BLEControllerRegistry.
Definition BLEControllerRegistry.cpp:27
static bool isInitialized()
Checks if BLEControllerRegistry is initialized.
Definition BLEControllerRegistry.cpp:114
static bool deinit()
Deinitializes a BLEControllerRegistry.
Definition BLEControllerRegistry.cpp:68
Definition BLEControllerRegistry.h:19
Definition BLEControllerAdapter.h:14