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

Skip to content

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

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