1# Copyright (C) 2021 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.
13import("//build/ohos.gni")
14import("../core_service/telephony_core_service.gni")
15
16TELEPHONY_EXT_WRAPPER_ROOT = "services/telephony_ext_wrapper"
17DATA_SERVICE_EXT_WRAPPER_ROOT = "services/data_service_ext_wrapper"
18
19ohos_shared_library("tel_cellular_data") {
20  sanitize = {
21    cfi = true
22    cfi_cross_dso = true
23    debug = false
24  }
25  use_exceptions = true
26  branch_protector_ret = "pac_ret"
27  sources = [
28    "$DATA_SERVICE_EXT_WRAPPER_ROOT/src/data_service_ext_wrapper.cpp",
29    "$TELEPHONY_EXT_WRAPPER_ROOT/src/telephony_ext_wrapper.cpp",
30    "services/src/apn_manager/apn_holder.cpp",
31    "services/src/apn_manager/apn_item.cpp",
32    "services/src/apn_manager/apn_manager.cpp",
33    "services/src/apn_manager/connection_retry_policy.cpp",
34    "services/src/cellular_data_controller.cpp",
35    "services/src/cellular_data_dump_helper.cpp",
36    "services/src/cellular_data_handler.cpp",
37    "services/src/cellular_data_incall_observer.cpp",
38    "services/src/cellular_data_rdb_observer.cpp",
39    "services/src/cellular_data_roaming_observer.cpp",
40    "services/src/cellular_data_service.cpp",
41    "services/src/cellular_data_service_stub.cpp",
42    "services/src/cellular_data_setting_observer.cpp",
43    "services/src/data_connection_manager.cpp",
44    "services/src/data_connection_monitor.cpp",
45    "services/src/data_switch_settings.cpp",
46    "services/src/sim_account_callback_proxy.cpp",
47    "services/src/state_machine/activating.cpp",
48    "services/src/state_machine/active.cpp",
49    "services/src/state_machine/cellular_data_state_machine.cpp",
50    "services/src/state_machine/default.cpp",
51    "services/src/state_machine/disconnecting.cpp",
52    "services/src/state_machine/inactive.cpp",
53    "services/src/state_machine/incall_data_state_machine.cpp",
54    "services/src/state_notification.cpp",
55    "services/src/traffic_management.cpp",
56    "services/src/utils/cellular_data_hisysevent.cpp",
57    "services/src/utils/cellular_data_net_agent.cpp",
58    "services/src/utils/cellular_data_rdb_helper.cpp",
59    "services/src/utils/cellular_data_settings_rdb_helper.cpp",
60    "services/src/utils/cellular_data_utils.cpp",
61    "services/src/utils/net_manager_call_back.cpp",
62    "services/src/utils/net_manager_tactics_call_back.cpp",
63    "services/src/utils/network_search_callback.cpp",
64  ]
65
66  include_dirs = [
67    "$TELEPHONY_EXT_WRAPPER_ROOT/include",
68    "$DATA_SERVICE_EXT_WRAPPER_ROOT/include",
69    "services/include",
70    "services/include/common",
71    "services/include/state_machine",
72    "services/include/utils",
73    "services/include/apn_manager",
74    "interfaces/innerkits",
75  ]
76
77  external_deps = [
78    "ability_base:want",
79    "ability_base:zuri",
80    "ability_runtime:abilitykit_native",
81    "ability_runtime:data_ability_helper",
82    "ability_runtime:dataobs_manager",
83    "c_utils:utils",
84    "common_event_service:cesfwk_innerkits",
85    "core_service:libtel_common",
86    "core_service:tel_core_service_api",
87    "data_share:datashare_common",
88    "data_share:datashare_consumer",
89    "eventhandler:libeventhandler",
90    "hilog:libhilog",
91    "hisysevent:libhisysevent",
92    "hitrace:hitrace_meter",
93    "init:libbegetutil",
94    "ipc:ipc_single",
95    "netmanager_base:net_conn_manager_if",
96    "netmanager_base:net_policy_manager_if",
97    "netmanager_base:net_stats_manager_if",
98    "relational_store:native_dataability",
99    "relational_store:native_rdb",
100    "safwk:system_ability_fwk",
101    "samgr:samgr_proxy",
102    "telephony_data:tel_telephony_data",
103  ]
104
105  defines = [
106    "TELEPHONY_LOG_TAG = \"CellularData\"",
107    "LOG_DOMAIN = 0xD001F03",
108  ]
109
110  if (defined(global_parts_info) &&
111      defined(global_parts_info.powermgr_power_manager) &&
112      global_parts_info.powermgr_power_manager) {
113    external_deps += [ "power_manager:powermgr_client" ]
114    defines += [ "ABILITY_POWER_SUPPORT" ]
115  }
116
117  if (telephony_hicollie_able) {
118    external_deps += [ "hicollie:libhicollie" ]
119    defines += [ "HICOLLIE_ENABLE" ]
120  }
121
122  if (defined(global_parts_info) &&
123      defined(global_parts_info.communication_netmanager_enhanced)) {
124    defines += [ "OHOS_BUILD_ENABLE_DATA_SERVICE_EXT" ]
125  }
126
127  cflags_cc = [
128    "-O2",
129    "-D_FORTIFY_SOURCE=2",
130  ]
131
132  defines += telephony_extra_defines
133
134  part_name = "cellular_data"
135  subsystem_name = "telephony"
136}
137