8 #ifndef COMPONENTS_CPP_UTILS_BLESECURITY_H_
9 #define COMPONENTS_CPP_UTILS_BLESECURITY_H_
10 #include "sdkconfig.h"
11 #if defined(CONFIG_BT_ENABLED)
13 #include <esp_gap_ble_api.h>
18 virtual ~BLESecurity();
19 void setAuthenticationMode(esp_ble_auth_req_t auth_req);
20 void setCapability(esp_ble_io_cap_t iocap);
21 void setInitEncryptionKey(uint8_t init_key);
22 void setRespEncryptionKey(uint8_t resp_key);
23 void setKeySize(uint8_t key_size = 16);
24 static char* esp_key_type_to_str(esp_ble_key_type_t key_type);
27 esp_ble_auth_req_t m_authReq;
28 esp_ble_io_cap_t m_iocap;
39 class BLESecurityCallbacks {
41 virtual ~BLESecurityCallbacks() {};
48 virtual uint32_t onPassKeyRequest() = 0;
55 virtual void onPassKeyNotify(uint32_t pass_key) = 0;
62 virtual bool onSecurityRequest() = 0 ;
66 virtual void onAuthenticationComplete(esp_ble_auth_cmpl_t) = 0;
68 virtual bool onConfirmPIN(uint32_t pin) = 0;
71 #endif // CONFIG_BT_ENABLED
72 #endif // COMPONENTS_CPP_UTILS_BLESECURITY_H_