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 "lnn_trans_mock.h"
17 
18 #include "lnn_log.h"
19 #include "softbus_error_code.h"
20 
21 using namespace testing;
22 using namespace testing::ext;
23 
24 namespace OHOS {
25 void *g_transInterface;
LnnTransInterfaceMock()26 LnnTransInterfaceMock::LnnTransInterfaceMock()
27 {
28     g_transInterface = reinterpret_cast<void *>(this);
29 }
30 
~LnnTransInterfaceMock()31 LnnTransInterfaceMock::~LnnTransInterfaceMock()
32 {
33     g_transInterface = nullptr;
34 }
35 
GetTransInterface()36 static LnnTransInterfaceMock *GetTransInterface()
37 {
38     return reinterpret_cast<LnnTransInterfaceMock *>(g_transInterface);
39 }
40 
41 extern "C" {
TransRegisterNetworkingChannelListener(const char * sessionName,const INetworkingListener * listener)42 int TransRegisterNetworkingChannelListener(const char *sessionName, const INetworkingListener *listener)
43 {
44     return GetTransInterface()->TransRegisterNetworkingChannelListener(listener);
45 }
46 
TransOpenNetWorkingChannel(const char * sessionName,const char * peerNetworkId,const LanePreferredLinkList * preferred)47 int32_t TransOpenNetWorkingChannel(const char *sessionName, const char *peerNetworkId,
48     const LanePreferredLinkList *preferred)
49 {
50     LNN_LOGI(LNN_TEST, "TransOpenNetWorkingChannel enter");
51     return GetTransInterface()->TransOpenNetWorkingChannel(sessionName, peerNetworkId);
52 }
53 
TransSendNetworkingMessage(int32_t channelId,const char * data,uint32_t dataLen,int32_t priority)54 int32_t TransSendNetworkingMessage(int32_t channelId, const char *data, uint32_t dataLen, int32_t priority)
55 {
56     LNN_LOGI(LNN_TEST, "TransSendNetworkingMessage enter");
57     return GetTransInterface()->TransSendNetworkingMessage(channelId, data, dataLen, priority);
58 }
59 
TransCloseNetWorkingChannel(int32_t channelId)60 int32_t TransCloseNetWorkingChannel(int32_t channelId)
61 {
62     return GetTransInterface()->TransCloseNetWorkingChannel(channelId);
63 }
64 
ActionOfTransRegister(const INetworkingListener * listener)65 int32_t LnnTransInterfaceMock::ActionOfTransRegister(const INetworkingListener *listener)
66 {
67     if (listener == NULL) {
68         LNN_LOGE(LNN_TEST, "listener is invalid para");
69         return SOFTBUS_ERR;
70     }
71     g_networkListener = listener;
72     return SOFTBUS_OK;
73 }
74 }
75 } // namespace OHOS