8 #ifndef COMPONENTS_CPP_UTILS_BLEDESCRIPTOR_H_
9 #define COMPONENTS_CPP_UTILS_BLEDESCRIPTOR_H_
10 #include "sdkconfig.h"
11 #if defined(CONFIG_BT_ENABLED)
14 #include "BLECharacteristic.h"
15 #include <esp_gatts_api.h>
19 class BLECharacteristic;
20 class BLEDescriptorCallbacks;
27 BLEDescriptor(
const char* uuid, uint16_t max_len = 100);
28 BLEDescriptor(BLEUUID uuid, uint16_t max_len = 100);
29 virtual ~BLEDescriptor();
35 void handleGATTServerEvent(
36 esp_gatts_cb_event_t event,
37 esp_gatt_if_t gatts_if,
38 esp_ble_gatts_cb_param_t* param);
40 void setAccessPermissions(esp_gatt_perm_t perm);
41 void setCallbacks(BLEDescriptorCallbacks* pCallbacks);
42 void setValue(uint8_t* data,
size_t size);
43 void setValue(std::string value);
45 std::string toString();
48 friend class BLEDescriptorMap;
49 friend class BLECharacteristic;
52 BLEDescriptorCallbacks* m_pCallback;
53 BLECharacteristic* m_pCharacteristic;
54 esp_gatt_perm_t m_permissions = ESP_GATT_PERM_READ | ESP_GATT_PERM_WRITE;
56 esp_attr_value_t m_value;
58 void executeCreate(BLECharacteristic* pCharacteristic);
59 void setHandle(uint16_t handle);
70 class BLEDescriptorCallbacks {
72 virtual ~BLEDescriptorCallbacks();
73 virtual void onRead(BLEDescriptor* pDescriptor);
74 virtual void onWrite(BLEDescriptor* pDescriptor);
Definition: FreeRTOS.h:31