# Copyright (c) 2021-2024 Huawei Device Co., Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import("//build/ohos.gni") import("//foundation/communication/netmanager_base/netmanager_base_config.gni") config("net_stats_manager_config") { include_dirs = [ "$INNERKITS_ROOT/include", "$INNERKITS_ROOT/netconnclient/include", "$INNERKITS_ROOT/netmanagernative/include", "$INNERKITS_ROOT/netstatsclient/include", "$INNERKITS_ROOT/netstatsclient/include/proxy", "$NETCONNMANAGER_COMMON_DIR/include", "$NETMANAGER_BASE_ROOT/utils/log/include", "include", "include/stub", "include/common", "$NETSYSBPFMAP_SOURCE_DIR/include", "$NETSYSCONTROLLER_ROOT_DIR/include", "$NETSYSNATIVE_SOURCE_DIR/include/manager", "$NETSYSNATIVE_SOURCE_DIR/include/netsys/wrapper", "$NETMANAGER_BASE_ROOT/utils/common_utils/include", "$NETSYSNATIVE_SOURCE_DIR/include/netsys", "$NETMANAGER_BASE_ROOT/services/netmanagernative/bpf/include", ] } ohos_shared_library("net_stats_manager") { sanitize = { cfi = true cfi_cross_dso = true boundary_sanitize = true ubsan = true debug = false } branch_protector_ret = "pac_ret" sources = [ "src/common/net_stats_service_common.cpp", "src/net_stats_cached.cpp", "src/net_stats_callback.cpp", "src/net_stats_data_handler.cpp", "src/net_stats_database_helper.cpp", "src/net_stats_history.cpp", "src/net_stats_listener.cpp", "src/net_stats_service.cpp", "src/net_stats_sqlite_statement.cpp", "src/stub/net_stats_callback_proxy.cpp", "src/stub/net_stats_service_stub.cpp", ] configs = [ ":net_stats_manager_config" ] deps = [ "$INNERKITS_ROOT/netconnclient:net_conn_manager_if", "$INNERKITS_ROOT/netstatsclient:net_stats_parcel", "$NETCONNMANAGER_COMMON_DIR:net_service_common", "$NETMANAGER_BASE_ROOT/utils:net_manager_common", "$NETSYSCONTROLLER_ROOT_DIR:netsys_controller", ] cflags = [ "-fvisibility=hidden", "-fdata-sections", "-ffunction-sections", "-Os", "-fstack-protector-strong", "-D_FORTIFY_SOURCE=2", "-O2", ] cflags_cc = [ "-fvisibility-inlines-hidden", "-Os", "-fstack-protector-strong", "-D_FORTIFY_SOURCE=2", "-O2", ] ldflags = [ "-Wl,--exclude-libs=ALL", "-Wl,--gc-sections", ] external_deps = [ "ability_base:want", "bounds_checking_function:libsec_shared", "common_event_service:cesfwk_innerkits", "ffrt:libffrt", "hitrace:hitrace_meter", "ipc:ipc_core", "safwk:system_ability_fwk", "samgr:samgr_proxy", "sqlite:sqlite", ] defines = [ "USE_SQLITE_SYMBOLS", "NETMGR_LOG_TAG = \"NetStatsClient\"", "LOG_DOMAIN = 0xD0015B0", ] if (enable_netmgr_debug) { defines += [ "NETMGR_DEBUG" ] } external_deps += [ "hilog:libhilog" ] part_name = "netmanager_base" subsystem_name = "communication" } ohos_static_library("net_stats_manager_static") { testonly = true sanitize = { cfi = true cfi_cross_dso = true debug = false } branch_protector_ret = "pac_ret" sources = [ "src/common/net_stats_service_common.cpp", "src/net_stats_cached.cpp", "src/net_stats_callback.cpp", "src/net_stats_data_handler.cpp", "src/net_stats_database_helper.cpp", "src/net_stats_history.cpp", "src/net_stats_listener.cpp", "src/net_stats_service.cpp", "src/net_stats_sqlite_statement.cpp", "src/stub/net_stats_callback_proxy.cpp", "src/stub/net_stats_service_stub.cpp", ] configs = [ ":net_stats_manager_config" ] deps = [ "$INNERKITS_ROOT/netconnclient:net_conn_manager_if", "$INNERKITS_ROOT/netstatsclient:net_stats_parcel", "$NETCONNMANAGER_COMMON_DIR:net_service_common", "$NETMANAGER_BASE_ROOT/utils:net_manager_common", "$NETSYSCONTROLLER_ROOT_DIR:netsys_controller", ] external_deps = [ "ability_base:want", "common_event_service:cesfwk_innerkits", "ffrt:libffrt", "hitrace:hitrace_meter", "ipc:ipc_core", "safwk:system_ability_fwk", "sqlite:sqlite", ] defines = [ "USE_SQLITE_SYMBOLS", "NETMGR_LOG_TAG = \"NetStatsClient\"", "LOG_DOMAIN = 0xD0015B0", ] if (enable_netmgr_debug) { defines += [ "NETMGR_DEBUG" ] } external_deps += [ "hilog:libhilog" ] part_name = "netmanager_base" subsystem_name = "communication" }