• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2022-2023 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6#     http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14import("//build/ohos.gni")
15import("//foundation/communication/netmanager_ext/netmanager_ext_config.gni")
16
17config("net_tether_manager_config") {
18  include_dirs = [
19    "$UTILS_ROOT/native/base/include",
20    "$UTILS_ROOT/system/safwk/native/include",
21    "$THIRD_PARTY_ROOT/json/include",
22    "$THIRD_PARTY_ROOT/openssl/include",
23    "$BASE_INNERKITS_ROOT/netshareclient/include",
24    "$BASE_INNERKITS_ROOT/netshareclient/include/proxy",
25    "$BASE_INNERKITS_ROOT/netshareclient/include/proxy/ipccallback",
26    "$BASE_INNERKITS_ROOT/ethernetclient/include/proxy",
27    "$BASE_INNERKITS_ROOT/netstatsclient/include",
28    "$EXT_INNERKITS_ROOT/include",
29    "$EXT_INNERKITS_ROOT/netshareclient/include",
30    "$EXT_INNERKITS_ROOT/netshareclient/include/proxy",
31    "$EXT_INNERKITS_ROOT/netshareclient/include/proxy/ipccallback",
32    "$NETCONNMANAGER_COMMON_DIR/include",
33    "$NETMANAGER_EXT_ROOT/utils/log/include",
34    "$NETWORKSHAREMANAGER_SOURCE_DIR/include",
35    "$NETWORKSHAREMANAGER_SOURCE_DIR/include/stub",
36    "$NETWORKSHAREMANAGER_UTILS_DIR/event_report/include",
37    "$BASE_INNERKITS_ROOT/include",
38    "$BASE_INNERKITS_ROOT/netconnclient/include",
39    "$BASE_INNERKITS_ROOT/netmanagernative/include",
40    "$BASE_INNERKITS_ROOT/dnsresolverclient/include",
41    "$NETSYSCONTROLLER_ROOT_DIR/include",
42    "$WIFI_MANAGER_ROOT/interfaces/kits/c",
43    "$WIFI_MANAGER_ROOT/frameworks/native/interfaces",
44    "$DHCP_MANAGER_ROOT/interfaces/inner_api/interfaces",
45    "$DHCP_MANAGER_ROOT/interfaces/inner_api/include",
46    "$BLUETOOTH_ROOT/interfaces/inner_api/include",
47    "$USB_MANAGER_ROOT/interfaces/innerkits/native/include",
48    "$USB_MANAGER_ROOT/utils/native/include",
49    "$USB_MANAGER_ROOT/services/zidl/include",
50    "//third_party/jsoncpp/include/json",
51    "$NETMANAGER_BASE_ROOT/services/netmanagernative/include/netsys",
52    "$NETMANAGER_BASE_ROOT/utils/common_utils/include",
53    "$SAMGR_MANAGER_ROOT/interfaces/innerkits/samgr_proxy/include",
54  ]
55}
56
57ohos_shared_library("net_tether_manager") {
58  sources = [
59    "$NETWORKSHAREMANAGER_INNERKITS_SOURCE_DIR/src/proxy/ipccallback/sharing_event_callback_proxy.cpp",
60    "$NETWORKSHAREMANAGER_INNERKITS_SOURCE_DIR/src/proxy/ipccallback/sharing_event_callback_stub.cpp",
61    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_configuration.cpp",
62    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_hisysevent.cpp",
63    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_main_statemachine.cpp",
64    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_service.cpp",
65    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_sub_statemachine.cpp",
66    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_tracker.cpp",
67    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_upstreammonitor.cpp",
68    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/stub/networkshare_service_stub.cpp",
69  ]
70
71  configs = [ ":net_tether_manager_config" ]
72
73  deps = [ "$NETMANAGER_EXT_ROOT/utils:net_event_report" ]
74
75  cflags = [
76    "-fvisibility=hidden",
77    "-fdata-sections",
78    "-ffunction-sections",
79    "-Os",
80  ]
81
82  cflags_cc = [
83    "-fvisibility-inlines-hidden",
84    "-Os",
85  ]
86
87  ldflags = [
88    "-Wl,--exclude-libs=ALL",
89    "-Wl,--gc-sections",
90  ]
91
92  external_deps = [
93    "c_utils:utils",
94    "dhcp:dhcp_manager_service",
95    "drivers_interface_usb:usb_idl_headers",
96    "eventhandler:libeventhandler",
97    "ipc:ipc_core",
98    "netmanager_base:net_conn_manager_if",
99    "netmanager_base:net_manager_common",
100    "netmanager_base:netsys_controller",
101    "safwk:system_ability_fwk",
102    "usb_manager:usbsrv_client",
103    "wifi:wifi_sdk",
104  ]
105
106  if (!defined(global_parts_info) ||
107      defined(global_parts_info.communication_bluetooth)) {
108    defines = [ "BLUETOOTH_MODOULE=1" ]
109    external_deps += [ "bluetooth:btframework" ]
110  } else {
111    defines = []
112  }
113
114  defines += [
115    "NETMGR_LOG_TAG = \"NetworkShareManager\"",
116    "LOG_DOMAIN = 0xD0015B0",
117    "NETWORK_SHARING_CONFIG_PATH = \"/system/etc/communication/netmanager_ext/network_share_config.cfg\"",
118  ]
119
120  if (enable_netmgr_ext_debug) {
121    defines += [ "NETMGR_DEBUG" ]
122  }
123
124  external_deps += [ "hilog:libhilog" ]
125
126  part_name = "netmanager_ext"
127  subsystem_name = "communication"
128}
129
130ohos_static_library("net_tether_manager_static") {
131  testonly = true
132  sources = [
133    "$NETWORKSHAREMANAGER_INNERKITS_SOURCE_DIR/src/proxy/ipccallback/sharing_event_callback_proxy.cpp",
134    "$NETWORKSHAREMANAGER_INNERKITS_SOURCE_DIR/src/proxy/ipccallback/sharing_event_callback_stub.cpp",
135    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_configuration.cpp",
136    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_hisysevent.cpp",
137    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_main_statemachine.cpp",
138    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_service.cpp",
139    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_sub_statemachine.cpp",
140    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_tracker.cpp",
141    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_upstreammonitor.cpp",
142    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/stub/networkshare_service_stub.cpp",
143  ]
144
145  configs = [ ":net_tether_manager_config" ]
146
147  deps = [
148    "$BASE_INNERKITS_ROOT/netconnclient:net_conn_manager_if",
149    "$DHCP_MANAGER_ROOT/services/mgr_service:dhcp_manager_service",
150    "$NETMANAGER_BASE_ROOT/utils:net_manager_common",
151    "$NETMANAGER_EXT_ROOT/utils:net_event_report",
152    "$NETSYSCONTROLLER_ROOT_DIR:netsys_controller",
153    "$USB_MANAGER_ROOT/interfaces/innerkits:usbsrv_client",
154  ]
155
156  external_deps = [
157    "c_utils:utils",
158    "drivers_interface_usb:usb_idl_headers",
159    "eventhandler:libeventhandler",
160    "ipc:ipc_core",
161    "safwk:system_ability_fwk",
162    "wifi:wifi_sdk",
163  ]
164
165  if (!defined(global_parts_info) ||
166      defined(global_parts_info.communication_bluetooth)) {
167    defines = [ "BLUETOOTH_MODOULE=1" ]
168    external_deps += [ "bluetooth:btframework" ]
169  } else {
170    defines = []
171  }
172
173  defines += [
174    "NETMGR_LOG_TAG = \"NetworkShareManager\"",
175    "LOG_DOMAIN = 0xD0015B0",
176    "NETWORK_SHARING_CONFIG_PATH = \"/system/etc/communication/netmanager_ext/network_share_config.cfg\"",
177  ]
178
179  if (enable_netmgr_ext_debug) {
180    defines += [ "NETMGR_DEBUG" ]
181  }
182
183  external_deps += [ "hilog:libhilog" ]
184
185  part_name = "netmanager_ext"
186  subsystem_name = "communication"
187}
188
189## Install network_share_config.cfg to /system/etc/communication/netmanager_ext
190ohos_prebuilt_etc("network_share_config") {
191  source = "$NETMANAGER_EXT_ROOT/services/networksharemanager/network_share_config.cfg"
192  install_enable = true
193  relative_install_dir = "communication/netmanager_ext"
194  part_name = "netmanager_ext"
195}
196