• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_ble_mock.h"
17 
18 #include "disc_log.h"
19 #include "softbus_error_code.h"
20 #include "softbus_adapter_sle_common_struct.h"
21 
22 ManagerMock *ManagerMock::managerMock = nullptr;
23 const SoftbusBroadcastCallback *ManagerMock::broadcastCallback = nullptr;
24 const SoftbusScanCallback *ManagerMock::scanCallback = nullptr;
25 
26 static int32_t g_advId = 0;
27 static int32_t g_listenerId = 0;
28 static void ActionOfSoftbusBleAdapterInit(void);
29 
ActionOfSoftBusAddBtStateListener(const SoftBusBtStateListener * listener,int32_t * listenerId)30 int32_t ActionOfSoftBusAddBtStateListener(const SoftBusBtStateListener *listener, int32_t *listenerId)
31 {
32     return SOFTBUS_OK;
33 }
34 
ActionOfSoftBusRemoveBtStateListener(int32_t listenerId)35 int32_t ActionOfSoftBusRemoveBtStateListener(int32_t listenerId)
36 {
37     return SOFTBUS_OK;
38 }
39 
ManagerMock()40 ManagerMock::ManagerMock()
41 {
42     ManagerMock::managerMock = this;
43     EXPECT_CALL(*this, SoftbusBleAdapterInit).WillRepeatedly(ActionOfSoftbusBleAdapterInit);
44     EXPECT_CALL(*this, SoftBusAddBtStateListener).WillRepeatedly(ActionOfSoftBusAddBtStateListener);
45     EXPECT_CALL(*this, SoftBusRemoveBtStateListener).WillRepeatedly(ActionOfSoftBusRemoveBtStateListener);
46 }
47 
~ManagerMock()48 ManagerMock::~ManagerMock()
49 {
50     ManagerMock::managerMock = nullptr;
51 }
52 
GetMock()53 ManagerMock *ManagerMock::GetMock()
54 {
55     return managerMock;
56 }
57 
SoftbusBleAdapterInit()58 void SoftbusBleAdapterInit()
59 {
60     ManagerMock::GetMock()->SoftbusBleAdapterInit();
61 }
62 
MockInit(void)63 static int32_t MockInit(void)
64 {
65     return SOFTBUS_OK;
66 }
67 
MockDeInit(void)68 static int32_t MockDeInit(void)
69 {
70     return SOFTBUS_OK;
71 }
72 
SoftBusAddBtStateListener(const SoftBusBtStateListener * listener,int32_t * listenerId)73 int32_t SoftBusAddBtStateListener(const SoftBusBtStateListener *listener, int32_t *listenerId)
74 {
75     return ManagerMock::GetMock()->SoftBusAddBtStateListener(listener, listenerId);
76 }
77 
SoftBusRemoveBtStateListener(int32_t listenerId)78 int32_t SoftBusRemoveBtStateListener(int32_t listenerId)
79 {
80     return ManagerMock::GetMock()->SoftBusRemoveBtStateListener(listenerId);
81 }
82 
BleAsyncCallbackDelayHelper(SoftBusLooper * looper,BleAsyncCallbackFunc callback,void * para,uint64_t delayMillis)83 int32_t BleAsyncCallbackDelayHelper(SoftBusLooper *looper, BleAsyncCallbackFunc callback,
84     void *para, uint64_t delayMillis)
85 {
86     return ManagerMock::GetMock()->BleAsyncCallbackDelayHelper(looper, callback, para, delayMillis);
87 }
88 
SoftBusCondWait(SoftBusCond * cond,SoftBusMutex * mutex,SoftBusSysTime * time)89 int32_t SoftBusCondWait(SoftBusCond *cond, SoftBusMutex *mutex, SoftBusSysTime *time)
90 {
91     return ManagerMock::GetMock()->SoftBusCondWait(cond, mutex, time);
92 }
93 
MockRegisterBroadcaster(int32_t * bcId,const SoftbusBroadcastCallback * cb)94 static int32_t MockRegisterBroadcaster(int32_t *bcId, const SoftbusBroadcastCallback *cb)
95 {
96     ManagerMock::broadcastCallback = cb;
97     *bcId = g_advId;
98     g_advId++;
99     return SOFTBUS_OK;
100 }
101 
MockUnRegisterBroadcaster(int32_t bcId)102 static int32_t MockUnRegisterBroadcaster(int32_t bcId)
103 {
104     ManagerMock::broadcastCallback = nullptr;
105     g_advId--;
106     return SOFTBUS_OK;
107 }
108 
MockRegisterScanListener(int32_t * scanerId,const SoftbusScanCallback * cb)109 static int32_t MockRegisterScanListener(int32_t *scanerId, const SoftbusScanCallback *cb)
110 {
111     ManagerMock::scanCallback = cb;
112     *scanerId = g_listenerId;
113     g_listenerId++;
114     return SOFTBUS_OK;
115 }
116 
MockUnRegisterScanListener(int32_t scanerId)117 static int32_t MockUnRegisterScanListener(int32_t scanerId)
118 {
119     ManagerMock::scanCallback = nullptr;
120     g_listenerId--;
121     return SOFTBUS_OK;
122 }
123 
MockStartBroadcasting(int32_t bcId,const SoftbusBroadcastParam * param,SoftbusBroadcastData * data)124 static int32_t MockStartBroadcasting(int32_t bcId, const SoftbusBroadcastParam *param, SoftbusBroadcastData *data)
125 {
126     ManagerMock::broadcastCallback->OnStartBroadcastingCallback(BROADCAST_PROTOCOL_BLE,
127         bcId, (int32_t)SOFTBUS_BC_STATUS_SUCCESS);
128     return SOFTBUS_OK;
129 }
130 
MockStopBroadcasting(int32_t bcId)131 static int32_t MockStopBroadcasting(int32_t bcId)
132 {
133     ManagerMock::broadcastCallback->OnStopBroadcastingCallback(BROADCAST_PROTOCOL_BLE,
134         bcId, (int32_t)SOFTBUS_BC_STATUS_SUCCESS);
135     return SOFTBUS_OK;
136 }
137 
MockSetBroadcastingData(int32_t bcId,const SoftbusBroadcastData * data)138 static int32_t MockSetBroadcastingData(int32_t bcId, const SoftbusBroadcastData *data)
139 {
140     ManagerMock::broadcastCallback->OnSetBroadcastingCallback(BROADCAST_PROTOCOL_BLE,
141         bcId, (int32_t)SOFTBUS_BC_STATUS_SUCCESS);
142     return SOFTBUS_OK;
143 }
144 
MockSetBroadcastingParam(int32_t bcId,const SoftbusBroadcastParam * param)145 static int32_t MockSetBroadcastingParam(int32_t bcId, const SoftbusBroadcastParam *param)
146 {
147     ManagerMock::broadcastCallback->OnSetBroadcastingParamCallback(BROADCAST_PROTOCOL_BLE,
148         bcId, (int32_t)SOFTBUS_BC_STATUS_SUCCESS);
149     return SOFTBUS_OK;
150 }
151 
MockEnableBroadcasting(int32_t bcId)152 static int32_t MockEnableBroadcasting(int32_t bcId)
153 {
154     ManagerMock::broadcastCallback->OnEnableBroadcastingCallback(BROADCAST_PROTOCOL_BLE,
155         bcId, (int32_t)SOFTBUS_BC_STATUS_SUCCESS);
156     return SOFTBUS_OK;
157 }
158 
MockDisableBroadcasting(int32_t bcId)159 static int32_t MockDisableBroadcasting(int32_t bcId)
160 {
161     ManagerMock::broadcastCallback->OnDisableBroadcastingCallback(BROADCAST_PROTOCOL_BLE,
162         bcId, (int32_t)SOFTBUS_BC_STATUS_SUCCESS);
163     return SOFTBUS_OK;
164 }
165 
MockUpdateBroadcasting(int32_t bcId,const SoftbusBroadcastParam * param,SoftbusBroadcastData * data)166 static int32_t MockUpdateBroadcasting(
167     int32_t bcId, const SoftbusBroadcastParam *param, SoftbusBroadcastData *data)
168 {
169     ManagerMock::broadcastCallback->OnUpdateBroadcastingCallback(BROADCAST_PROTOCOL_BLE,
170         bcId, (int32_t)SOFTBUS_BC_STATUS_SUCCESS);
171     return SOFTBUS_OK;
172 }
173 
MockStartScan(int32_t scanerId,const SoftBusBcScanParams * param,const SoftBusBcScanFilter * scanFilter,int32_t filterSize)174 static int32_t MockStartScan(
175     int32_t scanerId, const SoftBusBcScanParams *param, const SoftBusBcScanFilter *scanFilter, int32_t filterSize)
176 {
177     return SOFTBUS_OK;
178 }
179 
MockStopScan(int32_t scanerId)180 static int32_t MockStopScan(int32_t scanerId)
181 {
182     return SOFTBUS_OK;
183 }
184 
MockSetScanParams(int32_t scannerId,const SoftBusBcScanParams * param,const SoftBusBcScanFilter * scanFilter,int32_t filterSize,SoftbusSetFilterCmd cmdId)185 static int32_t MockSetScanParams(int32_t scannerId, const SoftBusBcScanParams *param,
186     const SoftBusBcScanFilter *scanFilter, int32_t filterSize, SoftbusSetFilterCmd cmdId)
187 {
188     return SOFTBUS_OK;
189 }
190 
MockIsLpDeviceAvailable(void)191 static bool MockIsLpDeviceAvailable(void)
192 {
193     return true;
194 }
195 
MockSetAdvFilterParam(LpServerType type,const SoftBusLpBroadcastParam * bcParam,const SoftBusLpScanParam * scanParam)196 static bool MockSetAdvFilterParam(
197     LpServerType type, const SoftBusLpBroadcastParam *bcParam, const SoftBusLpScanParam *scanParam)
198 {
199     return SOFTBUS_OK;
200 }
201 
MockGetBroadcastHandle(int32_t bcId,int32_t * bcHandle)202 static int32_t MockGetBroadcastHandle(int32_t bcId, int32_t *bcHandle)
203 {
204     return SOFTBUS_OK;
205 }
206 
MockEnableSyncDataToLpDevice(void)207 static int32_t MockEnableSyncDataToLpDevice(void)
208 {
209     return SOFTBUS_OK;
210 }
211 
MockDisableSyncDataToLpDevice(void)212 static int32_t MockDisableSyncDataToLpDevice(void)
213 {
214     return SOFTBUS_OK;
215 }
216 
MockSetScanReportChannelToLpDevice(int32_t scannerId,bool enable)217 static int32_t MockSetScanReportChannelToLpDevice(int32_t scannerId, bool enable)
218 {
219     return SOFTBUS_OK;
220 }
221 
MockSetLpDeviceParam(int32_t duration,int32_t maxExtAdvEvents,int32_t window,int32_t interval,int32_t bcHandle)222 static int32_t MockSetLpDeviceParam(
223     int32_t duration, int32_t maxExtAdvEvents, int32_t window, int32_t interval, int32_t bcHandle)
224 {
225     return SOFTBUS_OK;
226 }
227 
ActionOfSoftbusBleAdapterInit()228 static void ActionOfSoftbusBleAdapterInit()
229 {
230     DISC_LOGI(DISC_TEST, "enter");
231     static SoftbusBroadcastMediumInterface interface = {
232         .Init = MockInit,
233         .DeInit = MockDeInit,
234         .RegisterBroadcaster = MockRegisterBroadcaster,
235         .UnRegisterBroadcaster = MockUnRegisterBroadcaster,
236         .RegisterScanListener = MockRegisterScanListener,
237         .UnRegisterScanListener = MockUnRegisterScanListener,
238         .StartBroadcasting = MockStartBroadcasting,
239         .StopBroadcasting = MockStopBroadcasting,
240         .SetBroadcastingData = MockSetBroadcastingData,
241         .SetBroadcastingParam = MockSetBroadcastingParam,
242         .EnableBroadcasting = MockEnableBroadcasting,
243         .DisableBroadcasting = MockDisableBroadcasting,
244         .UpdateBroadcasting = MockUpdateBroadcasting,
245         .StartScan = MockStartScan,
246         .StopScan = MockStopScan,
247         .SetScanParams = MockSetScanParams,
248         .IsLpDeviceAvailable = MockIsLpDeviceAvailable,
249         .SetAdvFilterParam = MockSetAdvFilterParam,
250         .GetBroadcastHandle = MockGetBroadcastHandle,
251         .EnableSyncDataToLpDevice = MockEnableSyncDataToLpDevice,
252         .DisableSyncDataToLpDevice = MockDisableSyncDataToLpDevice,
253         .SetScanReportChannelToLpDevice = MockSetScanReportChannelToLpDevice,
254         .SetLpDeviceParam = MockSetLpDeviceParam,
255     };
256     if (RegisterBroadcastMediumFunction(BROADCAST_PROTOCOL_BLE, &interface) != 0) {
257         DISC_LOGE(DISC_TEST, "Register gatt interface failed.");
258     }
259 }
260 
SoftbusBleAdapterDeInit(void)261 void SoftbusBleAdapterDeInit(void)
262 {
263     DISC_LOGI(DISC_TEST, "enter");
264 }
265 
266 extern "C" {
SoftbusSleAdapterInitPacked(void)267 void SoftbusSleAdapterInitPacked(void)
268 {
269     DISC_LOGI(DISC_TEST, "enter");
270 }
271 
SoftbusSleAdapterDeInitPacked(void)272 void SoftbusSleAdapterDeInitPacked(void)
273 {
274     DISC_LOGI(DISC_TEST, "enter");
275 }
276 
SoftBusAddSleStateListenerPacked(const SoftBusSleStateListener * listener,int32_t * listenerId)277 int32_t SoftBusAddSleStateListenerPacked(const SoftBusSleStateListener *listener, int32_t *listenerId)
278 {
279     DISC_LOGI(DISC_TEST, "enter");
280     (void)listener;
281     (void)listenerId;
282     return SOFTBUS_OK;
283 }
284 
SoftBusRemoveSleStateListenerPacked(int listenerId)285 void SoftBusRemoveSleStateListenerPacked(int listenerId)
286 {
287     DISC_LOGI(DISC_TEST, "enter");
288     (void)listenerId;
289 }
290 }