1 /*
2 * Copyright (c) 2024 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 #include "softbus_conn_ble_client_mock.h"
17 #include "softbus_adapter_mem.h"
18
19 using namespace testing;
20 using namespace testing::ext;
21
22 namespace OHOS {
23 void *g_connectionBleClientInterface;
ConnectionBleClientInterfaceMock()24 ConnectionBleClientInterfaceMock::ConnectionBleClientInterfaceMock()
25 {
26 g_connectionBleClientInterface = reinterpret_cast<void *>(this);
27 }
28
~ConnectionBleClientInterfaceMock()29 ConnectionBleClientInterfaceMock::~ConnectionBleClientInterfaceMock()
30 {
31 g_connectionBleClientInterface = nullptr;
32 }
33
ConnGattTransRecvReturnConnModule(uint32_t connectionId,uint8_t * data,uint32_t dataLen,ConnBleReadBuffer * buffer,uint32_t * outLen)34 uint8_t *ConnectionBleClientInterfaceMock::ConnGattTransRecvReturnConnModule(uint32_t connectionId,
35 uint8_t *data, uint32_t dataLen, ConnBleReadBuffer *buffer, uint32_t *outLen)
36 {
37 ConnPktHead *head = reinterpret_cast<ConnPktHead *>(SoftBusCalloc(sizeof(*head)));
38 if (head == nullptr) {
39 return nullptr;
40 }
41 head->flag = 0;
42 head->module = MODULE_CONNECTION;
43 int64_t seq = 10;
44 head->seq = seq;
45 *outLen = sizeof((*head));
46 return reinterpret_cast<uint8_t *>(head);
47 }
48
ConnGattTransRecvReturnConnModule1(uint32_t connectionId,uint8_t * data,uint32_t dataLen,ConnBleReadBuffer * buffer,uint32_t * outLen)49 uint8_t *ConnectionBleClientInterfaceMock::ConnGattTransRecvReturnConnModule1(uint32_t connectionId,
50 uint8_t *data, uint32_t dataLen, ConnBleReadBuffer *buffer, uint32_t *outLen)
51 {
52 ConnPktHead *head = reinterpret_cast<ConnPktHead *>(SoftBusCalloc(sizeof(*head)));
53 if (head == nullptr) {
54 return nullptr;
55 }
56 head->magic = 1;
57 head->flag = 1;
58 head->module = MODULE_CONNECTION;
59 int64_t seq = 10;
60 head->seq = seq;
61 *outLen = sizeof((*head));
62 return reinterpret_cast<uint8_t *>(head);
63 }
64
ConnGattTransRecvReturnOldNearby(uint32_t connectionId,uint8_t * data,uint32_t dataLen,ConnBleReadBuffer * buffer,uint32_t * outLen)65 uint8_t *ConnectionBleClientInterfaceMock::ConnGattTransRecvReturnOldNearby(uint32_t connectionId,
66 uint8_t *data, uint32_t dataLen, ConnBleReadBuffer *buffer, uint32_t *outLen)
67 {
68 ConnPktHead *head = reinterpret_cast<ConnPktHead *>(SoftBusCalloc(sizeof(*head)));
69 if (head == nullptr) {
70 return nullptr;
71 }
72 head->flag = 0;
73 head->module = MODULE_OLD_NEARBY;
74 int64_t seq = 10;
75 head->seq = seq;
76 *outLen = sizeof((*head));
77 return reinterpret_cast<uint8_t *>(head);
78 }
79
ConnGattTransRecvReturnDefult(uint32_t connectionId,uint8_t * data,uint32_t dataLen,ConnBleReadBuffer * buffer,uint32_t * outLen)80 uint8_t *ConnectionBleClientInterfaceMock::ConnGattTransRecvReturnDefult(uint32_t connectionId,
81 uint8_t *data, uint32_t dataLen, ConnBleReadBuffer *buffer, uint32_t *outLen)
82 {
83 ConnPktHead *head = reinterpret_cast<ConnPktHead *>(SoftBusCalloc(sizeof(*head)));
84 if (head == nullptr) {
85 return nullptr;
86 }
87 head->flag = 0;
88 head->module = MODULE_AUTH_CHANNEL;
89 int64_t seq = 10;
90 head->seq = seq;
91 *outLen = sizeof((*head));
92 return reinterpret_cast<uint8_t *>(head);
93 }
94
ActionOfConnGattTransRecv(uint32_t connectionId,uint8_t * data,uint32_t dataLen,ConnBleReadBuffer * buffer,uint32_t * outLen)95 uint8_t *ConnectionBleClientInterfaceMock::ActionOfConnGattTransRecv(uint32_t connectionId,
96 uint8_t *data, uint32_t dataLen, ConnBleReadBuffer *buffer, uint32_t *outLen)
97 {
98 ConnPktHead *head = reinterpret_cast<ConnPktHead *>(SoftBusCalloc(sizeof(*head)));
99 if (head == nullptr) {
100 return nullptr;
101 }
102 head->flag = 0;
103 head->module = MODULE_AUTH_CHANNEL;
104 int64_t seq = 10;
105 head->seq = seq;
106 uint32_t len = 4;
107 *outLen = len;
108 return reinterpret_cast<uint8_t *>(head);
109 }
110
GetConnectionBleClientInterface()111 static ConnectionBleClientInterface *GetConnectionBleClientInterface()
112 {
113 return reinterpret_cast<ConnectionBleClientInterface *>(g_connectionBleClientInterface);
114 }
115
116 extern "C" {
SoftbusGattcSetFastestConn(int32_t clientId)117 int32_t SoftbusGattcSetFastestConn(int32_t clientId)
118 {
119 return GetConnectionBleClientInterface()->SoftbusGattcSetFastestConn(clientId);
120 }
121
SoftbusGattcRefreshServices(int32_t clientId)122 int32_t SoftbusGattcRefreshServices(int32_t clientId)
123 {
124 return GetConnectionBleClientInterface()->SoftbusGattcRefreshServices(clientId);
125 }
126
SoftbusGattcConnect(int32_t clientId,SoftBusBtAddr * addr)127 int32_t SoftbusGattcConnect(int32_t clientId, SoftBusBtAddr *addr)
128 {
129 return GetConnectionBleClientInterface()->SoftbusGattcConnect(clientId, addr);
130 }
131
ConnGattTransRecv(uint32_t connectionId,uint8_t * data,uint32_t dataLen,ConnBleReadBuffer * buffer,uint32_t * outLen)132 uint8_t *ConnGattTransRecv(uint32_t connectionId, uint8_t *data,
133 uint32_t dataLen, ConnBleReadBuffer *buffer, uint32_t *outLen)
134 {
135 return GetConnectionBleClientInterface()->ConnGattTransRecv(connectionId, data, dataLen, buffer, outLen);
136 }
137
SoftbusGattcSearchServices(int32_t clientId)138 int32_t SoftbusGattcSearchServices(int32_t clientId)
139 {
140 return GetConnectionBleClientInterface()->SoftbusGattcSearchServices(clientId);
141 }
142
SoftbusGattcRegisterNotification(int32_t clientId,SoftBusBtUuid * serverUuid,SoftBusBtUuid * charaUuid,SoftBusBtUuid * descriptorUuid)143 int32_t SoftbusGattcRegisterNotification(int32_t clientId, SoftBusBtUuid *serverUuid,
144 SoftBusBtUuid *charaUuid, SoftBusBtUuid *descriptorUuid)
145 {
146 return GetConnectionBleClientInterface()->SoftbusGattcRegisterNotification(clientId,
147 serverUuid, charaUuid, descriptorUuid);
148 }
149
SoftbusGattcConfigureMtuSize(int32_t clientId,int32_t mtuSize)150 int32_t SoftbusGattcConfigureMtuSize(int32_t clientId, int32_t mtuSize)
151 {
152 return GetConnectionBleClientInterface()->SoftbusGattcConfigureMtuSize(clientId, mtuSize);
153 }
154
SoftbusGattcGetService(int32_t clientId,SoftBusBtUuid * serverUuid)155 int32_t SoftbusGattcGetService(int32_t clientId, SoftBusBtUuid *serverUuid)
156 {
157 return GetConnectionBleClientInterface()->SoftbusGattcGetService(clientId, serverUuid);
158 }
159
SoftbusBleGattcDisconnect(int32_t clientId,bool refreshGatt)160 int32_t SoftbusBleGattcDisconnect(int32_t clientId, bool refreshGatt)
161 {
162 return GetConnectionBleClientInterface()->SoftbusBleGattcDisconnect(clientId, refreshGatt);
163 }
164
SoftbusGattcWriteCharacteristic(int32_t clientId,SoftBusGattcData * clientData)165 int32_t SoftbusGattcWriteCharacteristic(int32_t clientId, SoftBusGattcData *clientData)
166 {
167 return GetConnectionBleClientInterface()->SoftbusGattcWriteCharacteristic(clientId, clientData);
168 }
169
SoftbusGattcSetPriority(int32_t clientId,SoftBusBtAddr * addr,SoftbusBleGattPriority priority)170 int32_t SoftbusGattcSetPriority(int32_t clientId, SoftBusBtAddr *addr, SoftbusBleGattPriority priority)
171 {
172 return GetConnectionBleClientInterface()->SoftbusGattcSetPriority(clientId, addr, priority);
173 }
174
LnnGetLocalStrInfo(InfoKey key,char * info,uint32_t len)175 int32_t LnnGetLocalStrInfo(InfoKey key, char *info, uint32_t len)
176 {
177 return GetConnectionBleClientInterface()->LnnGetLocalStrInfo(key, info, len);
178 }
179
LnnGetLocalNumInfo(InfoKey key,int32_t * info)180 int32_t LnnGetLocalNumInfo(InfoKey key, int32_t *info)
181 {
182 return GetConnectionBleClientInterface()->LnnGetLocalNumInfo(key, info);
183 }
184
ConnBlePostBytesInner(uint32_t connectionId,uint8_t * data,uint32_t len,int32_t pid,int32_t flag,int32_t module,int64_t seq,PostBytesFinishAction postBytesFinishAction)185 int32_t ConnBlePostBytesInner(uint32_t connectionId, uint8_t *data, uint32_t len,
186 int32_t pid, int32_t flag, int32_t module, int64_t seq, PostBytesFinishAction postBytesFinishAction)
187 {
188 return GetConnectionBleClientInterface()->ConnBlePostBytesInner(connectionId,
189 data, len, pid, flag, module, seq, postBytesFinishAction);
190 }
191
BleHiDumperRegister(void)192 int32_t BleHiDumperRegister(void)
193 {
194 return SOFTBUS_OK;
195 }
196 }
197 }