• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2022-2024 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    "$EXT_INNERKITS_ROOT/include",
20    "$EXT_INNERKITS_ROOT/netshareclient/include",
21    "$EXT_INNERKITS_ROOT/netshareclient/include/proxy",
22    "$EXT_INNERKITS_ROOT/netshareclient/include/proxy/ipccallback",
23    "$NETWORKSHAREMANAGER_SOURCE_DIR/include",
24    "$NETWORKSHAREMANAGER_SOURCE_DIR/include/stub",
25    "$NETWORKSHAREMANAGER_SOURCE_DIR/include/utils",
26    "$NETWORKSHAREMANAGER_UTILS_DIR/event_report/include",
27  ]
28}
29
30ohos_shared_library("net_tether_manager") {
31  sanitize = {
32    cfi = true
33    cfi_cross_dso = true
34    blocklist = "./cfi_blocklist.txt"
35    debug = false
36  }
37
38  branch_protector_ret = "pac_ret"
39
40  sources = [
41    "$NETWORKSHAREMANAGER_INNERKITS_SOURCE_DIR/src/proxy/ipccallback/sharing_event_callback_proxy.cpp",
42    "$NETWORKSHAREMANAGER_INNERKITS_SOURCE_DIR/src/proxy/ipccallback/sharing_event_callback_stub.cpp",
43    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_configuration.cpp",
44    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_hisysevent.cpp",
45    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_main_statemachine.cpp",
46    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_service.cpp",
47    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_sub_statemachine.cpp",
48    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_tracker.cpp",
49    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_upstreammonitor.cpp",
50    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/router_advertisement_daemon.cpp",
51    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/router_advertisement_params.cpp",
52    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/utils/edm_parameter_utils.cpp",
53    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/utils/networkshare_utils.cpp",
54    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/utils/sys_timer.cpp",
55  ]
56
57  configs = [ ":net_tether_manager_config" ]
58
59  deps = [ "$NETMANAGER_EXT_ROOT/utils:net_event_report" ]
60  deps += [ "$EXT_INNERKITS_ROOT/netshareclient:netshare_service_interface_stub" ]
61
62  cflags = common_cflags + memory_optimization_cflags
63
64  cflags_cc = common_cflags + memory_optimization_cflags_cc
65
66  ldflags = memory_optimization_ldflags
67
68  external_deps = [
69    "ability_base:want",
70    "ability_base:zuri",
71    "ability_runtime:ability_manager",
72    "ability_runtime:extension_manager",
73    "bluetooth:btframework",
74    "c_utils:utils",
75    "common_event_service:cesfwk_innerkits",
76    "dhcp:dhcp_sdk",
77    "eventhandler:libeventhandler",
78    "ffrt:libffrt",
79    "hicollie:libhicollie",
80    "hisysevent:libhisysevent",
81    "init:libbeget_proxy",
82    "init:libbegetutil",
83    "ipc:ipc_core",
84    "netmanager_base:net_conn_manager_if",
85    "netmanager_base:net_data_share",
86    "netmanager_base:net_manager_common",
87    "netmanager_base:net_native_manager_if",
88    "netmanager_base:net_stats_manager_if",
89    "netmanager_base:net_service_common",
90    "netmanager_base:netsys_controller",
91    "safwk:system_ability_fwk",
92    "samgr:samgr_proxy",
93    "time_service:time_client",
94  ]
95
96  defines = []
97
98  if (communication_wifi_switch_enable) {
99    defines += [ "WIFI_MODOULE" ]
100    external_deps += [ "wifi:wifi_sdk" ]
101  }
102
103  if (battery_manager_switch_enable) {
104    defines += [ "SUPPORT_BATTERY_MANAGER" ]
105    external_deps += [ "battery_manager:batterysrv_client" ]
106  }
107
108  if (usb_manager_enable) {
109    defines += [ "USB_MODOULE" ]
110    external_deps += [
111      "drivers_interface_usb:usb_idl_headers",
112      "usb_manager:usbsrv_client",
113    ]
114  }
115
116  if (communication_bluetooth_switch_enable) {
117    defines += [ "BLUETOOTH_MODOULE=1" ]
118    external_deps += [ "bluetooth:btframework" ]
119  }
120
121  if (netmanager_ext_share_notification_enable) {
122    defines += [ "SHARE_NOTIFICATION_ENABLE" ]
123    sources +=
124        [ "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_notification.cpp" ]
125  }
126
127  if (netmanager_ext_share_traffic_limit_enable) {
128    external_deps += [
129      "cellular_data:tel_cellular_data_api",
130      "core_service:tel_core_service_api",
131      "data_share:datashare_consumer",
132    ]
133    defines += [ "SHARE_TRAFFIC_LIMIT_ENABLE" ]
134    sources +=
135        [ "$NETMANAGER_EXT_ROOT/frameworks/js/napi/vpn/src/networkshare_trafficlimit.cpp" ]
136  }
137
138  defines += [
139    "NETMGR_LOG_TAG = \"NetworkShareManager\"",
140    "LOG_DOMAIN = 0xD0015B0",
141    "NETWORK_SHARING_CONFIG_PATH = \"/system/etc/communication/netmanager_ext/network_share_config.cfg\"",
142  ]
143
144  if (enable_netmgr_ext_debug) {
145    defines += [ "NETMGR_DEBUG" ]
146  }
147
148  external_deps += [ "hilog:libhilog" ]
149
150  part_name = "netmanager_ext"
151  subsystem_name = "communication"
152}
153
154ohos_static_library("net_tether_manager_static") {
155  testonly = true
156  sanitize = {
157    cfi = true
158    cfi_cross_dso = true
159    blocklist = "./cfi_blocklist.txt"
160    debug = false
161  }
162
163  branch_protector_ret = "pac_ret"
164
165  sources = [
166    "$NETWORKSHAREMANAGER_INNERKITS_SOURCE_DIR/src/proxy/ipccallback/sharing_event_callback_proxy.cpp",
167    "$NETWORKSHAREMANAGER_INNERKITS_SOURCE_DIR/src/proxy/ipccallback/sharing_event_callback_stub.cpp",
168    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_configuration.cpp",
169    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_hisysevent.cpp",
170    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_main_statemachine.cpp",
171    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_service.cpp",
172    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_sub_statemachine.cpp",
173    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_tracker.cpp",
174    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_upstreammonitor.cpp",
175    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/router_advertisement_daemon.cpp",
176    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/router_advertisement_params.cpp",
177    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/utils/edm_parameter_utils.cpp",
178    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/utils/networkshare_utils.cpp",
179    "$NETWORKSHAREMANAGER_SOURCE_DIR/src/utils/sys_timer.cpp",
180  ]
181
182  configs = [ ":net_tether_manager_config" ]
183
184  deps = [
185    "$NETMANAGER_EXT_ROOT/utils:net_event_report",
186  ]
187  deps += [ "$EXT_INNERKITS_ROOT/netshareclient:netshare_service_interface_stub" ]
188
189  external_deps = [
190    "ability_base:want",
191    "ability_base:zuri",
192    "ability_runtime:ability_manager",
193    "ability_runtime:extension_manager",
194    "bluetooth:btframework",
195    "c_utils:utils",
196    "common_event_service:cesfwk_innerkits",
197    "dhcp:dhcp_sdk",
198    "eventhandler:libeventhandler",
199    "ffrt:libffrt",
200    "hicollie:libhicollie",
201    "hisysevent:libhisysevent",
202    "init:libbeget_proxy",
203    "init:libbegetutil",
204    "ipc:ipc_core",
205    "netmanager_base:netsys_controller",
206    "netmanager_base:net_conn_manager_if",
207    "netmanager_base:net_data_share",
208    "netmanager_base:net_manager_common",
209    "netmanager_base:net_native_manager_if",
210    "netmanager_base:net_service_common",
211    "netmanager_base:net_stats_manager_if",
212    "safwk:system_ability_fwk",
213    "samgr:samgr_proxy",
214    "time_service:time_client",
215  ]
216
217  defines = []
218
219  if (communication_wifi_switch_enable) {
220    defines += [ "WIFI_MODOULE" ]
221    external_deps += [ "wifi:wifi_sdk" ]
222  }
223
224  if (battery_manager_switch_enable) {
225    defines += [ "SUPPORT_BATTERY_MANAGER" ]
226    external_deps += [ "battery_manager:batterysrv_client" ]
227  }
228
229  if (usb_manager_enable) {
230    defines += [ "USB_MODOULE" ]
231    external_deps += [
232      "drivers_interface_usb:usb_idl_headers",
233      "usb_manager:usbsrv_client",
234    ]
235  }
236
237  if (communication_bluetooth_switch_enable) {
238    defines += [ "BLUETOOTH_MODOULE=1" ]
239    external_deps += [ "bluetooth:btframework" ]
240  }
241
242  if (netmanager_ext_share_notification_enable) {
243    defines += [ "SHARE_NOTIFICATION_ENABLE" ]
244    sources +=
245        [ "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_notification.cpp" ]
246  }
247
248  if (netmanager_ext_share_traffic_limit_enable) {
249    external_deps += [
250      "cellular_data:tel_cellular_data_api",
251      "core_service:tel_core_service_api",
252      "data_share:datashare_consumer",
253    ]
254    defines += [ "SHARE_TRAFFIC_LIMIT_ENABLE" ]
255    sources +=
256        [ "$NETMANAGER_EXT_ROOT/frameworks/js/napi/vpn/src/networkshare_trafficlimit.cpp" ]
257  }
258
259  defines += [
260    "NETMGR_LOG_TAG = \"NetworkShareManager\"",
261    "LOG_DOMAIN = 0xD0015B0",
262    "NETWORK_SHARING_CONFIG_PATH = \"/system/etc/communication/netmanager_ext/network_share_config.cfg\"",
263  ]
264
265  if (enable_netmgr_ext_debug) {
266    defines += [ "NETMGR_DEBUG" ]
267  }
268
269  external_deps += [ "hilog:libhilog" ]
270
271  part_name = "netmanager_ext"
272  subsystem_name = "communication"
273}
274
275## Install network_share_config.cfg to /system/etc/communication/netmanager_ext
276ohos_prebuilt_etc("network_share_config") {
277  source = "$NETMANAGER_EXT_ROOT/services/networksharemanager/network_share_config.cfg"
278  install_enable = true
279  relative_install_dir = "communication/netmanager_ext"
280  part_name = "netmanager_ext"
281  subsystem_name = "communication"
282}
283