• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2021-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_base/netmanager_base_config.gni")
16
17config("net_stats_manager_config") {
18  include_dirs = [
19    "$INNERKITS_ROOT/netmanagernative/include",
20    "$INNERKITS_ROOT/netstatsclient/include/proxy",
21    "$NETCONNMANAGER_COMMON_DIR/include",
22    "include",
23    "include/stub",
24    "include/common",
25    "$NETSYSBPFMAP_SOURCE_DIR/include",
26    "$NETSYSCONTROLLER_ROOT_DIR/include",
27    "$NETSYSNATIVE_SOURCE_DIR/include/manager",
28    "$NETSYSNATIVE_SOURCE_DIR/include/netsys/wrapper",
29    "$NETSYSNATIVE_SOURCE_DIR/include/netsys",
30    "$NETMANAGER_BASE_ROOT/services/netmanagernative/bpf/include",
31  ]
32}
33
34ohos_shared_library("net_stats_manager") {
35  sanitize = {
36    cfi = true
37    cfi_cross_dso = true
38    boundary_sanitize = true
39    ubsan = true
40    debug = false
41  }
42
43  branch_protector_ret = "pac_ret"
44
45  sources = [
46    "$NETMANAGER_BASE_ROOT/frameworks/js/napi/netstats/src/net_stats_cached.cpp",
47    "$NETMANAGER_BASE_ROOT/frameworks/js/napi/netstats/src/net_stats_service.cpp",
48    "src/common/net_stats_service_common.cpp",
49    "src/net_stats_callback.cpp",
50    "src/net_stats_data_handler.cpp",
51    "src/net_stats_database_helper.cpp",
52    "src/net_stats_history.cpp",
53    "src/net_stats_listener.cpp",
54    "src/net_stats_sqlite_statement.cpp",
55    "src/net_stats_subscriber.cpp",
56    "src/stub/net_stats_callback_proxy.cpp",
57  ]
58
59  configs = [ ":net_stats_manager_config" ]
60
61  deps = [
62    "$INNERKITS_ROOT/netconnclient:net_conn_manager_if",
63    "$INNERKITS_ROOT/netstatsclient:net_stats_parcel",
64    "$INNERKITS_ROOT/netstatsclient:netstats_service_interface_stub",
65    "$NETCONNMANAGER_COMMON_DIR:net_service_common",
66    "$NETMANAGER_BASE_ROOT/services/netmanagernative:netsys_native_manager",
67    "$NETMANAGER_BASE_ROOT/utils:net_data_share",
68    "$NETMANAGER_BASE_ROOT/utils:net_manager_common",
69    "$NETSYSCONTROLLER_ROOT_DIR:netsys_controller",
70  ]
71
72  cflags = common_cflags + [
73    "-fvisibility=hidden",
74  ]
75
76  cflags_cc = common_cflags + [
77    "-fvisibility=hidden",
78    "-fvisibility-inlines-hidden",
79  ]
80
81  ldflags = [
82    "-Wl,--exclude-libs=ALL",
83    "-Wl,--gc-sections",
84  ]
85
86  external_deps = [
87    "ability_base:want",
88    "ability_runtime:wantagent_innerkits",
89    "bounds_checking_function:libsec_shared",
90    "common_event_service:cesfwk_innerkits",
91    "eventhandler:libeventhandler",
92    "ffrt:libffrt",
93    "hitrace:hitrace_meter",
94    "ipc:ipc_core",
95    "safwk:system_ability_fwk",
96    "samgr:samgr_proxy",
97    "sqlite:sqlite",
98    "time_service:time_client",
99    "os_account:os_account_innerkits",
100  ]
101
102  defines = [
103    "USE_SQLITE_SYMBOLS",
104    "NETMGR_LOG_TAG = \"NetStatsClient\"",
105    "LOG_DOMAIN = 0xD0015B0",
106  ]
107
108  if (netmanager_base_enable_netsys_access_policy_diag_listen) {
109    external_deps += [
110      "ability_runtime:ability_manager",
111      "ability_runtime:dataobs_manager",
112      "cJSON:cjson",
113      "cellular_data:tel_cellular_data_api",
114      "core_service:tel_core_service_api",
115      "data_share:datashare_consumer",
116      "distributed_notification_service:ans_innerkits",
117      "i18n:intl_util",
118      "relational_store:native_rdb",
119    ]
120    defines += [ "SUPPORT_TRAFFIC_STATISTIC" ]
121    sources += [
122      "$NETMANAGER_BASE_ROOT/frameworks/js/napi/netstats/src/net_stats_settings_observer.cpp",
123      "$NETMANAGER_BASE_ROOT/frameworks/js/napi/netstats/src/net_stats_trafficLimit_dialog.cpp",
124      "src/net_stats_base.cpp",
125      "src/net_stats_notification.cpp",
126      "src/net_stats_utils.cpp",
127    ]
128  }
129
130  if (netmanager_base_share_traffic_limit_enable) {
131    defines += [ "SUPPORT_NETWORK_SHARE" ]
132    external_deps += [ "netmanager_ext:net_tether_manager_if" ]
133  }
134
135  if (enable_netmgr_debug) {
136    defines += [ "NETMGR_DEBUG" ]
137  }
138
139  external_deps += [ "hilog:libhilog" ]
140
141  part_name = "netmanager_base"
142  subsystem_name = "communication"
143}
144
145ohos_static_library("net_stats_manager_static") {
146  testonly = true
147  sanitize = {
148    cfi = true
149    cfi_cross_dso = true
150    debug = false
151  }
152
153  branch_protector_ret = "pac_ret"
154
155  sources = [
156    "$NETMANAGER_BASE_ROOT/frameworks/js/napi/netstats/src/net_stats_cached.cpp",
157    "$NETMANAGER_BASE_ROOT/frameworks/js/napi/netstats/src/net_stats_service.cpp",
158    "src/common/net_stats_service_common.cpp",
159    "src/net_stats_callback.cpp",
160    "src/net_stats_data_handler.cpp",
161    "src/net_stats_database_helper.cpp",
162    "src/net_stats_history.cpp",
163    "src/net_stats_listener.cpp",
164    "src/net_stats_subscriber.cpp",
165    "src/net_stats_sqlite_statement.cpp",
166    "src/stub/net_stats_callback_proxy.cpp",
167  ]
168
169  configs = [ ":net_stats_manager_config" ]
170
171  deps = [
172    "$INNERKITS_ROOT/netconnclient:net_conn_manager_if",
173    "$INNERKITS_ROOT/netstatsclient:net_stats_parcel",
174    "$INNERKITS_ROOT/netstatsclient:netstats_service_interface_stub",
175    "$NETCONNMANAGER_COMMON_DIR:net_service_common",
176    "$NETMANAGER_BASE_ROOT/services/netmanagernative:netsys_native_manager",
177    "$NETMANAGER_BASE_ROOT/utils:net_data_share",
178    "$NETMANAGER_BASE_ROOT/utils:net_manager_common",
179    "$NETSYSCONTROLLER_ROOT_DIR:netsys_controller",
180  ]
181
182  external_deps = [
183    "ability_base:want",
184    "ability_runtime:wantagent_innerkits",
185    "common_event_service:cesfwk_innerkits",
186    "eventhandler:libeventhandler",
187    "ffrt:libffrt",
188    "hitrace:hitrace_meter",
189    "ipc:ipc_core",
190    "safwk:system_ability_fwk",
191    "samgr:samgr_proxy",
192    "sqlite:sqlite",
193    "time_service:time_client",
194    "os_account:os_account_innerkits"
195  ]
196
197  defines = [
198    "USE_SQLITE_SYMBOLS",
199    "NETMGR_LOG_TAG = \"NetStatsClient\"",
200    "LOG_DOMAIN = 0xD0015B0",
201    "UNITTEST_FORBID_FFRT",
202    "NETMANAGER_TEST",
203  ]
204
205  if (netmanager_base_enable_netsys_access_policy_diag_listen) {
206    external_deps += [
207      "ability_runtime:ability_manager",
208      "ability_runtime:dataobs_manager",
209      "cJSON:cjson",
210      "cellular_data:tel_cellular_data_api",
211      "core_service:tel_core_service_api",
212      "data_share:datashare_consumer",
213      "distributed_notification_service:ans_innerkits",
214      "i18n:intl_util",
215      "relational_store:native_rdb",
216      "os_account:os_account_innerkits"
217    ]
218    defines += [ "SUPPORT_TRAFFIC_STATISTIC" ]
219    sources += [
220      "$NETMANAGER_BASE_ROOT/frameworks/js/napi/netstats/src/net_stats_settings_observer.cpp",
221      "$NETMANAGER_BASE_ROOT/frameworks/js/napi/netstats/src/net_stats_trafficLimit_dialog.cpp",
222      "src/net_stats_base.cpp",
223      "src/net_stats_notification.cpp",
224      "src/net_stats_utils.cpp",
225    ]
226  }
227
228  if (netmanager_base_share_traffic_limit_enable) {
229    defines += [ "SUPPORT_NETWORK_SHARE" ]
230    external_deps += [ "netmanager_ext:net_tether_manager_if" ]
231  }
232
233  if (enable_netmgr_debug) {
234    defines += [ "NETMGR_DEBUG" ]
235  }
236
237  external_deps += [ "hilog:libhilog" ]
238
239  part_name = "netmanager_base"
240  subsystem_name = "communication"
241}
242