8000 Add remove service · hpsaturn/esp32-snippets@eead14a · GitHub
[go: up one dir, main page]

Skip to content

Commit eead14a

Browse files
committed
Add remove service
1 parent 61604a9 commit eead14a

File tree

3 files changed

+15
-1
lines changed

3 files changed

+15
-1
lines changed

cpp_utils/BLEServer.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,14 @@ void BLEServer::setCallbacks(BLEServerCallbacks* pCallbacks) {
323323
m_pServerCallbacks = pCallbacks;
324324
} // setCallbacks
325325

326+
/*
327+
* Remove service
328+
*/
329+
void BLEServer::removeService(BLEService *service) {
330+
esp_ble_gatts_delete_service(handle);
331+
uint16_t handle = service->getHandle();
332+
m_serviceMap->removeService(service);
333+
}
326334

327335
/**
328336
* @brief Start advertising.

cpp_utils/BLEServer.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ class BLEServiceMap {
4242
std::string toString();
4343
BLEService* getFirst();
4444
BLEService* getNext();
45+
void removeService(BLEService *service);
4546

4647
private:
4748
std::map<uint16_t, BLEService*> m_handleMap;
@@ -61,7 +62,7 @@ class BLEServer {
6162
BLEAdvertising* getAdvertising();
6263
void setCallbacks(BLEServerCallbacks* pCallbacks);
6364
void startAdvertising();
64-
65+
void removeService(BLEService *service);
6566

6667
private:
6768
BLEServer();

cpp_utils/BLEServiceMap.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,4 +120,9 @@ BLEService* BLEServiceMap::getNext() {
120120
return pRet;
121121
} // getNext
122122

123+
void BLEServiceMap::removeService(BLEService *service){
124+
m_handleMap->erase(serice->getHandle());
125+
m_uuidMap->erase(service);
126+
}
127+
123128
#endif /* CONFIG_BT_ENABLED */

0 commit comments

Comments
 (0)
0