1 /* 2 * Copyright (c) 2023 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef CONNECTION_BLE_CLIENT_MOCK_H 17 #define CONNECTION_BLE_CLIENT_MOCK_H 18 19 #include <gmock/gmock.h> 20 21 #include "conn_log.h" 22 #include "softbus_adapter_bt_common.h" 23 #include "softbus_conn_ble_trans.h" 24 #include "softbus_adapter_ble_gatt_client.h" 25 #include "bus_center_info_key.h" 26 27 28 namespace OHOS { 29 class ConnectionBleClientInterface { 30 public: ConnectionBleClientInterface()31 ConnectionBleClientInterface() {}; ~ConnectionBleClientInterface()32 virtual ~ConnectionBleClientInterface() {}; 33 virtual int32_t SoftbusGattcSetFastestConn(int32_t clientId) = 0; 34 virtual int32_t SoftbusGattcRefreshServices(int32_t clientId) = 0; 35 virtual int32_t SoftbusGattcConnect(int32_t clientId, SoftBusBtAddr *addr) = 0; 36 virtual uint8_t *ConnGattTransRecv( 37 uint32_t connectionId, uint8_t *data, uint32_t dataLen, ConnBleReadBuffer *buffer, uint32_t *outLen) = 0; 38 virtual int32_t SoftbusGattcGetService(int32_t clientId, SoftBusBtUuid *serverUuid) = 0; 39 virtual int32_t SoftbusGattcSearchServices(int32_t clientId) = 0; 40 virtual int32_t SoftbusGattcRegisterNotification(int32_t clientId, 41 SoftBusBtUuid *serverUuid, SoftBusBtUuid *charaUuid, SoftBusBtUuid *descriptorUuid) = 0; 42 virtual int32_t SoftbusGattcConfigureMtuSize(int32_t clientId, int mtuSize) = 0; 43 virtual int32_t SoftbusBleGattcDisconnect(int32_t clientId, bool refreshGatt) = 0; 44 virtual int32_t SoftbusGattcWriteCharacteristic(int32_t clientId, SoftBusGattcData *clientData) = 0; 45 virtual int32_t SoftbusGattcSetPriority(int32_t clientId, SoftBusBtAddr *addr, 46 SoftbusBleGattPriority priority) = 0; 47 virtual int32_t LnnGetLocalStrInfo(InfoKey key, char *info, uint32_t len) = 0; 48 virtual int32_t LnnGetLocalNumInfo(InfoKey key, int32_t *info) = 0; 49 virtual int32_t ConnBlePostBytesInner( 50 uint32_t connectionId, uint8_t *data, uint32_t len, int32_t pid, int32_t flag, int32_t module, int64_t seq, 51 PostBytesFinishAction postBytesFinishAction) = 0; 52 }; 53 54 class ConnectionBleClientInterfaceMock : public ConnectionBleClientInterface { 55 public: 56 ConnectionBleClientInterfaceMock(); 57 ~ConnectionBleClientInterfaceMock() override; 58 MOCK_METHOD(int32_t, SoftbusGattcSetFastestConn, (int32_t), (override)); 59 MOCK_METHOD(int32_t, SoftbusGattcRefreshServices, (int32_t), (override)); 60 MOCK_METHOD(int32_t, SoftbusGattcConnect, (int32_t, SoftBusBtAddr *), (override)); 61 MOCK_METHOD(uint8_t *, ConnGattTransRecv, (uint32_t, uint8_t *, uint32_t, 62 ConnBleReadBuffer *, uint32_t *), (override)); 63 MOCK_METHOD(int32_t, SoftbusGattcGetService, (int32_t, SoftBusBtUuid *), (override)); 64 MOCK_METHOD(int32_t, SoftbusGattcSearchServices, (int32_t), (override)); 65 MOCK_METHOD(int32_t, SoftbusGattcRegisterNotification, (int32_t, SoftBusBtUuid *, 66 SoftBusBtUuid *, SoftBusBtUuid *)); 67 MOCK_METHOD(int32_t, SoftbusGattcConfigureMtuSize, (int32_t, int)); 68 MOCK_METHOD(int32_t, SoftbusBleGattcDisconnect, (int32_t, bool)); 69 MOCK_METHOD(int32_t, SoftbusGattcWriteCharacteristic, (int32_t, SoftBusGattcData *)); 70 MOCK_METHOD(int32_t, SoftbusGattcSetPriority, (int32_t, SoftBusBtAddr *, 71 SoftbusBleGattPriority)); 72 MOCK_METHOD(int32_t, LnnGetLocalStrInfo, (InfoKey, char *, uint32_t)); 73 MOCK_METHOD(int32_t, LnnGetLocalNumInfo, (InfoKey, int32_t *)); 74 MOCK_METHOD(int32_t, ConnBlePostBytesInner, (uint32_t connectionId, uint8_t *data, 75 uint32_t len, int32_t pid, int32_t flag, int32_t module, int64_t seq, PostBytesFinishAction)); 76 77 static uint8_t *ConnGattTransRecvReturnConnModule( 78 uint32_t connectionId, uint8_t *data, uint32_t dataLen, ConnBleReadBuffer *buffer, uint32_t *outLen); 79 static uint8_t *ConnGattTransRecvReturnConnModule1( 80 uint32_t connectionId, uint8_t *data, uint32_t dataLen, ConnBleReadBuffer *buffer, uint32_t *outLen); 81 static uint8_t *ConnGattTransRecvReturnOldNearby( 82 uint32_t connectionId, uint8_t *data, uint32_t dataLen, ConnBleReadBuffer *buffer, uint32_t *outLen); 83 static uint8_t *ConnGattTransRecvReturnDefult( 84 uint32_t connectionId, uint8_t *data, uint32_t dataLen, ConnBleReadBuffer *buffer, uint32_t *outLen); 85 static uint8_t *ActionOfConnGattTransRecv( 86 uint32_t connectionId, uint8_t *data, uint32_t dataLen, ConnBleReadBuffer *buffer, uint32_t *outLen); 87 }; 88 } // namespace OHOS 89 #endif // CONNECTION_BLE_CLIENT_MOCK_H