8 #ifndef COMPONENTS_CPP_UTILS_BLEREMOTESERVICE_H_
9 #define COMPONENTS_CPP_UTILS_BLEREMOTESERVICE_H_
10 #include "sdkconfig.h"
11 #if defined(CONFIG_BT_ENABLED)
15 #include "BLEClient.h"
16 #include "BLERemoteCharacteristic.h"
21 class BLERemoteCharacteristic;
27 class BLERemoteService {
29 virtual ~BLERemoteService();
32 BLERemoteCharacteristic* getCharacteristic(
const char* uuid);
33 BLERemoteCharacteristic* getCharacteristic(BLEUUID uuid);
34 BLERemoteCharacteristic* getCharacteristic(uint16_t uuid);
35 std::map<std::string, BLERemoteCharacteristic*>* getCharacteristics();
36 std::map<uint16_t, BLERemoteCharacteristic*>* getCharacteristicsByHandle();
37 void getCharacteristics(std::map<uint16_t, BLERemoteCharacteristic*>* pCharacteristicMap);
39 BLEClient* getClient(
void);
41 BLEUUID getUUID(
void);
42 std::string getValue(BLEUUID characteristicUuid);
43 void setValue(BLEUUID characteristicUuid, std::string value);
44 std::string toString(
void);
48 BLERemoteService(esp_gatt_id_t srvcId, BLEClient* pClient, uint16_t startHandle, uint16_t endHandle);
51 friend class BLEClient;
52 friend class BLERemoteCharacteristic;
55 void retrieveCharacteristics(
void);
56 esp_gatt_id_t* getSrvcId(
void);
57 uint16_t getStartHandle();
58 uint16_t getEndHandle();
60 void gattClientEventHandler(
61 esp_gattc_cb_event_t event,
62 esp_gatt_if_t gattc_if,
63 esp_ble_gattc_cb_param_t* evtParam);
65 void removeCharacteristics();
70 std::map<std::string, BLERemoteCharacteristic*> m_characteristicMap;
73 std::map<uint16_t, BLERemoteCharacteristic*> m_characteristicMapByHandle;
75 bool m_haveCharacteristics;
78 esp_gatt_id_t m_srvcId;
80 uint16_t m_startHandle;
Definition: FreeRTOS.h:31