• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021 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 #include "netsys_controller_service_impl.h"
16 #include "net_mgr_log_wrapper.h"
17 
18 namespace OHOS {
19 namespace NetManagerStandard {
NetsysControllerServiceImpl()20 NetsysControllerServiceImpl::NetsysControllerServiceImpl()
21 {}
22 
~NetsysControllerServiceImpl()23 NetsysControllerServiceImpl::~NetsysControllerServiceImpl() {}
24 
Init()25 void NetsysControllerServiceImpl::Init()
26 {
27     mockNetsysClient_.RegisterMockApi();
28     return;
29 }
30 
NetworkCreatePhysical(int32_t netId,int32_t permission)31 int32_t NetsysControllerServiceImpl::NetworkCreatePhysical(int32_t netId, int32_t permission)
32 {
33     NETMGR_LOG_I("Create Physical network: netId[%{public}d], permission[%{public}d]", netId, permission);
34     if (mockNetsysClient_.CheckMockApi(MOCK_NETWORKCREATEPHYSICAL_API)) {
35         return mockNetsysClient_.NetworkCreatePhysical(netId, permission);
36     }
37     return netsysClient_.NetworkCreatePhysical(netId, permission);
38 }
39 
NetworkDestroy(int32_t netId)40 int32_t NetsysControllerServiceImpl::NetworkDestroy(int32_t netId)
41 {
42     NETMGR_LOG_I("Destroy network: netId[%{public}d]", netId);
43     if (mockNetsysClient_.CheckMockApi(MOCK_NETWORKDESTROY_API)) {
44         return mockNetsysClient_.NetworkDestroy(netId);
45     }
46     return netsysClient_.NetworkDestroy(netId);
47 }
48 
NetworkAddInterface(int32_t netId,const std::string & iface)49 int32_t NetsysControllerServiceImpl::NetworkAddInterface(int32_t netId, const std::string &iface)
50 {
51     NETMGR_LOG_I("Add network interface: netId[%{public}d], iface[%{public}s]", netId, iface.c_str());
52     if (mockNetsysClient_.CheckMockApi(MOCK_NETWORKADDINTERFACE_API)) {
53         return mockNetsysClient_.NetworkAddInterface(netId, iface);
54     }
55     return netsysClient_.NetworkAddInterface(netId, iface);
56 }
57 
NetworkRemoveInterface(int32_t netId,const std::string & iface)58 int32_t NetsysControllerServiceImpl::NetworkRemoveInterface(int32_t netId, const std::string &iface)
59 {
60     NETMGR_LOG_I("Remove network interface: netId[%{public}d], iface[%{public}s]", netId, iface.c_str());
61     if (mockNetsysClient_.CheckMockApi(MOCK_NETWORKREMOVEINTERFACE_API)) {
62         return mockNetsysClient_.NetworkRemoveInterface(netId, iface);
63     }
64     return netsysClient_.NetworkRemoveInterface(netId, iface);
65 }
66 
NetworkAddRoute(int32_t netId,const std::string & ifName,const std::string & destination,const std::string & nextHop)67 int32_t NetsysControllerServiceImpl::NetworkAddRoute(int32_t netId, const std::string &ifName,
68     const std::string &destination, const std::string &nextHop)
69 {
70     NETMGR_LOG_I("Add Route: netId[%{public}d], ifName[%{public}s]", netId, ifName.c_str());
71     if (mockNetsysClient_.CheckMockApi(MOCK_NETWORKADDROUTE_API)) {
72         return mockNetsysClient_.NetworkAddRoute(netId, ifName, destination, nextHop);
73     }
74     return netsysClient_.NetworkAddRoute(netId, ifName, destination, nextHop);
75 }
76 
NetworkRemoveRoute(int32_t netId,const std::string & ifName,const std::string & destination,const std::string & nextHop)77 int32_t NetsysControllerServiceImpl::NetworkRemoveRoute(int32_t netId, const std::string &ifName,
78     const std::string &destination, const std::string &nextHop)
79 {
80     NETMGR_LOG_I("Remove Route: netId[%{public}d], ifName[%{public}s]", netId, ifName.c_str());
81     if (mockNetsysClient_.CheckMockApi(MOCK_NETWORKREMOVEROUTE_API)) {
82         return mockNetsysClient_.NetworkRemoveRoute(netId, ifName, destination, nextHop);
83     }
84     return netsysClient_.NetworkRemoveRoute(netId, ifName, destination, nextHop);
85 }
86 
SetInterfaceDown(const std::string & iface)87 int32_t NetsysControllerServiceImpl::SetInterfaceDown(const std::string &iface)
88 {
89     NETMGR_LOG_I("Set interface down: iface[%{public}s]", iface.c_str());
90     if (mockNetsysClient_.CheckMockApi(MOCK_SETINTERFACEDOWN_API)) {
91         return mockNetsysClient_.SetInterfaceDown(iface);
92     }
93     return netsysClient_.SetInterfaceDown(iface);
94 }
95 
SetInterfaceUp(const std::string & iface)96 int32_t NetsysControllerServiceImpl::SetInterfaceUp(const std::string &iface)
97 {
98     NETMGR_LOG_I("Set interface up: iface[%{public}s]", iface.c_str());
99     if (mockNetsysClient_.CheckMockApi(MOCK_SETINTERFACEUP_API)) {
100         return mockNetsysClient_.SetInterfaceUp(iface);
101     }
102     return netsysClient_.SetInterfaceUp(iface);
103 }
104 
InterfaceClearAddrs(const std::string & ifName)105 void NetsysControllerServiceImpl::InterfaceClearAddrs(const std::string &ifName)
106 {
107     NETMGR_LOG_I("Clear addrs: ifName[%{public}s]", ifName.c_str());
108     if (mockNetsysClient_.CheckMockApi(MOCK_INTERFACECLEARADDRS_API)) {
109         return mockNetsysClient_.InterfaceClearAddrs(ifName);
110     }
111     return netsysClient_.InterfaceClearAddrs(ifName);
112 }
113 
InterfaceGetMtu(const std::string & ifName)114 int32_t NetsysControllerServiceImpl::InterfaceGetMtu(const std::string &ifName)
115 {
116     NETMGR_LOG_I("Get mtu: ifName[%{public}s]", ifName.c_str());
117     if (mockNetsysClient_.CheckMockApi(MOCK_INTERFACEGETMTU_API)) {
118         return mockNetsysClient_.InterfaceGetMtu(ifName);
119     }
120     return netsysClient_.InterfaceGetMtu(ifName);
121 }
122 
InterfaceSetMtu(const std::string & ifName,int32_t mtu)123 int32_t NetsysControllerServiceImpl::InterfaceSetMtu(const std::string &ifName, int32_t mtu)
124 {
125     NETMGR_LOG_I("Set mtu: ifName[%{public}s], mtu[%{public}d]", ifName.c_str(), mtu);
126     if (mockNetsysClient_.CheckMockApi(MOCK_INTERFACESETMTU_API)) {
127         return mockNetsysClient_.InterfaceSetMtu(ifName, mtu);
128     }
129     return netsysClient_.InterfaceSetMtu(ifName, mtu);
130 }
131 
InterfaceAddAddress(const std::string & ifName,const std::string & ipAddr,int32_t prefixLength)132 int32_t NetsysControllerServiceImpl::InterfaceAddAddress(const std::string &ifName,
133     const std::string &ipAddr, int32_t prefixLength)
134 {
135     NETMGR_LOG_I("Add address: ifName[%{public}s], prefixLength[%{public}d]", ifName.c_str(), prefixLength);
136     if (mockNetsysClient_.CheckMockApi(MOCK_INTERFACEADDADDRESS_API)) {
137         return mockNetsysClient_.InterfaceAddAddress(ifName, ipAddr, prefixLength);
138     }
139     return netsysClient_.InterfaceAddAddress(ifName, ipAddr, prefixLength);
140 }
141 
InterfaceDelAddress(const std::string & ifName,const std::string & ipAddr,int32_t prefixLength)142 int32_t NetsysControllerServiceImpl::InterfaceDelAddress(const std::string &ifName,
143     const std::string &ipAddr, int32_t prefixLength)
144 {
145     NETMGR_LOG_I("Delete address: ifName[%{public}s], prefixLength[%{public}d]", ifName.c_str(), prefixLength);
146     if (mockNetsysClient_.CheckMockApi(MOCK_INTERFACEDELADDRESS_API)) {
147         return mockNetsysClient_.InterfaceDelAddress(ifName, ipAddr, prefixLength);
148     }
149     return netsysClient_.InterfaceDelAddress(ifName, ipAddr, prefixLength);
150 }
151 
SetResolverConfig(uint16_t netId,uint16_t baseTimeoutMsec,uint8_t retryCount,const std::vector<std::string> & servers,const std::vector<std::string> & domains)152 int32_t NetsysControllerServiceImpl::SetResolverConfig(uint16_t netId, uint16_t baseTimeoutMsec, uint8_t retryCount,
153     const std::vector<std::string> &servers, const std::vector<std::string> &domains)
154 {
155     NETMGR_LOG_I("Set resolver config: netId[%{public}d]", netId);
156     if (mockNetsysClient_.CheckMockApi(MOCK_SETRESOLVERCONFIG_API)) {
157         return mockNetsysClient_.SetResolverConfig(netId, baseTimeoutMsec, retryCount, servers, domains);
158     }
159     return netsysClient_.SetResolverConfig(netId, baseTimeoutMsec, retryCount, servers, domains);
160 }
161 
GetResolverInfo(uint16_t netId,std::vector<std::string> & servers,std::vector<std::string> & domains,uint16_t & baseTimeoutMsec,uint8_t & retryCount)162 int32_t NetsysControllerServiceImpl::GetResolverInfo(uint16_t netId, std::vector<std::string> &servers,
163     std::vector<std::string> &domains, uint16_t &baseTimeoutMsec, uint8_t &retryCount)
164 {
165     NETMGR_LOG_I("Get resolver config: netId[%{public}d]", netId);
166     if (mockNetsysClient_.CheckMockApi(MOCK_GETRESOLVERINFO_API)) {
167         return mockNetsysClient_.GetResolverInfo(netId, servers, domains, baseTimeoutMsec, retryCount);
168     }
169     return netsysClient_.GetResolverInfo(netId, servers, domains, baseTimeoutMsec, retryCount);
170 }
171 
CreateNetworkCache(uint16_t netId)172 int32_t NetsysControllerServiceImpl::CreateNetworkCache(uint16_t netId)
173 {
174     NETMGR_LOG_I("create dns cache: netId[%{public}d]", netId);
175     if (mockNetsysClient_.CheckMockApi(MOCK_CREATENETWORKCACHE_API)) {
176         return mockNetsysClient_.CreateNetworkCache(netId);
177     }
178     return netsysClient_.CreateNetworkCache(netId);
179 }
180 
DestroyNetworkCache(uint16_t netId)181 int32_t NetsysControllerServiceImpl::DestroyNetworkCache(uint16_t netId)
182 {
183     NETMGR_LOG_I("Destroy dns cache: netId[%{public}d]", netId);
184     if (mockNetsysClient_.CheckMockApi(MOCK_DESTROYNETWORKCACHE_API)) {
185         return mockNetsysClient_.DestroyNetworkCache(netId);
186     }
187     return netsysClient_.DestroyNetworkCache(netId);
188 }
189 
FlushNetworkCache(uint16_t netId)190 int32_t NetsysControllerServiceImpl::FlushNetworkCache(uint16_t netId)
191 {
192     NETMGR_LOG_I("Destroy Flush dns cache: netId[%{public}d]", netId);
193     if (mockNetsysClient_.CheckMockApi(MOCK_FLUSHNETWORKCACHE_API)) {
194         return mockNetsysClient_.FlushNetworkCache(netId);
195     }
196     return netsysClient_.FlushNetworkCache(netId);
197 }
198 
GetAddrInfo(const std::string & hostName,const std::string & serverName,const struct addrinfo & hints,std::unique_ptr<addrinfo> & res,uint16_t netId)199 int32_t NetsysControllerServiceImpl::GetAddrInfo(const std::string &hostName, const std::string &serverName,
200     const struct addrinfo &hints, std::unique_ptr<addrinfo> &res, uint16_t netId)
201 {
202     NETMGR_LOG_I("NetsysControllerServiceImpl GetAddrInfo");
203     if (mockNetsysClient_.CheckMockApi(MOCK_GETADDRINFO_API)) {
204         return mockNetsysClient_.GetAddrInfo(hostName, serverName, hints, res, netId);
205     }
206     return netsysClient_.GetAddrInfo(hostName, serverName, hints, res, netId);
207 }
208 
GetCellularRxBytes()209 int64_t NetsysControllerServiceImpl::GetCellularRxBytes()
210 {
211     NETMGR_LOG_I("NetsysControllerServiceImpl GetCellularRxBytes");
212     if (mockNetsysClient_.CheckMockApi(MOCK_GETCELLULARRXBYTES_API)) {
213         return mockNetsysClient_.GetCellularRxBytes();
214     }
215     return netsysClient_.GetCellularRxBytes();
216 }
217 
GetCellularTxBytes()218 int64_t NetsysControllerServiceImpl::GetCellularTxBytes()
219 {
220     NETMGR_LOG_I("NetsysControllerServiceImpl GetCellularTxBytes");
221     if (mockNetsysClient_.CheckMockApi(MOCK_GETCELLULARTXBYTES_API)) {
222         return mockNetsysClient_.GetCellularTxBytes();
223     }
224     return netsysClient_.GetCellularTxBytes();
225 }
226 
GetAllRxBytes()227 int64_t NetsysControllerServiceImpl::GetAllRxBytes()
228 {
229     NETMGR_LOG_I("NetsysControllerServiceImpl GetAllRxBytes");
230     if (mockNetsysClient_.CheckMockApi(MOCK_GETALLRXBYTES_API)) {
231         return mockNetsysClient_.GetAllRxBytes();
232     }
233     return netsysClient_.GetAllRxBytes();
234 }
235 
GetAllTxBytes()236 int64_t NetsysControllerServiceImpl::GetAllTxBytes()
237 {
238     NETMGR_LOG_I("NetsysControllerServiceImpl GetAllTxBytes");
239     if (mockNetsysClient_.CheckMockApi(MOCK_GETALLTXBYTES_API)) {
240         return mockNetsysClient_.GetAllTxBytes();
241     }
242     return netsysClient_.GetAllTxBytes();
243 }
244 
GetUidRxBytes(uint32_t uid)245 int64_t NetsysControllerServiceImpl::GetUidRxBytes(uint32_t uid)
246 {
247     NETMGR_LOG_I("NetsysControllerServiceImpl GetUidRxBytes");
248     if (mockNetsysClient_.CheckMockApi(MOCK_GETUIDRXBYTES_API)) {
249         return mockNetsysClient_.GetUidRxBytes(uid);
250     }
251     return netsysClient_.GetUidRxBytes(uid);
252 }
253 
GetUidTxBytes(uint32_t uid)254 int64_t NetsysControllerServiceImpl::GetUidTxBytes(uint32_t uid)
255 {
256     NETMGR_LOG_I("NetsysControllerServiceImpl GetUidTxBytes");
257     if (mockNetsysClient_.CheckMockApi(MOCK_GETUIDTXBYTES_API)) {
258         return mockNetsysClient_.GetUidTxBytes(uid);
259     }
260     return netsysClient_.GetUidTxBytes(uid);
261 }
262 
GetUidOnIfaceRxBytes(uint32_t uid,const std::string & interfaceName)263 int64_t NetsysControllerServiceImpl::GetUidOnIfaceRxBytes(uint32_t uid, const std::string &interfaceName)
264 {
265     NETMGR_LOG_I("NetsysControllerServiceImpl GetUidOnIfaceRxBytes");
266     if (mockNetsysClient_.CheckMockApi(MOCK_GETUIDRXBYTES_API)) {
267         return mockNetsysClient_.GetUidOnIfaceRxBytes(uid, interfaceName);
268     }
269     return netsysClient_.GetUidOnIfaceRxBytes(uid, interfaceName);
270 }
271 
GetUidOnIfaceTxBytes(uint32_t uid,const std::string & interfaceName)272 int64_t NetsysControllerServiceImpl::GetUidOnIfaceTxBytes(uint32_t uid, const std::string &interfaceName)
273 {
274     NETMGR_LOG_I("NetsysControllerServiceImpl GetUidOnIfaceTxBytes");
275     if (mockNetsysClient_.CheckMockApi(MOCK_GETUIDTXBYTES_API)) {
276         return mockNetsysClient_.GetUidOnIfaceTxBytes(uid, interfaceName);
277     }
278     return netsysClient_.GetUidOnIfaceTxBytes(uid, interfaceName);
279 }
280 
GetIfaceRxBytes(const std::string & interfaceName)281 int64_t NetsysControllerServiceImpl::GetIfaceRxBytes(const std::string &interfaceName)
282 {
283     NETMGR_LOG_I("NetsysControllerServiceImpl GetIfaceRxBytes");
284     if (mockNetsysClient_.CheckMockApi(MOCK_GETIFACERXBYTES_API)) {
285         return mockNetsysClient_.GetIfaceRxBytes(interfaceName);
286     }
287     return netsysClient_.GetIfaceRxBytes(interfaceName);
288 }
289 
GetIfaceTxBytes(const std::string & interfaceName)290 int64_t NetsysControllerServiceImpl::GetIfaceTxBytes(const std::string &interfaceName)
291 {
292     NETMGR_LOG_I("NetsysControllerServiceImpl GetIfaceTxBytes");
293     if (mockNetsysClient_.CheckMockApi(MOCK_GETIFACETXBYTES_API)) {
294         return mockNetsysClient_.GetIfaceTxBytes(interfaceName);
295     }
296     return netsysClient_.GetIfaceTxBytes(interfaceName);
297 }
298 
InterfaceGetList()299 std::vector<std::string> NetsysControllerServiceImpl::InterfaceGetList()
300 {
301     NETMGR_LOG_I("NetsysControllerServiceImpl InterfaceGetList");
302     if (mockNetsysClient_.CheckMockApi(MOCK_INTERFACEGETLIST_API)) {
303         return mockNetsysClient_.InterfaceGetList();
304     }
305     return netsysClient_.InterfaceGetList();
306 }
307 
UidGetList()308 std::vector<std::string> NetsysControllerServiceImpl::UidGetList()
309 {
310     NETMGR_LOG_I("NetsysControllerServiceImpl UidGetList");
311     if (mockNetsysClient_.CheckMockApi(MOCK_UIDGETLIST_API)) {
312         return mockNetsysClient_.UidGetList();
313     }
314     return netsysClient_.UidGetList();
315 }
316 
GetIfaceRxPackets(const std::string & interfaceName)317 int64_t NetsysControllerServiceImpl::GetIfaceRxPackets(const std::string &interfaceName)
318 {
319     NETMGR_LOG_D("NetsysControllerServiceImpl GetIfaceRxPackets");
320     if (mockNetsysClient_.CheckMockApi(MOCK_GETIFACERXPACKETS_API)) {
321         return mockNetsysClient_.GetIfaceRxPackets(interfaceName);
322     }
323     return netsysClient_.GetIfaceRxPackets(interfaceName);
324 }
325 
GetIfaceTxPackets(const std::string & interfaceName)326 int64_t NetsysControllerServiceImpl::GetIfaceTxPackets(const std::string &interfaceName)
327 {
328     NETMGR_LOG_D("NetsysControllerServiceImpl GetIfaceTxPackets");
329     if (mockNetsysClient_.CheckMockApi(MOCK_GETIFACETXPACKETS_API)) {
330         return mockNetsysClient_.GetIfaceTxPackets(interfaceName);
331     }
332     return netsysClient_.GetIfaceTxPackets(interfaceName);
333 }
334 
SetDefaultNetWork(int32_t netId)335 int32_t NetsysControllerServiceImpl::SetDefaultNetWork(int32_t netId)
336 {
337     NETMGR_LOG_D("NetsysControllerServiceImpl SetDefaultNetWork");
338     if (mockNetsysClient_.CheckMockApi(MOCK_SETDEFAULTNETWORK_API)) {
339         return mockNetsysClient_.SetDefaultNetWork(netId);
340     }
341     return netsysClient_.SetDefaultNetWork(netId);
342 }
343 
ClearDefaultNetWorkNetId()344 int32_t NetsysControllerServiceImpl::ClearDefaultNetWorkNetId()
345 {
346     NETMGR_LOG_D("NetsysControllerServiceImpl ClearDefaultNetWorkNetId");
347     if (mockNetsysClient_.CheckMockApi(MOCK_CLEARDEFAULTNETWORK_API)) {
348         return mockNetsysClient_.ClearDefaultNetWorkNetId();
349     }
350     return netsysClient_.ClearDefaultNetWorkNetId();
351 }
352 
BindSocket(int32_t socket_fd,uint32_t netId)353 int32_t NetsysControllerServiceImpl::BindSocket(int32_t socket_fd, uint32_t netId)
354 {
355     NETMGR_LOG_D("NetsysControllerServiceImpl BindSocket");
356     if (mockNetsysClient_.CheckMockApi(MOCK_BINDSOCKET_API)) {
357         return mockNetsysClient_.BindSocket(socket_fd, netId);
358     }
359     return netsysClient_.BindSocket(socket_fd, netId);
360 }
361 
IpEnableForwarding(const std::string & requester)362 int32_t NetsysControllerServiceImpl::IpEnableForwarding(const std::string& requester)
363 {
364     NETMGR_LOG_D("NetsysControllerServiceImpl IpEnableForwarding");
365     if (mockNetsysClient_.CheckMockApi(MOCK_IPENABLEFORWARDING_API)) {
366         return mockNetsysClient_.IpEnableForwarding(requester);
367     }
368     return netsysClient_.IpEnableForwarding(requester);
369 }
370 
IpDisableForwarding(const std::string & requester)371 int32_t NetsysControllerServiceImpl::IpDisableForwarding(const std::string& requester)
372 {
373     NETMGR_LOG_D("NetsysControllerServiceImpl IpDisableForwarding");
374     if (mockNetsysClient_.CheckMockApi(MOCK_IPDISABLEFORWARDING_API)) {
375         return mockNetsysClient_.IpDisableForwarding(requester);
376     }
377     return netsysClient_.IpDisableForwarding(requester);
378 }
379 
TetherAddForward(const std::string & downstreamIface,const std::string & upstreamIface)380 int32_t NetsysControllerServiceImpl::TetherAddForward(const std::string& downstreamIface,
381     const std::string& upstreamIface)
382 {
383     NETMGR_LOG_D("NetsysControllerServiceImpl TetherAddForward");
384     if (mockNetsysClient_.CheckMockApi(MOCK_TETHERADDFORWARD_API)) {
385         return mockNetsysClient_.TetherAddForward(downstreamIface, upstreamIface);
386     }
387     return netsysClient_.TetherAddForward(downstreamIface, upstreamIface);
388 }
389 
TetherRemoveForward(const std::string & downstreamIface,const std::string & upstreamIface)390 int32_t NetsysControllerServiceImpl::TetherRemoveForward(const std::string& downstreamIface,
391     const std::string& upstreamIface)
392 {
393     NETMGR_LOG_D("NetsysControllerServiceImpl TetherRemoveForward");
394     if (mockNetsysClient_.CheckMockApi(MOCK_TETHERREMOVEFORWARD_API)) {
395         return mockNetsysClient_.TetherRemoveForward(downstreamIface, upstreamIface);
396     }
397     return netsysClient_.TetherRemoveForward(downstreamIface, upstreamIface);
398 }
399 
IpfwdAddInterfaceForward(const std::string & fromIface,const std::string & toIface)400 int32_t NetsysControllerServiceImpl::IpfwdAddInterfaceForward(const std::string& fromIface, const std::string& toIface)
401 {
402     NETMGR_LOG_D("NetsysControllerServiceImpl IpfwdAddInterfaceForward");
403     if (mockNetsysClient_.CheckMockApi(MOCK_IPFWDADDIFACEFORWARD_API)) {
404         return mockNetsysClient_.IpfwdAddInterfaceForward(fromIface, toIface);
405     }
406     return netsysClient_.IpfwdAddInterfaceForward(fromIface, toIface);
407 }
408 
IpfwdRemoveInterfaceForward(const std::string & fromIface,const std::string & toIface)409 int32_t NetsysControllerServiceImpl::IpfwdRemoveInterfaceForward(const std::string& fromIface, const std::string& toIface)
410 {
411     NETMGR_LOG_D("NetsysControllerServiceImpl IpfwdRemoveInterfaceForward");
412     if (mockNetsysClient_.CheckMockApi(MOCK_IPFWDREMOVEIFACEFORWARD_API)) {
413         return mockNetsysClient_.IpfwdRemoveInterfaceForward(fromIface, toIface);
414     }
415     return netsysClient_.IpfwdRemoveInterfaceForward(fromIface, toIface);
416 }
417 
TetherDnsSet(uint32_t netId,const std::vector<std::string> & dnsAddrs)418 int32_t NetsysControllerServiceImpl::TetherDnsSet(uint32_t netId, const std::vector<std::string>& dnsAddrs)
419 {
420     NETMGR_LOG_D("NetsysControllerServiceImpl IpfwdRemoveInterfaceForward");
421     if (mockNetsysClient_.CheckMockApi(MOCK_TETHERDNSSET_API)) {
422         return mockNetsysClient_.TetherDnsSet(netId, dnsAddrs);
423     }
424     return netsysClient_.TetherDnsSet(netId, dnsAddrs);
425 }
426 
RegisterNetsysNotifyCallback(const NetsysNotifyCallback & callback)427 int32_t NetsysControllerServiceImpl::RegisterNetsysNotifyCallback(const NetsysNotifyCallback &callback)
428 {
429     NETMGR_LOG_D("NetsysControllerServiceImpl IpfwdRemoveInterfaceForward");
430     if (mockNetsysClient_.CheckMockApi(MOCK_REGISTERNETSYSNOTIFYCALLBACK_API)) {
431         return mockNetsysClient_.RegisterNetsysNotifyCallback(callback);
432     }
433     return netsysClient_.RegisterNetsysNotifyCallback(callback);
434 }
435 
436 
BindNetworkServiceVpn(int32_t socketFd)437 int32_t NetsysControllerServiceImpl::BindNetworkServiceVpn(int32_t socketFd)
438 {
439     NETMGR_LOG_D("NetsysNativeClient::BindNetworkServiceVpn");
440     if (mockNetsysClient_.CheckMockApi(MOCK_BINDNETWORKSERVICEVPN_API)) {
441         return mockNetsysClient_.BindNetworkServiceVpn(socketFd);
442     }
443     return netsysClient_.BindNetworkServiceVpn(socketFd);
444 }
445 
EnableVirtualNetIfaceCard(int32_t socketFd,struct ifreq & ifRequest,int32_t & ifaceFd)446 int32_t NetsysControllerServiceImpl::EnableVirtualNetIfaceCard(int32_t socketFd, struct ifreq &ifRequest,
447     int32_t &ifaceFd)
448 {
449     NETMGR_LOG_D("NetsysControllerServiceImpl::EnableVirtualNetIfaceCard");
450     if (mockNetsysClient_.CheckMockApi(MOCK_ENABLEVIRTUALNETIFACECARD_API)) {
451         return mockNetsysClient_.EnableVirtualNetIfaceCard(socketFd, ifRequest, ifaceFd);
452     }
453     return netsysClient_.EnableVirtualNetIfaceCard(socketFd, ifRequest, ifaceFd);
454 }
455 
SetIpAddress(int32_t socketFd,const std::string & ipAddress,int32_t prefixLen,struct ifreq & ifRequest)456 int32_t NetsysControllerServiceImpl::SetIpAddress(int32_t socketFd, const std::string &ipAddress, int32_t prefixLen,
457     struct ifreq &ifRequest)
458 {
459     NETMGR_LOG_D("NetsysControllerServiceImpl::SetIpAddress");
460     if (mockNetsysClient_.CheckMockApi(MOCK_SETIPADDRESS_API)) {
461         return mockNetsysClient_.SetIpAddress(socketFd, ipAddress, prefixLen, ifRequest);
462     }
463     return netsysClient_.SetIpAddress(socketFd, ipAddress, prefixLen, ifRequest);
464 }
465 
SetBlocking(int32_t ifaceFd,bool isBlock)466 int32_t NetsysControllerServiceImpl::SetBlocking(int32_t ifaceFd, bool isBlock)
467 {
468     NETMGR_LOG_D("NetsysControllerServiceImpl::SetBlocking");
469     if (mockNetsysClient_.CheckMockApi(MOCK_SETBLOCKING_API)) {
470         return mockNetsysClient_.SetBlocking(ifaceFd, isBlock);
471     }
472     return netsysClient_.SetBlocking(ifaceFd, isBlock);
473 }
474 
StartDhcpClient(const std::string & iface,bool bIpv6)475 int32_t NetsysControllerServiceImpl::StartDhcpClient(const std::string &iface, bool bIpv6)
476 {
477     NETMGR_LOG_D("NetsysControllerServiceImpl::StartDhcpClient");
478     if (mockNetsysClient_.CheckMockApi(MOCK_STARTDHCPCLIENT_API)) {
479         return mockNetsysClient_.StartDhcpClient(iface, bIpv6);
480     }
481     return netsysClient_.StartDhcpClient(iface, bIpv6);
482 }
483 
StopDhcpClient(const std::string & iface,bool bIpv6)484 int32_t NetsysControllerServiceImpl::StopDhcpClient(const std::string &iface, bool bIpv6)
485 {
486     NETMGR_LOG_D("NetsysControllerServiceImpl::StopDhcpClient");
487     if (mockNetsysClient_.CheckMockApi(MOCK_STOPDHCPCLIENT_API)) {
488         return mockNetsysClient_.StopDhcpClient(iface, bIpv6);
489     }
490     return netsysClient_.StopDhcpClient(iface, bIpv6);
491 }
492 
RegisterCallback(sptr<NetsysControllerCallback> callback)493 int32_t NetsysControllerServiceImpl::RegisterCallback(sptr<NetsysControllerCallback> callback)
494 {
495     NETMGR_LOG_D("NetsysControllerServiceImpl::RegisterCallback");
496     if (mockNetsysClient_.CheckMockApi(MOCK_REGISTERNOTIFYCALLBACK_API)) {
497         return mockNetsysClient_.RegisterCallback(callback);
498     }
499     return netsysClient_.RegisterCallback(callback);
500 }
501 
StartDhcpService(const std::string & iface,const std::string & ipv4addr)502 int32_t NetsysControllerServiceImpl::StartDhcpService(const std::string &iface, const std::string &ipv4addr)
503 {
504     NETMGR_LOG_D("NetsysControllerServiceImpl::SetBlocking");
505     if (mockNetsysClient_.CheckMockApi(MOCK_STARTDHCPSERVICE_API)) {
506         return mockNetsysClient_.StartDhcpService(iface, ipv4addr);
507     }
508     return netsysClient_.StartDhcpService(iface, ipv4addr);
509 }
510 
StopDhcpService(const std::string & iface)511 int32_t NetsysControllerServiceImpl::StopDhcpService(const std::string &iface)
512 {
513     NETMGR_LOG_D("NetsysControllerServiceImpl::StopDhcpService");
514     if (mockNetsysClient_.CheckMockApi(MOCK_STOPDHCPSERVICE_API)) {
515         return mockNetsysClient_.StopDhcpService(iface);
516     }
517     return netsysClient_.StopDhcpService(iface);
518 }
519 } // namespace NetManagerStandard
520 } // namespace OHOS
521