From 9c14b6c21d9385728d64d2ecf4b97b68a0a72360 Mon Sep 17 00:00:00 2001 From: lee Date: Fri, 14 Oct 2022 15:33:50 +0800 Subject: [PATCH] ohos_bt optimize Signed-off-by: lee --- frameworks/inner/c_adapter/ohos_bt_gap.cpp | 40 +++--- frameworks/inner/c_adapter/ohos_bt_gatt.cpp | 13 +- .../inner/c_adapter/ohos_bt_gatt_client.cpp | 68 +++++----- .../inner/c_adapter/ohos_bt_gatt_server.cpp | 116 ++++++++++++------ .../inner/src/bluetooth_gatt_client.cpp | 2 +- 5 files changed, 148 insertions(+), 91 deletions(-) diff --git a/frameworks/inner/c_adapter/ohos_bt_gap.cpp b/frameworks/inner/c_adapter/ohos_bt_gap.cpp index 5b642ab4..0c9a5736 100644 --- a/frameworks/inner/c_adapter/ohos_bt_gap.cpp +++ b/frameworks/inner/c_adapter/ohos_bt_gap.cpp @@ -59,7 +59,7 @@ public: cvtTransport = OHOS_BT_TRANSPORT_BR_EDR; } HILOGI("transport: %{public}d, status: %{public}d", cvtTransport, status); - if (g_GapCallback != NULL && g_GapCallback->stateChangeCallback != NULL) { + if (g_GapCallback != nullptr && g_GapCallback->stateChangeCallback != nullptr) { g_GapCallback->stateChangeCallback(cvtTransport, status); } else { HILOGI("callback func is null!"); @@ -102,7 +102,7 @@ public: transport = OHOS_BT_TRANSPORT_LE; } HILOGI("device: %{public}s, transport:%{public}d", GET_ENCRYPT_ADDR(device), transport); - if (g_GapCallback != NULL && g_GapCallback->pairRequestedCallback != NULL) { + if (g_GapCallback != nullptr && g_GapCallback->pairRequestedCallback != nullptr) { g_GapCallback->pairRequestedCallback(&remoteAddr, transport); } else { HILOGW("callback func is null!"); @@ -125,7 +125,7 @@ public: BdAddr remoteAddr; GetAddrFromString(device.GetDeviceAddr(), remoteAddr.addr); HILOGI("device: %{public}s", GET_ENCRYPT_ADDR(device)); - if (g_GapCallback == NULL || g_GapCallback->pairConfiremedCallback == NULL) { + if (g_GapCallback == nullptr || g_GapCallback->pairConfiremedCallback == nullptr) { HILOGW("callback func is null!"); return; } @@ -151,7 +151,7 @@ public: void OnScanModeChanged(int mode) { HILOGI("mode: %{public}d", mode); - if (g_GapCallback != NULL && g_GapCallback->scanModeChangedCallback != NULL) { + if (g_GapCallback != nullptr && g_GapCallback->scanModeChangedCallback != nullptr) { g_GapCallback->scanModeChangedCallback(mode); } else { HILOGW("mode: %{public}d, but callback is null!", mode); @@ -186,7 +186,7 @@ static BluetoothHostObserverWapper g_hostObserver; bool EnableBle(void) { HILOGI("enter"); - if (g_BluetoothHost == NULL) { + if (g_BluetoothHost == nullptr) { g_BluetoothHost = &BluetoothHost::GetDefaultHost(); } @@ -203,7 +203,7 @@ bool EnableBle(void) bool DisableBle(void) { HILOGI("enter"); - if (g_BluetoothHost == NULL) { + if (g_BluetoothHost == nullptr) { g_BluetoothHost = &BluetoothHost::GetDefaultHost(); } @@ -220,7 +220,7 @@ bool DisableBle(void) bool EnableBt(void) { HILOGI("enter"); - if (g_BluetoothHost == NULL) { + if (g_BluetoothHost == nullptr) { g_BluetoothHost = &BluetoothHost::GetDefaultHost(); } @@ -238,7 +238,7 @@ bool EnableBt(void) bool DisableBt(void) { HILOGI("enter"); - if (g_BluetoothHost == NULL) { + if (g_BluetoothHost == nullptr) { g_BluetoothHost = &BluetoothHost::GetDefaultHost(); } @@ -256,7 +256,7 @@ bool DisableBt(void) int GetBtState() { HILOGI("enter"); - if (g_BluetoothHost == NULL) { + if (g_BluetoothHost == nullptr) { g_BluetoothHost = &BluetoothHost::GetDefaultHost(); } @@ -267,7 +267,7 @@ int GetBtState() bool IsBleEnabled() { - if (g_BluetoothHost == NULL) { + if (g_BluetoothHost == nullptr) { g_BluetoothHost = &BluetoothHost::GetDefaultHost(); } @@ -279,11 +279,11 @@ bool IsBleEnabled() bool GetLocalAddr(unsigned char *mac, unsigned int len) { HILOGI("enter"); - if (mac == NULL || len < OHOS_BD_ADDR_LEN) { - HILOGE("invalid param : mac:%{public}p, len:%{public}d", mac, len); + if (mac == nullptr || len < OHOS_BD_ADDR_LEN) { + HILOGE("invalid param, len:%{public}d", len); return false; } - if (g_BluetoothHost == NULL) { + if (g_BluetoothHost == nullptr) { g_BluetoothHost = &BluetoothHost::GetDefaultHost(); } @@ -297,11 +297,11 @@ bool SetLocalName(unsigned char *localName, unsigned char length) { HILOGI("enter"); if (localName == nullptr) { - HILOGE("invalid param: localName(%{public}p)", localName); + HILOGE("localName is null"); return false; } - if (g_BluetoothHost == NULL) { + if (g_BluetoothHost == nullptr) { g_BluetoothHost = &BluetoothHost::GetDefaultHost(); } @@ -314,7 +314,7 @@ bool SetLocalName(unsigned char *localName, unsigned char length) bool SetBtScanMode(int mode, int duration) { HILOGI("mode: %{public}d, duration: %{public}d", mode, duration); - if (g_BluetoothHost == NULL) { + if (g_BluetoothHost == nullptr) { g_BluetoothHost = &BluetoothHost::GetDefaultHost(); } bool ret = g_BluetoothHost->SetBtScanMode(mode, duration); @@ -362,8 +362,12 @@ bool SetDevicePairingConfirmation(const BdAddr *bdAddr, int transport, bool acce int GapRegisterCallbacks(BtGapCallBacks *func) { - HILOGI(); - if (g_BluetoothHost == NULL) { + HILOGI("enter"); + if (func == nullptr) { + HILOGE("func is null."); + return OHOS_BT_STATUS_PARM_INVALID; + } + if (g_BluetoothHost == nullptr) { g_BluetoothHost = &BluetoothHost::GetDefaultHost(); } g_GapCallback = func; diff --git a/frameworks/inner/c_adapter/ohos_bt_gatt.cpp b/frameworks/inner/c_adapter/ohos_bt_gatt.cpp index 0911fded..552fd9a2 100644 --- a/frameworks/inner/c_adapter/ohos_bt_gatt.cpp +++ b/frameworks/inner/c_adapter/ohos_bt_gatt.cpp @@ -92,7 +92,11 @@ public: strStream >> strs; string address = result.GetPeripheralDevice().GetDeviceAddr(); HILOGI("device: %{public}s, scan data: %{public}s", GetEncryptAddr(address).c_str(), strs.c_str()); - g_AppCallback->scanResultCb(&scanResult); + if (g_AppCallback != nullptr && g_AppCallback->scanResultCb != nullptr) { + g_AppCallback->scanResultCb(&scanResult); + } else { + HILOGW("call back is null."); + } } /** @@ -129,6 +133,8 @@ public: HILOGI("adv started. advId_: %{public}d", advId_); if (g_AppCallback != nullptr && g_AppCallback->advEnableCb != nullptr) { g_AppCallback->advEnableCb(advId_, 0); + } else { + HILOGW("call back is null."); } } @@ -390,6 +396,10 @@ int BleStopScan(void) int BleGattRegisterCallbacks(BtGattCallbacks *func) { HILOGI("BleGattRegisterCallbacks enter"); + if (func == nullptr) { + HILOGE("func is null."); + return OHOS_BT_STATUS_PARM_INVALID; + } g_AppCallback = func; if (g_scanCallback == nullptr) { @@ -426,7 +436,6 @@ int BleStartAdvEx(int *advId, const StartAdvRawData rawData, BleAdvParams advPar g_bleAdvCallbacks[i] = new BleAdvCallback(i); break; } - HILOGI("g_bleAdvCallbacks[%{public}d] = %{public}p.", i, g_bleAdvCallbacks[i]); } if (i == MAX_BLE_ADV_NUM) { diff --git a/frameworks/inner/c_adapter/ohos_bt_gatt_client.cpp b/frameworks/inner/c_adapter/ohos_bt_gatt_client.cpp index fe33561d..1033e4ac 100644 --- a/frameworks/inner/c_adapter/ohos_bt_gatt_client.cpp +++ b/frameworks/inner/c_adapter/ohos_bt_gatt_client.cpp @@ -119,8 +119,8 @@ public: void OnConnectionStateChanged(int connectionState, int ret) { - if (appCallback_ == nullptr || appCallback_->ConnectionStateCb == NULL) { - HILOGI("callback null."); + if (appCallback_ == nullptr || appCallback_->ConnectionStateCb == nullptr) { + HILOGI("callback is null."); return; } @@ -131,8 +131,8 @@ public: void OnConnectionParameterChanged(int interval, int latency, int timeout, int status) { - if (appCallback_ == nullptr || appCallback_->connectParaUpdateCb == NULL) { - HILOGI("callback null."); + if (appCallback_ == nullptr || appCallback_->connectParaUpdateCb == nullptr) { + HILOGI("callback is null."); return; } @@ -143,8 +143,8 @@ public: void OnServicesDiscovered(int status) { - if (appCallback_ == nullptr || appCallback_->searchServiceCompleteCb == NULL) { - HILOGI("callback null."); + if (appCallback_ == nullptr || appCallback_->searchServiceCompleteCb == nullptr) { + HILOGI("callback is null."); return; } @@ -154,8 +154,8 @@ public: void OnCharacteristicReadResult(const GattCharacteristic &characteristic, int ret) { - if (appCallback_ == nullptr || appCallback_->readCharacteristicCb == NULL) { - HILOGI("callback null."); + if (appCallback_ == nullptr || appCallback_->readCharacteristicCb == nullptr) { + HILOGI("callback is null."); return; } if (characteristic.GetService() == nullptr) { @@ -181,8 +181,8 @@ public: void OnCharacteristicWriteResult(const GattCharacteristic &characteristic, int ret) { - if (appCallback_ == nullptr || appCallback_->writeCharacteristicCb == NULL) { - HILOGI("callback null."); + if (appCallback_ == nullptr || appCallback_->writeCharacteristicCb == nullptr) { + HILOGI("callback is null."); return; } if (characteristic.GetService() == nullptr) { @@ -203,8 +203,8 @@ public: void OnDescriptorReadResult(const GattDescriptor &descriptor, int ret) { - if (appCallback_ == nullptr || appCallback_->readDescriptorCb == NULL) { - HILOGI("callback null."); + if (appCallback_ == nullptr || appCallback_->readDescriptorCb == nullptr) { + HILOGI("callback is null."); return; } @@ -234,7 +234,7 @@ public: void OnDescriptorWriteResult(const GattDescriptor &descriptor, int ret) { if (appCallback_ == nullptr || appCallback_->writeDescriptorCb == NULL) { - HILOGI("callback null."); + HILOGI("callback is null."); return; } @@ -260,8 +260,8 @@ public: void OnMtuUpdate(int mtu, int ret) { - if (appCallback_ == nullptr || appCallback_->configureMtuSizeCb == NULL) { - HILOGI("callback null."); + if (appCallback_ == nullptr || appCallback_->configureMtuSizeCb == nullptr) { + HILOGI("callback is null."); return; } @@ -271,8 +271,8 @@ public: void OnSetNotifyCharacteristic(int status) { - if (appCallback_ == nullptr || appCallback_->registerNotificationCb == NULL) { - HILOGI("callback null."); + if (appCallback_ == nullptr || appCallback_->registerNotificationCb == nullptr) { + HILOGI("callback is null."); return; } @@ -282,8 +282,8 @@ public: void OnCharacteristicChanged(const GattCharacteristic &characteristic) { - if (appCallback_ == nullptr || appCallback_->notificationCb == NULL) { - HILOGI("callback null."); + if (appCallback_ == nullptr || appCallback_->notificationCb == nullptr) { + HILOGI("callback is null."); return; } if (characteristic.GetService() == nullptr) { @@ -372,6 +372,10 @@ int BleGattcUnRegister(int clientId) int BleGattcConnect(int clientId, BtGattClientCallbacks *func, const BdAddr *bdAddr, bool isAutoConnect, BtTransportType transport) { + if (func == nullptr || bdAddr == nullptr) { + HILOGE("func or bdAddr is null."); + return OHOS_BT_STATUS_PARM_INVALID; + } ClientIterator iter = GATTCLIENT.find(clientId); if (iter == GATTCLIENT.end()) { HILOGE("clientId: %{public}d, has not been registered.", clientId); @@ -445,7 +449,7 @@ int BleGattcDisconnect(int clientId) */ int BleGattcSearchServices(int clientId) { - HILOGI("start, clientId: %{public}d", clientId); + HILOGI("clientId: %{public}d", clientId); ClientIterator iter = GATTCLIENT.find(clientId); if (iter == GATTCLIENT.end()) { HILOGE("clientId: %{public}d, has not been registered.", clientId); @@ -473,7 +477,7 @@ int BleGattcSearchServices(int clientId) */ bool BleGattcGetService(int clientId, BtUuid serviceUuid) { - HILOGI("start, clientId: %{public}d", clientId); + HILOGI("clientId: %{public}d", clientId); ClientIterator iter = GATTCLIENT.find(clientId); if (iter == GATTCLIENT.end()) { HILOGE("clientId has not been registered."); @@ -513,10 +517,10 @@ bool BleGattcGetService(int clientId, BtUuid serviceUuid) */ int BleGattcReadCharacteristic(int clientId, BtGattCharacteristic characteristic) { - HILOGI("start, clientId: %{public}d", clientId); + HILOGI("clientId: %{public}d", clientId); GattClient *client = nullptr; GattCharacteristic *tmpCharac = GattcFindCharacteristic(clientId, &client, characteristic); - if (tmpCharac == nullptr) { + if (tmpCharac == nullptr || client == nullptr) { HILOGE("find characteristic fail."); return OHOS_BT_STATUS_FAIL; } @@ -539,10 +543,10 @@ int BleGattcReadCharacteristic(int clientId, BtGattCharacteristic characteristic int BleGattcWriteCharacteristic(int clientId, BtGattCharacteristic characteristic, BtGattWriteType writeType, int len, const char *value) { - HILOGI("start, clientId: %{public}d", clientId); + HILOGI("clientId:%{public}d, writeType:%{public}d, len:%{public}d", clientId, writeType, len); GattClient *client = nullptr; GattCharacteristic *tmpCharac = GattcFindCharacteristic(clientId, &client, characteristic); - if (tmpCharac == nullptr) { + if (tmpCharac == nullptr || client == nullptr) { HILOGE("find characteristic fail."); return OHOS_BT_STATUS_FAIL; } @@ -564,10 +568,10 @@ int BleGattcWriteCharacteristic(int clientId, BtGattCharacteristic characteristi */ int BleGattcReadDescriptor(int clientId, BtGattDescriptor descriptor) { - HILOGI("start, clientId: %{public}d", clientId); + HILOGI("clientId: %{public}d", clientId); GattClient *client = nullptr; GattCharacteristic *tmpCharac = GattcFindCharacteristic(clientId, &client, descriptor.characteristic); - if (tmpCharac == nullptr) { + if (tmpCharac == nullptr || client == nullptr) { HILOGE("find characteristic fail."); return OHOS_BT_STATUS_FAIL; } @@ -595,10 +599,10 @@ int BleGattcReadDescriptor(int clientId, BtGattDescriptor descriptor) */ int BleGattcWriteDescriptor(int clientId, BtGattDescriptor descriptor, int len, const char *value) { - HILOGI("start, clientId: %{public}d", clientId); + HILOGI("clientId:%{public}d, len:%{public}d", clientId, len); GattClient *client = nullptr; GattCharacteristic *tmpCharac = GattcFindCharacteristic(clientId, &client, descriptor.characteristic); - if (tmpCharac == nullptr) { + if (tmpCharac == nullptr || client == nullptr) { HILOGE("find characteristic fail."); return OHOS_BT_STATUS_FAIL; } @@ -625,7 +629,7 @@ int BleGattcWriteDescriptor(int clientId, BtGattDescriptor descriptor, int len, */ int BleGattcConfigureMtuSize(int clientId, int mtuSize) { - HILOGI("start, clientId: %{public}d", clientId); + HILOGI("clientId:%{public}d, mtuSize:%{public}d", clientId, mtuSize); ClientIterator iter = GATTCLIENT.find(clientId); if (iter == GATTCLIENT.end()) { HILOGE("GattcFindCharacteristic, clientId: %{public}d, has not been registered.", clientId); @@ -653,10 +657,10 @@ int BleGattcConfigureMtuSize(int clientId, int mtuSize) */ int BleGattcRegisterNotification(int clientId, BtGattCharacteristic characteristic, bool enable) { - HILOGI("start, clientId: %{public}d", clientId); + HILOGI("clientId:%{public}d, enable:%{public}d", clientId, enable); GattClient *client = nullptr; GattCharacteristic *tmpCharac = GattcFindCharacteristic(clientId, &client, characteristic); - if (tmpCharac == nullptr) { + if (tmpCharac == nullptr || client == nullptr) { HILOGE("find characteristic fail."); return OHOS_BT_STATUS_FAIL; } diff --git a/frameworks/inner/c_adapter/ohos_bt_gatt_server.cpp b/frameworks/inner/c_adapter/ohos_bt_gatt_server.cpp index 720f4f3f..9d3c152a 100644 --- a/frameworks/inner/c_adapter/ohos_bt_gatt_server.cpp +++ b/frameworks/inner/c_adapter/ohos_bt_gatt_server.cpp @@ -84,6 +84,10 @@ public: HILOGI("device: %{public}s, connect state: %{public}d", GET_ENCRYPT_ADDR(device), state); if (state == static_cast(BTConnectState::CONNECTED)) { + if (g_GattsCallback == nullptr || g_GattsCallback->connectServerCb == nullptr) { + HILOGW("call back is null."); + return; + } std::map::iterator iter; iter = FindDeviceRecord(dev); if (iter != g_MapConnectedDevice.end()) { @@ -98,6 +102,10 @@ public: } if (state == static_cast(BTConnectState::DISCONNECTED)) { + if (g_GattsCallback == nullptr || g_GattsCallback->disconnectServerCb == nullptr) { + HILOGW("call back is null."); + return; + } std::map::iterator iter; iter = FindDeviceRecord(dev); if (iter != g_MapConnectedDevice.end()) { @@ -113,7 +121,7 @@ public: int i; int err = OHOS_BT_STATUS_SUCCESS; for (i = 0; i < MAXIMUM_NUMBER_GATTSERVICE; i++) { - if (GATTSERVICE(serverId_, i) != NULL) { + if (GATTSERVICE(serverId_, i) != nullptr) { HILOGI("isAdding: %{public}d, srvcUuid: %{public}s, ind: %{public}s", GATTSERVICES(serverId_, i).isAdding, GATTSERVICE(serverId_, i)->GetUuid().ToString().c_str(), @@ -121,7 +129,7 @@ public: } else { HILOGE("services is empty!"); } - if (GATTSERVICE(serverId_, i) != NULL && + if (GATTSERVICE(serverId_, i) != nullptr && GATTSERVICES(serverId_, i).isAdding && GATTSERVICE(serverId_, i)->GetUuid().CompareTo(Service->GetUuid()) == 0) { GATTSERVICES(serverId_, i).isAdding = false; @@ -147,8 +155,10 @@ public: } } - if (g_GattsCallback != NULL && g_GattsCallback->serviceAddCb != NULL) { + if (g_GattsCallback != nullptr && g_GattsCallback->serviceStartCb != nullptr) { g_GattsCallback->serviceStartCb(err, serverId_, i); + } else { + HILOGW("call back is null."); } } @@ -174,8 +184,10 @@ public: readInfo.isLong = false; HILOGI("connId: %{public}d, requestId: %{public}d, attrHandle: %{public}d", iter->first, requestId, readInfo.attrHandle); - if (g_GattsCallback != NULL && g_GattsCallback->requestReadCb != NULL) { + if (g_GattsCallback != nullptr && g_GattsCallback->requestReadCb != nullptr) { g_GattsCallback->requestReadCb(readInfo); + } else { + HILOGW("call back is null."); } } @@ -205,8 +217,10 @@ public: writeInfo.isPrep = false; HILOGI("connId: %{public}d, requestId: %{public}d, attrHandle: %{public}d, valueLen: %{public}d", iter->first, requestId, writeInfo.attrHandle, writeInfo.length); - if (g_GattsCallback != NULL && g_GattsCallback->requestWriteCb != NULL) { + if (g_GattsCallback != nullptr && g_GattsCallback->requestWriteCb != nullptr) { g_GattsCallback->requestWriteCb(writeInfo); + } else { + HILOGW("call back is null."); } } @@ -230,8 +244,10 @@ public: readInfo.attrHandle = descriptor.GetHandle() - GATTSERVICES(serverId_, srvcHandle).handleOffset; readInfo.offset = 0; readInfo.isLong = false; - if (g_GattsCallback != NULL && g_GattsCallback->requestReadCb != NULL) { + if (g_GattsCallback != nullptr && g_GattsCallback->requestReadCb != nullptr) { g_GattsCallback->requestReadCb(readInfo); + } else { + HILOGW("call back is null."); } } @@ -260,8 +276,10 @@ public: writeInfo.length = length; writeInfo.needRsp = true; writeInfo.isPrep = false; - if (g_GattsCallback != NULL && g_GattsCallback->requestWriteCb != NULL) { + if (g_GattsCallback != nullptr && g_GattsCallback->requestWriteCb != nullptr) { g_GattsCallback->requestWriteCb(writeInfo); + } else { + HILOGW("call back is null."); } } @@ -274,8 +292,10 @@ public: std::map::iterator iter; iter = FindDeviceRecord(dev); - if (g_GattsCallback != NULL && g_GattsCallback->mtuChangeCb != NULL) { + if (g_GattsCallback != nullptr && g_GattsCallback->mtuChangeCb != nullptr) { g_GattsCallback->mtuChangeCb(iter->first, mtu); + } else { + HILOGW("call back is null."); } } @@ -288,8 +308,10 @@ public: std::map::iterator iter; iter = FindDeviceRecord(dev); - if (g_GattsCallback != NULL && g_GattsCallback->indicationSentCb != NULL) { + if (g_GattsCallback != nullptr && g_GattsCallback->indicationSentCb != nullptr) { g_GattsCallback->indicationSentCb(iter->first, result); + } else { + HILOGW("call back is null."); } } @@ -324,7 +346,7 @@ static GattCharacteristic *FindCharacteristic(int serverId, int attrHandle, bool } for (int i = 0; i < MAXIMUM_NUMBER_GATTSERVICE; i++) { GattService *gattService = GATTSERVICE(serverId, i); - if (gattService == NULL) { + if (gattService == nullptr) { continue; } @@ -354,23 +376,23 @@ static GattCharacteristic *FindCharacteristic(int serverId, int attrHandle, bool int BleGattsRegister(BtUuid appUuid) { HILOGI("enter"); - if (g_GattsCallback == NULL) { + if (g_GattsCallback == nullptr) { HILOGE("callback is null, call BleGattsRegisterCallbacks first"); return OHOS_BT_STATUS_FAIL; } for (int i = 0; i < MAXIMUM_NUMBER_APPLICATION; i++) { - if (GATTSERVER(i) == NULL) { + if (GATTSERVER(i) == nullptr) { GattServerCallbackWapper *callbackWapper = new GattServerCallbackWapper(g_GattsCallback, i); GATTSERVER(i) = new GattServer(*callbackWapper); HILOGI("register gattServer: %{public}d", i); - if (g_GattsCallback->registerServerCb != NULL) { + if (g_GattsCallback->registerServerCb != nullptr) { g_GattsCallback->registerServerCb(0, i, &appUuid); } return OHOS_BT_STATUS_SUCCESS; } } - if (g_GattsCallback->registerServerCb != NULL) { + if (g_GattsCallback->registerServerCb != nullptr) { g_GattsCallback->registerServerCb(1, 0, &appUuid); } return OHOS_BT_STATUS_FAIL; @@ -386,11 +408,11 @@ int BleGattsRegister(BtUuid appUuid) */ int BleGattsUnRegister(int serverId) { - HILOGI("enter"); + HILOGI("serverId: %{public}d", serverId); if (serverId >= 0 && serverId < MAXIMUM_NUMBER_APPLICATION) { - if (GATTSERVER(serverId) != NULL) { + if (GATTSERVER(serverId) != nullptr) { delete GATTSERVER(serverId); - GATTSERVER(serverId) = NULL; + GATTSERVER(serverId) = nullptr; return OHOS_BT_STATUS_SUCCESS; } } @@ -410,12 +432,12 @@ int BleGattsUnRegister(int serverId) */ int BleGattsDisconnect(int serverId, BdAddr bdAddr, int connId) { - HILOGI("enter"); + HILOGI("serverId: %{public}d, connId: %{public}d", serverId, connId); if (serverId >= MAXIMUM_NUMBER_APPLICATION || serverId < 0) { return OHOS_BT_STATUS_PARM_INVALID; } - if (GATTSERVER(serverId) == NULL) { + if (GATTSERVER(serverId) == nullptr) { return OHOS_BT_STATUS_UNHANDLED; } @@ -424,7 +446,6 @@ int BleGattsDisconnect(int serverId, BdAddr bdAddr, int connId) BluetoothRemoteDevice device(strAddress, BT_TRANSPORT_BLE); GATTSERVER(serverId)->CancelConnection(device); - HILOGI("serverId: %{public}d, connId: %{public}d", serverId, connId); return OHOS_BT_STATUS_SUCCESS; } @@ -451,15 +472,17 @@ int BleGattsAddService(int serverId, BtUuid srvcUuid, bool isPrimary, int number UUID uuid(UUID::FromString(strUuid)); for (int i = 0; i < MAXIMUM_NUMBER_GATTSERVICE; i++) { - if (GATTSERVICE(serverId, i) == NULL) { + if (GATTSERVICE(serverId, i) == nullptr) { HILOGI("add srvcHandle: %{public}d", i); GATTSERVICE(serverId, i) = new GattService( uuid, i, number, isPrimary ? GattServiceType::PRIMARY : GattServiceType::SECONDARY); GATTSERVICES(serverId, i).maxNum = number; GATTSERVICES(serverId, i).index = i + 1; GATTSERVICES(serverId, i).isAdding = false; - if (g_GattsCallback != NULL && g_GattsCallback->serviceAddCb != NULL) { + if (g_GattsCallback != nullptr && g_GattsCallback->serviceAddCb != nullptr) { g_GattsCallback->serviceAddCb(0, serverId, &srvcUuid, i); + } else { + HILOGW("call back is null"); } return OHOS_BT_STATUS_SUCCESS; } @@ -531,8 +554,10 @@ int BleGattsAddCharacteristic(int serverId, int srvcHandle, BtUuid characUuid, GATTSERVICE(serverId, srvcHandle)->AddCharacteristic(characteristic); HILOGI("serverId: %{public}d, srvcHandle: %{public}d, charHandle: %{public}d", serverId, srvcHandle, chHandle); - if (g_GattsCallback != NULL && g_GattsCallback->characteristicAddCb != NULL) { + if (g_GattsCallback != nullptr && g_GattsCallback->characteristicAddCb != nullptr) { g_GattsCallback->characteristicAddCb(0, serverId, &characUuid, srvcHandle, chHandle); + } else { + HILOGW("callback is null."); } return OHOS_BT_STATUS_SUCCESS; } @@ -565,8 +590,10 @@ int BleGattsAddDescriptor(int serverId, int srvcHandle, BtUuid descUuid, int per characteristic.AddDescriptor(descriptor); HILOGI("serverId: %{public}d, srvcHandle: %{public}d, desHandle: %{public}d", serverId, srvcHandle, desHandle); - if (g_GattsCallback != NULL && g_GattsCallback->descriptorAddCb != NULL) { + if (g_GattsCallback != nullptr && g_GattsCallback->descriptorAddCb != nullptr) { g_GattsCallback->descriptorAddCb(0, serverId, &descUuid, srvcHandle, desHandle); + } else { + HILOGW("callback is null."); } return OHOS_BT_STATUS_SUCCESS; @@ -604,8 +631,10 @@ int BleGattsStopService(int serverId, int srvcHandle) HILOGI("serverId: %{public}d, srvcHandle: %{public}d", serverId, srvcHandle); GATTSERVICES(serverId, srvcHandle).isAdding = false; GATTSERVER(serverId)->RemoveGattService(*GATTSERVICE(serverId, srvcHandle)); - if (g_GattsCallback != NULL && g_GattsCallback->serviceStopCb != NULL) { + if (g_GattsCallback != nullptr && g_GattsCallback->serviceStopCb != nullptr) { g_GattsCallback->serviceStopCb(OHOS_BT_STATUS_SUCCESS, serverId, srvcHandle); + } else { + HILOGW("callback is null."); } return OHOS_BT_STATUS_SUCCESS; } @@ -624,9 +653,11 @@ int BleGattsDeleteService(int serverId, int srvcHandle) HILOGI("serverId: %{public}d, srvcHandle: %{public}d", serverId, srvcHandle); GATTSERVER(serverId)->RemoveGattService(*GATTSERVICE(serverId, srvcHandle)); delete GATTSERVICE(serverId, srvcHandle); - GATTSERVICE(serverId, srvcHandle) = NULL; - if (g_GattsCallback != NULL && g_GattsCallback->serviceDeleteCb != NULL) { + GATTSERVICE(serverId, srvcHandle) = nullptr; + if (g_GattsCallback != nullptr && g_GattsCallback->serviceDeleteCb != nullptr) { g_GattsCallback->serviceDeleteCb(OHOS_BT_STATUS_SUCCESS, serverId, srvcHandle); + } else { + HILOGW("callback is null."); } return OHOS_BT_STATUS_SUCCESS; } @@ -655,7 +686,12 @@ int BleGattsClearServices(int serverId) { */ int BleGattsSendResponse(int serverId, GattsSendRspParam *param) { - HILOGI("serverId: %{public}d", serverId); + if (param == nullptr) { + HILOGE("param is null, serverId: %{public}d", serverId); + return OHOS_BT_STATUS_FAIL; + } + HILOGI("serverId:%{public}d, attrHandle:%{public}d, valueLen:%{public}d", + serverId, param->attrHandle, param->valueLen); std::map::iterator iter; iter = g_MapConnectedDevice.find(param->connectId); @@ -665,14 +701,14 @@ int BleGattsSendResponse(int serverId, GattsSendRspParam *param) GetAddrFromByte(value.remoteAddr.addr, strAddress); BluetoothRemoteDevice device(strAddress, 1); - // request id - HILOGI("attrHandle: %{public}d", param->attrHandle); int ret = GATTSERVER(serverId)->SendResponse(device, param->attrHandle, param->status, 0, (unsigned char *)param->value, param->valueLen); - if (g_GattsCallback != NULL && g_GattsCallback->responseConfirmationCb != NULL) { + if (g_GattsCallback != nullptr && g_GattsCallback->responseConfirmationCb != nullptr) { g_GattsCallback->responseConfirmationCb(ret, param->attrHandle); + } else { + HILOGW("callback is null."); } return OHOS_BT_STATUS_SUCCESS; } @@ -690,7 +726,12 @@ int BleGattsSendResponse(int serverId, GattsSendRspParam *param) */ int BleGattsSendIndication(int serverId, GattsSendIndParam *param) { - HILOGI("serverId: %{public}d", serverId); + if (param == nullptr) { + HILOGE("param is null, serverId: %{public}d", serverId); + return OHOS_BT_STATUS_FAIL; + } + HILOGI("serverId: %{public}d, attrHandle:%{public}d, confirm:%{public}d, valueLen:%{public}d", + serverId, param->attrHandle, param->confirm, param->valueLen); std::map::iterator iter; iter = g_MapConnectedDevice.find(param->connectId); @@ -703,14 +744,12 @@ int BleGattsSendIndication(int serverId, GattsSendIndParam *param) int srvcHandle = 0; GattCharacteristic *appCharacteristic = FindCharacteristic(serverId, param->attrHandle, false, &srvcHandle); - if (appCharacteristic == NULL) { - HILOGE("not find characteristic, serverId:%{public}d, attrHandle:%{public}d", - serverId, param->attrHandle); + if (appCharacteristic == nullptr) { + HILOGE("not find characteristic"); return OHOS_BT_STATUS_FAIL; } - HILOGE("serverId:%{public}d, srvcHandle: %{public}d, attrHandle:%{public}d", - serverId, param->attrHandle, srvcHandle); + HILOGI("srvcHandle:%{public}d", srvcHandle); GattCharacteristic characteristic(appCharacteristic->GetUuid(), appCharacteristic->GetHandle() + GATTSERVICES(serverId, srvcHandle).handleOffset, appCharacteristic->GetPermissions(), @@ -747,7 +786,8 @@ int BleGattsSetEncryption(BdAddr bdAddr, BleSecAct secAct) { int BleGattsRegisterCallbacks(BtGattServerCallbacks *func) { HILOGI("enter"); - if (func == NULL) { + if (func == nullptr) { + HILOGE("func is null."); return OHOS_BT_STATUS_PARM_INVALID; } diff --git a/frameworks/inner/src/bluetooth_gatt_client.cpp b/frameworks/inner/src/bluetooth_gatt_client.cpp index 325abd7f..9720d333 100644 --- a/frameworks/inner/src/bluetooth_gatt_client.cpp +++ b/frameworks/inner/src/bluetooth_gatt_client.cpp @@ -752,7 +752,7 @@ int GattClient::WriteCharacteristic(GattCharacteristic &characteristic) pimpl->requestInformation_.context_.characteristic_ = &characteristic; pimpl->requestInformation_.doing_ = true; } else { - HILOGI("failed, result: %{public}d", result); + HILOGI("result: %{public}d", result); } return result; } -- Gitee