1 /*
2  * Copyright (c) 2022 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 "hb_strategy_mock.h"
17 #include "softbus_error_code.h"
18 
19 using namespace testing;
20 using namespace testing::ext;
21 
22 namespace OHOS {
23 void *g_hbStrategyInterface;
HeartBeatStategyInterfaceMock()24 HeartBeatStategyInterfaceMock::HeartBeatStategyInterfaceMock()
25 {
26     g_hbStrategyInterface = reinterpret_cast<void *>(this);
27 }
28 
~HeartBeatStategyInterfaceMock()29 HeartBeatStategyInterfaceMock::~HeartBeatStategyInterfaceMock()
30 {
31     g_hbStrategyInterface = nullptr;
32 }
33 
HeartBeatStrategyInterface()34 static HeartBeatStategyInterface *HeartBeatStrategyInterface()
35 {
36     return reinterpret_cast<HeartBeatStategyInterfaceMock *>(g_hbStrategyInterface);
37 }
38 
39 extern "C" {
LnnStartOfflineTimingStrategy(const char * networkId,ConnectionAddrType addrType)40 int32_t LnnStartOfflineTimingStrategy(const char *networkId, ConnectionAddrType addrType)
41 {
42     return HeartBeatStrategyInterface()->LnnStartOfflineTimingStrategy(networkId, addrType);
43 }
44 
LnnStopOfflineTimingStrategy(const char * networkId,ConnectionAddrType addrType)45 int32_t LnnStopOfflineTimingStrategy(const char *networkId, ConnectionAddrType addrType)
46 {
47     return HeartBeatStrategyInterface()->LnnStopOfflineTimingStrategy(networkId, addrType);
48 }
49 
LnnNotifyDiscoveryDevice(const ConnectionAddr * addr,const LnnDfxDeviceInfoReport * infoReport,bool isNeedConnect)50 int32_t LnnNotifyDiscoveryDevice(const ConnectionAddr *addr, const LnnDfxDeviceInfoReport *infoReport,
51     bool isNeedConnect)
52 {
53     return HeartBeatStrategyInterface()->LnnNotifyDiscoveryDevice(addr, infoReport, isNeedConnect);
54 }
55 
LnnNotifyMasterElect(const char * networkId,const char * masterUdid,int32_t masterWeight)56 int32_t LnnNotifyMasterElect(const char *networkId, const char *masterUdid, int32_t masterWeight)
57 {
58     return HeartBeatStrategyInterface()->LnnNotifyMasterElect(networkId, masterUdid, masterWeight);
59 }
60 
LnnSetHbAsMasterNodeState(bool isMasterNode)61 int32_t LnnSetHbAsMasterNodeState(bool isMasterNode)
62 {
63     return HeartBeatStrategyInterface()->LnnSetHbAsMasterNodeState(isMasterNode);
64 }
65 
LnnStartHbByTypeAndStrategy(LnnHeartbeatType hbType,LnnHeartbeatStrategyType strategyType,bool isRelay)66 int32_t LnnStartHbByTypeAndStrategy(LnnHeartbeatType hbType, LnnHeartbeatStrategyType strategyType, bool isRelay)
67 {
68     return HeartBeatStrategyInterface()->LnnStartHbByTypeAndStrategy(hbType, strategyType, isRelay);
69 }
70 
LnnRequestLeaveSpecific(const char * networkId,ConnectionAddrType addrType)71 int32_t LnnRequestLeaveSpecific(const char *networkId, ConnectionAddrType addrType)
72 {
73     return HeartBeatStrategyInterface()->LnnRequestLeaveSpecific(networkId, addrType);
74 }
75 
LnnGetReAuthVerifyCallback(void)76 AuthVerifyCallback *LnnGetReAuthVerifyCallback(void)
77 {
78     return HeartBeatStrategyInterface()->LnnGetReAuthVerifyCallback();
79 }
80 
LnnSetGearModeBySpecificType(const char * callerId,const GearMode * mode,LnnHeartbeatType type)81 int32_t LnnSetGearModeBySpecificType(const char *callerId, const GearMode *mode, LnnHeartbeatType type)
82 {
83     return HeartBeatStrategyInterface()->LnnSetGearModeBySpecificType(callerId, mode, type);
84 }
85 
LnnEnableHeartbeatByType(LnnHeartbeatType type,bool isEnable)86 int32_t LnnEnableHeartbeatByType(LnnHeartbeatType type, bool isEnable)
87 {
88     return HeartBeatStrategyInterface()->LnnEnableHeartbeatByType(type, isEnable);
89 }
90 
LnnStopHeartbeatByType(LnnHeartbeatType type)91 int32_t LnnStopHeartbeatByType(LnnHeartbeatType type)
92 {
93     return HeartBeatStrategyInterface()->LnnStopHeartbeatByType(type);
94 }
95 
LnnHbStrategyInit(void)96 int32_t LnnHbStrategyInit(void)
97 {
98     return HeartBeatStrategyInterface()->LnnHbStrategyInit();
99 }
100 
LnnUpdateSendInfoStrategy(LnnHeartbeatUpdateInfoType type)101 int32_t LnnUpdateSendInfoStrategy(LnnHeartbeatUpdateInfoType type)
102 {
103     return HeartBeatStrategyInterface()->LnnUpdateSendInfoStrategy(type);
104 }
105 
LnnStopScreenChangeOfflineTiming(const char * networkId,ConnectionAddrType addrType)106 int32_t LnnStopScreenChangeOfflineTiming(const char *networkId, ConnectionAddrType addrType)
107 {
108     return HeartBeatStrategyInterface()->LnnStopScreenChangeOfflineTiming(networkId, addrType);
109 }
110 
LnnSetMediumParamBySpecificType(const LnnHeartbeatMediumParam * param)111 int32_t LnnSetMediumParamBySpecificType(const LnnHeartbeatMediumParam *param)
112 {
113     return HeartBeatStrategyInterface()->LnnSetMediumParamBySpecificType(param);
114 }
115 
LnnStartScreenChangeOfflineTiming(const char * networkId,ConnectionAddrType addrType)116 int32_t LnnStartScreenChangeOfflineTiming(const char *networkId, ConnectionAddrType addrType)
117 {
118     return HeartBeatStrategyInterface()->LnnStartScreenChangeOfflineTiming(networkId, addrType);
119 }
120 
LnnStopHeartBeatAdvByTypeNow(LnnHeartbeatType registedHbType)121 int32_t LnnStopHeartBeatAdvByTypeNow(LnnHeartbeatType registedHbType)
122 {
123     return HeartBeatStrategyInterface()->LnnStopHeartBeatAdvByTypeNow(registedHbType);
124 }
125 
LnnAsyncCallbackDelayHelper(SoftBusLooper * looper,LnnAsyncCallbackFunc callback,void * para,uint64_t delayMillis)126 int32_t LnnAsyncCallbackDelayHelper(SoftBusLooper *looper, LnnAsyncCallbackFunc callback,
127     void *para, uint64_t delayMillis)
128 {
129     return HeartBeatStrategyInterface()->LnnAsyncCallbackDelayHelper(looper, callback, para, delayMillis);
130 }
131 
LnnStartHeartbeat(uint64_t delayMillis)132 int32_t LnnStartHeartbeat(uint64_t delayMillis)
133 {
134     return HeartBeatStrategyInterface()->LnnStartHeartbeat(delayMillis);
135 }
136 
IsNeedAuthLimit(const char * udidHash)137 bool IsNeedAuthLimit(const char *udidHash)
138 {
139     return HeartBeatStrategyInterface()->IsNeedAuthLimit(udidHash);
140 }
141 
IsExistLnnDfxNodeByUdidHash(const char * udidHash,LnnBleReportExtra * bleExtra)142 bool IsExistLnnDfxNodeByUdidHash(const char *udidHash, LnnBleReportExtra *bleExtra)
143 {
144     return HeartBeatStrategyInterface()->IsExistLnnDfxNodeByUdidHash(udidHash, bleExtra);
145 }
146 
LnnRetrieveDeviceInfo(const char * udid,NodeInfo * deviceInfo)147 int32_t LnnRetrieveDeviceInfo(const char *udid, NodeInfo *deviceInfo)
148 {
149     return HeartBeatStrategyInterface()->LnnRetrieveDeviceInfo(udid, deviceInfo);
150 }
151 
IsSameAccountGroupDevice(void)152 bool IsSameAccountGroupDevice(void)
153 {
154     return HeartBeatStrategyInterface()->IsSameAccountGroupDevice();
155 }
156 
AuthGenRequestId(void)157 uint32_t AuthGenRequestId(void)
158 {
159     return HeartBeatStrategyInterface()->AuthGenRequestId();
160 }
161 
AuthStartVerify(const AuthConnInfo * connInfo,uint32_t requestId,const AuthVerifyCallback * verifyCallback,AuthVerifyModule module,bool isFastAuth)162 int32_t AuthStartVerify(const AuthConnInfo *connInfo, uint32_t requestId, const AuthVerifyCallback *verifyCallback,
163     AuthVerifyModule module, bool isFastAuth)
164 {
165     return HeartBeatStrategyInterface()->AuthStartVerify(connInfo, requestId, verifyCallback, module, isFastAuth);
166 }
167 
AddNodeToLnnBleReportExtraMap(const char * udidHash,const LnnBleReportExtra * bleExtra)168 void AddNodeToLnnBleReportExtraMap(const char *udidHash, const LnnBleReportExtra *bleExtra)
169 {
170     return HeartBeatStrategyInterface()->AddNodeToLnnBleReportExtraMap(udidHash, bleExtra);
171 }
172 
GetNodeFromLnnBleReportExtraMap(const char * udidHash,LnnBleReportExtra * bleExtra)173 int32_t GetNodeFromLnnBleReportExtraMap(const char *udidHash, LnnBleReportExtra *bleExtra)
174 {
175     return HeartBeatStrategyInterface()->GetNodeFromLnnBleReportExtraMap(udidHash, bleExtra);
176 }
177 
DeleteNodeFromLnnBleReportExtraMap(const char * udidHash)178 void DeleteNodeFromLnnBleReportExtraMap(const char *udidHash)
179 {
180     return HeartBeatStrategyInterface()->DeleteNodeFromLnnBleReportExtraMap(udidHash);
181 }
182 
LnnUpdateRemoteDeviceInfo(const NodeInfo * deviceInfo)183 int32_t LnnUpdateRemoteDeviceInfo(const NodeInfo *deviceInfo)
184 {
185     return HeartBeatStrategyInterface()->LnnUpdateRemoteDeviceInfo(deviceInfo);
186 }
187 
GetNodeFromPcRestrictMap(const char * udidHash,uint32_t * count)188 int32_t GetNodeFromPcRestrictMap(const char *udidHash, uint32_t *count)
189 {
190     return HeartBeatStrategyInterface()->GetNodeFromPcRestrictMap(udidHash, count);
191 }
192 }
193 } // namespace OHOS
194