Skip to content

Commit fca7948

Browse files
Return CHIP_ERROR from BlePlatformDelegate APIs (project-chip#34387)
* Return CHIP_ERROR from BlePlatformDelegate APIs * Restyled by clang-format * Fix issues detected by CI * Mark BlePlatformDelegate implementations as override --------- Co-authored-by: Restyled.io <commits@restyled.io>
1 parent 6ce96ef commit fca7948

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+713
-787
lines changed

src/ble/BLEEndPoint.cpp

+29-35
Original file line numberDiff line numberDiff line change
@@ -133,11 +133,8 @@ CHIP_ERROR BLEEndPoint::StartConnect()
133133
// Add reference to message fragment for duration of platform's GATT write attempt. CHIP retains partial
134134
// ownership of message fragment's packet buffer, since this is the same buffer as that of the whole message, just
135135
// with a fragmenter-modified payload offset and data length, by a Retain() on the handle when calling this function.
136-
if (!SendWrite(buf.Retain()))
137-
{
138-
err = BLE_ERROR_GATT_WRITE_FAILED;
139-
ExitNow();
140-
}
136+
err = SendWrite(buf.Retain());
137+
SuccessOrExit(err);
141138

142139
// Free request buffer on write confirmation. Stash a reference to it in mSendQueue, which we don't use anyway
143140
// until the connection has been set up.
@@ -213,13 +210,13 @@ void BLEEndPoint::HandleSubscribeReceived()
213210
// Add reference to message fragment for duration of platform's GATT indication attempt. CHIP retains partial
214211
// ownership of message fragment's packet buffer, since this is the same buffer as that of the whole message, just
215212
// with a fragmenter-modified payload offset and data length.
216-
if (!SendIndication(mSendQueue.Retain()))
213+
err = SendIndication(mSendQueue.Retain());
214+
if (err != CHIP_NO_ERROR)
217215
{
218216
// Ensure transmit queue is empty and set to NULL.
219217
mSendQueue = nullptr;
220218

221219
ChipLogError(Ble, "cap resp ind failed");
222-
err = BLE_ERROR_GATT_INDICATE_FAILED;
223220
ExitNow();
224221
}
225222

@@ -389,9 +386,10 @@ void BLEEndPoint::FinalizeClose(uint8_t oldState, uint8_t flags, CHIP_ERROR err)
389386
// Indicate close of chipConnection to peripheral via GATT unsubscribe. Keep end point allocated until
390387
// unsubscribe completes or times out, so platform doesn't close underlying BLE connection before
391388
// we're really sure the unsubscribe request has been sent.
392-
if (!mBle->mPlatformDelegate->UnsubscribeCharacteristic(mConnObj, &CHIP_BLE_SVC_ID, &CHIP_BLE_CHAR_2_UUID))
389+
err = mBle->mPlatformDelegate->UnsubscribeCharacteristic(mConnObj, &CHIP_BLE_SVC_ID, &CHIP_BLE_CHAR_2_UUID);
390+
if (err != CHIP_NO_ERROR)
393391
{
394-
ChipLogError(Ble, "BtpEngine unsub failed");
392+
ChipLogError(Ble, "BtpEngine unsubscribe failed %" CHIP_ERROR_FORMAT, err.Format());
395393

396394
// If unsubscribe fails, release BLE connection and free end point immediately.
397395
Free();
@@ -568,31 +566,20 @@ CHIP_ERROR BLEEndPoint::SendCharacteristic(PacketBufferHandle && buf)
568566

569567
if (mRole == kBleRole_Central)
570568
{
571-
if (!SendWrite(std::move(buf)))
572-
{
573-
err = BLE_ERROR_GATT_WRITE_FAILED;
574-
}
575-
else
576-
{
577-
// Write succeeded, so shrink remote receive window counter by 1.
578-
mRemoteReceiveWindowSize = static_cast<SequenceNumber_t>(mRemoteReceiveWindowSize - 1);
579-
ChipLogDebugBleEndPoint(Ble, "decremented remote rx window, new size = %u", mRemoteReceiveWindowSize);
580-
}
569+
SuccessOrExit(err = SendWrite(std::move(buf)));
570+
// Write succeeded, so shrink remote receive window counter by 1.
571+
mRemoteReceiveWindowSize = static_cast<SequenceNumber_t>(mRemoteReceiveWindowSize - 1);
572+
ChipLogDebugBleEndPoint(Ble, "decremented remote rx window, new size = %u", mRemoteReceiveWindowSize);
581573
}
582574
else // (mRole == kBleRole_Peripheral), verified on Init
583575
{
584-
if (!SendIndication(std::move(buf)))
585-
{
586-
err = BLE_ERROR_GATT_INDICATE_FAILED;
587-
}
588-
else
589-
{
590-
// Indication succeeded, so shrink remote receive window counter by 1.
591-
mRemoteReceiveWindowSize = static_cast<SequenceNumber_t>(mRemoteReceiveWindowSize - 1);
592-
ChipLogDebugBleEndPoint(Ble, "decremented remote rx window, new size = %u", mRemoteReceiveWindowSize);
593-
}
576+
SuccessOrExit(err = SendIndication(std::move(buf)));
577+
// Indication succeeded, so shrink remote receive window counter by 1.
578+
mRemoteReceiveWindowSize = static_cast<SequenceNumber_t>(mRemoteReceiveWindowSize - 1);
579+
ChipLogDebugBleEndPoint(Ble, "decremented remote rx window, new size = %u", mRemoteReceiveWindowSize);
594580
}
595581

582+
exit:
596583
return err;
597584
}
598585

@@ -750,8 +737,8 @@ CHIP_ERROR BLEEndPoint::HandleHandshakeConfirmationReceived()
750737
{
751738
// Subscribe to characteristic which peripheral will use to send indications. Prompts peripheral to send
752739
// BLE transport capabilities indication.
753-
VerifyOrExit(mBle->mPlatformDelegate->SubscribeCharacteristic(mConnObj, &CHIP_BLE_SVC_ID, &CHIP_BLE_CHAR_2_UUID),
754-
err = BLE_ERROR_GATT_SUBSCRIBE_FAILED);
740+
err = mBle->mPlatformDelegate->SubscribeCharacteristic(mConnObj, &CHIP_BLE_SVC_ID, &CHIP_BLE_CHAR_2_UUID);
741+
SuccessOrExit(err);
755742

756743
// We just sent a GATT subscribe request, so make sure to attempt unsubscribe on close.
757744
mConnStateFlags.Set(ConnectionStateFlag::kDidBeginSubscribe);
@@ -1309,18 +1296,25 @@ CHIP_ERROR BLEEndPoint::Receive(PacketBufferHandle && data)
13091296
return err;
13101297
}
13111298

1312-
bool BLEEndPoint::SendWrite(PacketBufferHandle && buf)
1299+
CHIP_ERROR BLEEndPoint::SendWrite(PacketBufferHandle && buf)
13131300
{
13141301
mConnStateFlags.Set(ConnectionStateFlag::kGattOperationInFlight);
13151302

1316-
return mBle->mPlatformDelegate->SendWriteRequest(mConnObj, &CHIP_BLE_SVC_ID, &CHIP_BLE_CHAR_1_UUID, std::move(buf));
1303+
auto err = mBle->mPlatformDelegate->SendWriteRequest(mConnObj, &CHIP_BLE_SVC_ID, &CHIP_BLE_CHAR_1_UUID, std::move(buf));
1304+
VerifyOrReturnError(err == CHIP_NO_ERROR, err,
1305+
ChipLogError(Ble, "Send write request failed: %" CHIP_ERROR_FORMAT, err.Format()));
1306+
1307+
return err;
13171308
}
13181309

1319-
bool BLEEndPoint::SendIndication(PacketBufferHandle && buf)
1310+
CHIP_ERROR BLEEndPoint::SendIndication(PacketBufferHandle && buf)
13201311
{
13211312
mConnStateFlags.Set(ConnectionStateFlag::kGattOperationInFlight);
13221313

1323-
return mBle->mPlatformDelegate->SendIndication(mConnObj, &CHIP_BLE_SVC_ID, &CHIP_BLE_CHAR_2_UUID, std::move(buf));
1314+
auto err = mBle->mPlatformDelegate->SendIndication(mConnObj, &CHIP_BLE_SVC_ID, &CHIP_BLE_CHAR_2_UUID, std::move(buf));
1315+
VerifyOrReturnError(err == CHIP_NO_ERROR, err, ChipLogError(Ble, "Send indication failed: %" CHIP_ERROR_FORMAT, err.Format()));
1316+
1317+
return err;
13241318
}
13251319

13261320
CHIP_ERROR BLEEndPoint::StartConnectTimer()

src/ble/BLEEndPoint.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -169,8 +169,8 @@ class DLL_EXPORT BLEEndPoint
169169
CHIP_ERROR ContinueMessageSend();
170170
CHIP_ERROR DoSendStandAloneAck();
171171
CHIP_ERROR SendCharacteristic(PacketBufferHandle && buf);
172-
bool SendIndication(PacketBufferHandle && buf);
173-
bool SendWrite(PacketBufferHandle && buf);
172+
CHIP_ERROR SendIndication(PacketBufferHandle && buf);
173+
CHIP_ERROR SendWrite(PacketBufferHandle && buf);
174174

175175
// Receive path:
176176
CHIP_ERROR HandleConnectComplete();

src/ble/BlePlatformDelegate.h

+10-13
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
#error "Please include <ble/Ble.h> instead!"
2929
#endif
3030

31+
#include <lib/core/CHIPError.h>
3132
#include <lib/support/DLLUtil.h>
3233
#include <system/SystemPacketBuffer.h>
3334

@@ -48,30 +49,26 @@ class DLL_EXPORT BlePlatformDelegate
4849
// Following APIs must be implemented by platform:
4950

5051
// Subscribe to updates and indications on the specfied characteristic
51-
virtual bool SubscribeCharacteristic(BLE_CONNECTION_OBJECT connObj, const ChipBleUUID * svcId, const ChipBleUUID * charId) = 0;
52+
virtual CHIP_ERROR SubscribeCharacteristic(BLE_CONNECTION_OBJECT connObj, const ChipBleUUID * svcId,
53+
const ChipBleUUID * charId) = 0;
5254

5355
// Unsubscribe from updates and indications on the specified characteristic
54-
virtual bool UnsubscribeCharacteristic(BLE_CONNECTION_OBJECT connObj, const ChipBleUUID * svcId,
55-
const ChipBleUUID * charId) = 0;
56+
virtual CHIP_ERROR UnsubscribeCharacteristic(BLE_CONNECTION_OBJECT connObj, const ChipBleUUID * svcId,
57+
const ChipBleUUID * charId) = 0;
5658

5759
// Close the underlying BLE connection.
58-
virtual bool CloseConnection(BLE_CONNECTION_OBJECT connObj) = 0;
60+
virtual CHIP_ERROR CloseConnection(BLE_CONNECTION_OBJECT connObj) = 0;
5961

6062
// Get MTU size negotiated for specified BLE connection. Return value of 0 means MTU size could not be determined.
6163
virtual uint16_t GetMTU(BLE_CONNECTION_OBJECT connObj) const = 0;
6264

63-
// Data path calling convention:
64-
// A 'true' return value from a Send* function indicates that the characteristic was written or updated
65-
// successfully. A 'false' value indicates failure, and is used to report this failure to the user via the return
66-
// value of chipConnection::SendMessage.
67-
6865
// Send GATT characteristic indication request
69-
virtual bool SendIndication(BLE_CONNECTION_OBJECT connObj, const ChipBleUUID * svcId, const ChipBleUUID * charId,
70-
PacketBufferHandle pBuf) = 0;
66+
virtual CHIP_ERROR SendIndication(BLE_CONNECTION_OBJECT connObj, const ChipBleUUID * svcId, const ChipBleUUID * charId,
67+
PacketBufferHandle pBuf) = 0;
7168

7269
// Send GATT characteristic write request
73-
virtual bool SendWriteRequest(BLE_CONNECTION_OBJECT connObj, const ChipBleUUID * svcId, const ChipBleUUID * charId,
74-
PacketBufferHandle pBuf) = 0;
70+
virtual CHIP_ERROR SendWriteRequest(BLE_CONNECTION_OBJECT connObj, const ChipBleUUID * svcId, const ChipBleUUID * charId,
71+
PacketBufferHandle pBuf) = 0;
7572
};
7673

7774
} /* namespace Ble */

src/ble/tests/TestBleLayer.cpp

+14-10
Original file line numberDiff line numberDiff line change
@@ -132,19 +132,23 @@ class TestBleLayer : public BleLayer,
132132
///
133133
// Implementation of BlePlatformDelegate
134134

135-
bool SubscribeCharacteristic(BLE_CONNECTION_OBJECT, const ChipBleUUID *, const ChipBleUUID *) override { return true; }
136-
bool UnsubscribeCharacteristic(BLE_CONNECTION_OBJECT, const ChipBleUUID *, const ChipBleUUID *) override { return true; }
137-
bool CloseConnection(BLE_CONNECTION_OBJECT connObj) override { return true; }
138-
uint16_t GetMTU(BLE_CONNECTION_OBJECT connObj) const override { return 0; }
139-
bool SendIndication(BLE_CONNECTION_OBJECT connObj, const ChipBleUUID * svcId, const ChipBleUUID * charId,
140-
PacketBufferHandle pBuf) override
135+
CHIP_ERROR SubscribeCharacteristic(BLE_CONNECTION_OBJECT, const ChipBleUUID *, const ChipBleUUID *) override
141136
{
142-
return true;
137+
return CHIP_NO_ERROR;
143138
}
144-
bool SendWriteRequest(BLE_CONNECTION_OBJECT connObj, const ChipBleUUID * svcId, const ChipBleUUID * charId,
145-
PacketBufferHandle pBuf) override
139+
CHIP_ERROR UnsubscribeCharacteristic(BLE_CONNECTION_OBJECT, const ChipBleUUID *, const ChipBleUUID *) override
146140
{
147-
return true;
141+
return CHIP_NO_ERROR;
142+
}
143+
CHIP_ERROR CloseConnection(BLE_CONNECTION_OBJECT) override { return CHIP_NO_ERROR; }
144+
uint16_t GetMTU(BLE_CONNECTION_OBJECT) const override { return 0; }
145+
CHIP_ERROR SendIndication(BLE_CONNECTION_OBJECT, const ChipBleUUID *, const ChipBleUUID *, PacketBufferHandle) override
146+
{
147+
return CHIP_NO_ERROR;
148+
}
149+
CHIP_ERROR SendWriteRequest(BLE_CONNECTION_OBJECT, const ChipBleUUID *, const ChipBleUUID *, PacketBufferHandle) override
150+
{
151+
return CHIP_NO_ERROR;
148152
}
149153

150154
private:

src/platform/ASR/BLEManagerImpl.cpp

+14-17
Original file line numberDiff line numberDiff line change
@@ -284,25 +284,27 @@ void BLEManagerImpl::_OnPlatformEvent(const ChipDeviceEvent * event)
284284
}
285285
}
286286

287-
bool BLEManagerImpl::SubscribeCharacteristic(BLE_CONNECTION_OBJECT conId, const ChipBleUUID * svcId, const ChipBleUUID * charId)
287+
CHIP_ERROR BLEManagerImpl::SubscribeCharacteristic(BLE_CONNECTION_OBJECT conId, const ChipBleUUID * svcId,
288+
const ChipBleUUID * charId)
288289
{
289290
log_i("%s:%s:%d\r\n", "BLEManagerImpl", __func__, __LINE__);
290291
ChipLogProgress(DeviceLayer, "BLEManagerImpl::SubscribeCharacteristic() not supported");
291-
return false;
292+
return CHIP_ERROR_NOT_IMPLEMENTED;
292293
}
293294

294-
bool BLEManagerImpl::UnsubscribeCharacteristic(BLE_CONNECTION_OBJECT conId, const ChipBleUUID * svcId, const ChipBleUUID * charId)
295+
CHIP_ERROR BLEManagerImpl::UnsubscribeCharacteristic(BLE_CONNECTION_OBJECT conId, const ChipBleUUID * svcId,
296+
const ChipBleUUID * charId)
295297
{
296298
log_i("%s:%s:%d\r\n", "BLEManagerImpl", __func__, __LINE__);
297299
ChipLogProgress(DeviceLayer, "BLEManagerImpl::UnsubscribeCharacteristic() not supported");
298-
return false;
300+
return CHIP_ERROR_NOT_IMPLEMENTED;
299301
}
300302

301-
bool BLEManagerImpl::CloseConnection(BLE_CONNECTION_OBJECT conId)
303+
CHIP_ERROR BLEManagerImpl::CloseConnection(BLE_CONNECTION_OBJECT conId)
302304
{
303305
log_i("%s:%s:%d\r\n", "BLEManagerImpl", __func__, __LINE__);
304306
matter_close_connection(conId);
305-
return true;
307+
return CHIP_NO_ERROR;
306308
}
307309

308310
uint16_t BLEManagerImpl::GetMTU(BLE_CONNECTION_OBJECT conId) const
@@ -324,8 +326,8 @@ uint16_t BLEManagerImpl::GetMTU(BLE_CONNECTION_OBJECT conId) const
324326
}
325327
}
326328

327-
bool BLEManagerImpl::SendIndication(BLE_CONNECTION_OBJECT conId, const ChipBleUUID * svcId, const ChipBleUUID * charId,
328-
PacketBufferHandle data)
329+
CHIP_ERROR BLEManagerImpl::SendIndication(BLE_CONNECTION_OBJECT conId, const ChipBleUUID * svcId, const ChipBleUUID * charId,
330+
PacketBufferHandle data)
329331
{
330332
CHIP_ERROR err = CHIP_NO_ERROR;
331333
CHIPoBLEConState * conState = GetConnectionState(conId);
@@ -335,20 +337,15 @@ bool BLEManagerImpl::SendIndication(BLE_CONNECTION_OBJECT conId, const ChipBleUU
335337
matter_tx_char_send_indication(conId, data->DataLength(), data->Start());
336338

337339
exit:
338-
if (err != CHIP_NO_ERROR)
339-
{
340-
ChipLogError(DeviceLayer, "BLEManagerImpl::SendIndication() failed: %s", ErrorStr(err));
341-
return false;
342-
}
343-
return true;
340+
return err;
344341
}
345342

346-
bool BLEManagerImpl::SendWriteRequest(BLE_CONNECTION_OBJECT conId, const ChipBleUUID * svcId, const ChipBleUUID * charId,
347-
PacketBufferHandle data)
343+
CHIP_ERROR BLEManagerImpl::SendWriteRequest(BLE_CONNECTION_OBJECT conId, const ChipBleUUID * svcId, const ChipBleUUID * charId,
344+
PacketBufferHandle data)
348345
{
349346
log_i("%s:%s:%d\r\n", "BLEManagerImpl", __func__, __LINE__);
350347
ChipLogError(DeviceLayer, "BLEManagerImpl::SendWriteRequest() not supported");
351-
return false;
348+
return CHIP_ERROR_NOT_IMPLEMENTED;
352349
}
353350

354351
void BLEManagerImpl::NotifyChipConnectionClosed(BLE_CONNECTION_OBJECT conId) {}

src/platform/ASR/BLEManagerImpl.h

+9-9
Original file line numberDiff line numberDiff line change
@@ -53,16 +53,16 @@ class BLEManagerImpl final : public BLEManager,
5353

5454
// ===== Members that implement virtual methods on BlePlatformDelegate.
5555

56-
bool SubscribeCharacteristic(BLE_CONNECTION_OBJECT conId, const Ble::ChipBleUUID * svcId,
57-
const Ble::ChipBleUUID * charId) override;
58-
bool UnsubscribeCharacteristic(BLE_CONNECTION_OBJECT conId, const Ble::ChipBleUUID * svcId,
59-
const Ble::ChipBleUUID * charId) override;
60-
bool CloseConnection(BLE_CONNECTION_OBJECT conId) override;
56+
CHIP_ERROR SubscribeCharacteristic(BLE_CONNECTION_OBJECT conId, const Ble::ChipBleUUID * svcId,
57+
const Ble::ChipBleUUID * charId) override;
58+
CHIP_ERROR UnsubscribeCharacteristic(BLE_CONNECTION_OBJECT conId, const Ble::ChipBleUUID * svcId,
59+
const Ble::ChipBleUUID * charId) override;
60+
CHIP_ERROR CloseConnection(BLE_CONNECTION_OBJECT conId) override;
6161
uint16_t GetMTU(BLE_CONNECTION_OBJECT conId) const override;
62-
bool SendIndication(BLE_CONNECTION_OBJECT conId, const Ble::ChipBleUUID * svcId, const Ble::ChipBleUUID * charId,
63-
System::PacketBufferHandle data) override;
64-
bool SendWriteRequest(BLE_CONNECTION_OBJECT conId, const Ble::ChipBleUUID * svcId, const Ble::ChipBleUUID * charId,
65-
System::PacketBufferHandle data) override;
62+
CHIP_ERROR SendIndication(BLE_CONNECTION_OBJECT conId, const Ble::ChipBleUUID * svcId, const Ble::ChipBleUUID * charId,
63+
System::PacketBufferHandle data) override;
64+
CHIP_ERROR SendWriteRequest(BLE_CONNECTION_OBJECT conId, const Ble::ChipBleUUID * svcId, const Ble::ChipBleUUID * charId,
65+
System::PacketBufferHandle data) override;
6666

6767
// ===== Members that implement virtual methods on BleApplicationDelegate.
6868

src/platform/Ameba/BLEManagerImpl.cpp

+14-17
Original file line numberDiff line numberDiff line change
@@ -511,19 +511,21 @@ void BLEManagerImpl::_OnPlatformEvent(const ChipDeviceEvent * event)
511511
}
512512
}
513513

514-
bool BLEManagerImpl::SubscribeCharacteristic(BLE_CONNECTION_OBJECT conId, const ChipBleUUID * svcId, const ChipBleUUID * charId)
514+
CHIP_ERROR BLEManagerImpl::SubscribeCharacteristic(BLE_CONNECTION_OBJECT conId, const ChipBleUUID * svcId,
515+
const ChipBleUUID * charId)
515516
{
516517
ChipLogProgress(DeviceLayer, "BLEManagerImpl::SubscribeCharacteristic() not supported");
517-
return false;
518+
return CHIP_ERROR_NOT_IMPLEMENTED;
518519
}
519520

520-
bool BLEManagerImpl::UnsubscribeCharacteristic(BLE_CONNECTION_OBJECT conId, const ChipBleUUID * svcId, const ChipBleUUID * charId)
521+
CHIP_ERROR BLEManagerImpl::UnsubscribeCharacteristic(BLE_CONNECTION_OBJECT conId, const ChipBleUUID * svcId,
522+
const ChipBleUUID * charId)
521523
{
522524
ChipLogProgress(DeviceLayer, "BLEManagerImpl::UnsubscribeCharacteristic() not supported");
523-
return false;
525+
return CHIP_ERROR_NOT_IMPLEMENTED;
524526
}
525527

526-
bool BLEManagerImpl::CloseConnection(BLE_CONNECTION_OBJECT conId)
528+
CHIP_ERROR BLEManagerImpl::CloseConnection(BLE_CONNECTION_OBJECT conId)
527529
{
528530
CHIP_ERROR err;
529531
ChipLogProgress(DeviceLayer, "Closing BLE GATT connection (con %u)", conId);
@@ -543,7 +545,7 @@ bool BLEManagerImpl::CloseConnection(BLE_CONNECTION_OBJECT conId)
543545
mFlags.Clear(Flags::kAdvertisingConfigured);
544546
PlatformMgr().ScheduleWork(DriveBLEState, 0);
545547

546-
return (err == CHIP_NO_ERROR);
548+
return err;
547549
}
548550

549551
uint16_t BLEManagerImpl::GetMTU(BLE_CONNECTION_OBJECT conId) const
@@ -557,20 +559,20 @@ uint16_t BLEManagerImpl::GetMTU(BLE_CONNECTION_OBJECT conId) const
557559
return mtu;
558560
}
559561

560-
bool BLEManagerImpl::SendWriteRequest(BLE_CONNECTION_OBJECT conId, const ChipBleUUID * svcId, const ChipBleUUID * charId,
561-
PacketBufferHandle pBuf)
562+
CHIP_ERROR BLEManagerImpl::SendWriteRequest(BLE_CONNECTION_OBJECT conId, const ChipBleUUID * svcId, const ChipBleUUID * charId,
563+
PacketBufferHandle pBuf)
562564
{
563565
ChipLogError(DeviceLayer, "BLEManagerImpl::SendWriteRequest() not supported");
564-
return false;
566+
return CHIP_ERROR_NOT_IMPLEMENTED;
565567
}
566568

567569
void BLEManagerImpl::NotifyChipConnectionClosed(BLE_CONNECTION_OBJECT conId)
568570
{
569571
// Nothing to do
570572
}
571573

572-
bool BLEManagerImpl::SendIndication(BLE_CONNECTION_OBJECT conId, const ChipBleUUID * svcId, const ChipBleUUID * charId,
573-
PacketBufferHandle data)
574+
CHIP_ERROR BLEManagerImpl::SendIndication(BLE_CONNECTION_OBJECT conId, const ChipBleUUID * svcId, const ChipBleUUID * charId,
575+
PacketBufferHandle data)
574576
{
575577
CHIP_ERROR err = CHIP_NO_ERROR;
576578

@@ -583,12 +585,7 @@ bool BLEManagerImpl::SendIndication(BLE_CONNECTION_OBJECT conId, const ChipBleUU
583585
#endif
584586

585587
exit:
586-
if (err != CHIP_NO_ERROR)
587-
{
588-
ChipLogError(DeviceLayer, "BLEManagerImpl::SendIndication() failed: %s", ErrorStr(err));
589-
return false;
590-
}
591-
return true;
588+
return err;
592589
}
593590

594591
/*******************************************************************************

0 commit comments

Comments
 (0)