• 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/config/components/idl_tool/idl.gni")
15import("//build/ohos.gni")
16import("//foundation/communication/netmanager_base/netmanager_base_config.gni")
17
18config("net_stats_manager_if_config") {
19  # header file path
20  include_dirs = [
21    "${target_gen_dir}",
22    "$INNERKITS_ROOT/include",
23    "$INNERKITS_ROOT/netstatsclient/include/proxy",
24    "$INNERKITS_ROOT/netstatsclient/include",
25    "$INNERKITS_ROOT/netmanagernative/include",
26    "$INNERKITS_ROOT/netconnclient/include",
27    "$NETSYSNATIVE_SOURCE_DIR/include/netsys",
28  ]
29
30  cflags = []
31  if (is_double_framework) {
32    cflags += [ "-DCONFIG_DUAL_FRAMEWORK" ]
33  }
34  if (target_cpu == "arm") {
35    cflags += [ "-DBINDER_IPC_32BIT" ]
36  }
37  if (is_standard_system) {
38    cflags += [ "-DCONFIG_STANDARD_SYSTEM" ]
39  }
40  if (defined(build_public_version) && build_public_version) {
41    cflags += [ "-DBUILD_PUBLIC_VERSION" ]
42  }
43}
44
45ohos_source_set("net_stats_parcel") {
46  sources = [
47    "$NETSTATSMANAGER_INNERKITS_SOURCE_DIR/src/net_push_stats_info.cpp",
48    "$NETSTATSMANAGER_INNERKITS_SOURCE_DIR/src/net_stats_info.cpp",
49    "$NETSTATSMANAGER_INNERKITS_SOURCE_DIR/src/net_stats_info_sequence.cpp",
50    "$NETSTATSMANAGER_INNERKITS_SOURCE_DIR/src/net_stats_network.cpp",
51  ]
52  sanitize = {
53    cfi = true
54    cfi_cross_dso = true
55    debug = false
56  }
57
58  branch_protector_ret = "pac_ret"
59
60  include_dirs = [ "$INNERKITS_ROOT/netstatsclient/include" ]
61
62  deps = [ "$NETMANAGER_BASE_ROOT/utils:net_manager_common" ]
63  external_deps = [ "c_utils:utils" ]
64  external_deps += [ "hilog:libhilog" ]
65
66  part_name = "netmanager_base"
67  subsystem_name = "communication"
68}
69
70idl_gen_interface("netstats_service_interface") {
71  sources = [ "INetStatsService.idl" ]
72}
73
74config("netstats_service_interface_stub_config") {
75  include_dirs = [
76    "${target_gen_dir}",
77    "include",
78    "include/proxy",
79  ]
80}
81
82ohos_source_set("netstats_service_interface_stub") {
83  sanitize = {
84    cfi = true
85    cfi_cross_dso = true
86    debug = false
87  }
88  public_configs = [ ":netstats_service_interface_stub_config" ]
89  output_values = get_target_outputs(":netstats_service_interface")
90  sources = []
91  sources += filter_include(output_values, [ "*ice_stub.cpp" ])
92  deps = [ ":netstats_service_interface" ]
93  external_deps = [
94    "hilog:libhilog",
95    "ipc:ipc_single",
96    "samgr:samgr_proxy",
97    "c_utils:utils",
98  ]
99  part_name = "netmanager_base"
100  subsystem_name = "communication"
101}
102
103ohos_shared_library("net_stats_manager_if") {
104  sanitize = {
105    cfi = true
106    cfi_cross_dso = true
107    boundary_sanitize = true
108    all_ubsan = true
109    debug = false
110  }
111
112  branch_protector_ret = "pac_ret"
113
114  sources = [
115    "$NETSTATSMANAGER_INNERKITS_SOURCE_DIR/src/data_flow_statistics.cpp",
116    "$NETSTATSMANAGER_INNERKITS_SOURCE_DIR/src/net_stats_client.cpp",
117    "$NETSTATSMANAGER_INNERKITS_SOURCE_DIR/src/proxy/net_stats_callback_stub.cpp",
118  ]
119
120  output_values = get_target_outputs(":netstats_service_interface")
121  sources += filter_include(output_values, [ "*ice_proxy.cpp" ])
122
123  include_dirs = [
124    "$NETMANAGER_BASE_ROOT/utils/common_utils/include",
125    "$NETSYSCONTROLLER_ROOT_DIR/include/",
126  ]
127
128  version_script = "libnetstats_kits.map"
129
130  public_configs = [ ":net_stats_manager_if_config" ]
131
132  cflags = common_cflags
133
134  cflags_cc = common_cflags
135  deps = [
136    ":net_stats_parcel",
137    "$NETSYSCONTROLLER_ROOT_DIR:netsys_controller",
138  ]
139  deps += [ ":netstats_service_interface" ]
140
141  external_deps = [
142    "bounds_checking_function:libsec_shared",
143    "c_utils:utils",
144    "ipc:ipc_single",
145    "samgr:samgr_proxy",
146  ]
147
148  defines = [
149    "NETMGR_LOG_TAG = \"NetStatsClient\"",
150    "LOG_DOMAIN = 0xD0015B0",
151  ]
152
153  if (enable_netmgr_debug) {
154    defines += [ "NETMGR_DEBUG" ]
155  }
156
157  external_deps += [ "hilog:libhilog" ]
158
159  innerapi_tags = [ "platformsdk" ]
160  part_name = "netmanager_base"
161  subsystem_name = "communication"
162}
163