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