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