1# Copyright (c) 2023-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("../device_status.gni") 15 16config("devicestatus_services_private_config") { 17 include_dirs = [ 18 "boomerang/include", 19 "delegate_task/include", 20 "native/include", 21 "${device_status_utils_path}/include", 22 "${device_status_interfaces_path}/innerkits/include", 23 "${device_status_interfaces_path}/innerkits/interaction/include", 24 "../libs/interface", 25 "interaction/drag/include", 26 "communication/base", 27 "communication/service/include", 28 "${device_status_root_path}/utils/json_parser/include" 29 ] 30 31 if (device_status_intention_framework) { 32 include_dirs += [ 33 "${device_status_root_path}/intention/cooperate/server/include", 34 "${device_status_root_path}/intention/drag/server/include", 35 "${device_status_root_path}/intention/ipc/socket/include", 36 ] 37 } 38 39 defines = device_status_default_defines 40} 41 42config("devicestatus_services_public_config") { 43 include_dirs = [ 44 "boomerang/include", 45 "delegate_task/include", 46 "native/include", 47 "interaction/drag/include", 48 "${device_status_root_path}/utils/json_parser/include" 49 ] 50 51 if (device_status_intention_framework) { 52 include_dirs += [ 53 "${device_status_root_path}/intention/cooperate/server/include", 54 "${device_status_root_path}/intention/drag/server/include", 55 "${device_status_root_path}/intention/ipc/socket/include", 56 ] 57 } 58} 59 60sources_set = [ 61 "communication/service/src/devicestatus_srv_stub.cpp", 62 "delegate_task/src/delegate_tasks.cpp", 63 "native/src/devicestatus_dumper.cpp", 64 "native/src/devicestatus_hisysevent.cpp", 65 "native/src/devicestatus_manager.cpp", 66 "native/src/devicestatus_msdp_client_impl.cpp", 67 "native/src/devicestatus_service.cpp", 68 "native/src/stream_server.cpp", 69 "native/src/devicestatus_napi_manager.cpp", 70] 71 72external_deps_set = [ 73 "ability_runtime:app_manager", 74 "access_token:libaccesstoken_sdk", 75 "access_token:libtokenid_sdk", 76 "ace_engine:ui_session", 77 "bundle_framework:appexecfwk_core", 78 "cJSON:cjson", 79 "data_share:datashare_consumer", 80 "c_utils:utils", 81 "eventhandler:libeventhandler", 82 "graphic_2d:librender_service_client", 83 "graphic_2d:window_animation", 84 "graphic_2d:librender_service_base", 85 "hilog:libhilog", 86 "hisysevent:libhisysevent", 87 "hitrace:hitrace_meter", 88 "input:libmmi-client", 89 "ipc:ipc_single", 90 "image_framework:image_native", 91 "libxml2:libxml2", 92 "os_account:os_account_innerkits", 93 "qos_manager:concurrent_task_client", 94 "qos_manager:qos", 95 "safwk:system_ability_fwk", 96 "samgr:samgr_proxy", 97 "window_manager:libwm", 98 "common_event_service:cesfwk_innerkits", 99] 100 101ohos_shared_library("devicestatus_service") { 102 sanitize = { 103 integer_overflow = true 104 ubsan = true 105 boundary_sanitize = true 106 cfi = true 107 cfi_cross_dso = true 108 debug = false 109 } 110 111 branch_protector_ret = "pac_ret" 112 113 shlib_type = "sa" 114 115 sources = sources_set 116 117 configs = [ ":devicestatus_services_private_config" ] 118 119 public_configs = [ ":devicestatus_services_public_config" ] 120 121 deps = [ 122 "${device_status_interfaces_path}/innerkits:devicestatus_client", 123 "${device_status_root_path}/utils/ipc:devicestatus_ipc", 124 "${device_status_utils_path}:devicestatus_util", 125 "interaction/drag:interaction_drag", 126 "${device_status_root_path}/utils/json_parser:json_parser" 127 ] 128 129 if (device_status_intention_framework) { 130 deps += [ 131 "${device_status_root_path}/intention/adapters/ddm_adapter:intention_ddm_adapter", 132 "${device_status_root_path}/intention/adapters/dsoftbus_adapter:intention_dsoftbus_adapter", 133 "${device_status_root_path}/intention/adapters/input_adapter:intention_input_adapter", 134 "${device_status_root_path}/intention/scheduler/plugin_manager:intention_plugin_manager", 135 ] 136 } 137 138 public_deps = [ 139 "${device_status_root_path}/intention/common/epoll:intention_epoll", 140 "${device_status_root_path}/intention/prototype:intention_prototype", 141 "${device_status_root_path}/intention/scheduler/timer_manager:intention_timer_manager", 142 "${device_status_root_path}/intention/services/device_manager:intention_device_manager", 143 ] 144 145 if (device_status_intention_framework) { 146 public_deps += [ 147 "${device_status_root_path}/intention/ipc/socket:intention_socket_session_manager", 148 "${device_status_root_path}/intention/ipc/tunnel:intention_server_stub", 149 "${device_status_root_path}/intention/services/intention_service:intention_service", 150 ] 151 } 152 153 defines = [] 154 external_deps = external_deps_set 155 if (device_status_sensor_enable) { 156 defines += [ "DEVICE_STATUS_SENSOR_ENABLE" ] 157 external_deps += [ "sensor:sensor_interface_native" ] 158 } 159 160 if (device_status_intention_framework) { 161 external_deps += [ "device_manager:devicemanagersdk" ] 162 } else { 163 if (device_status_interaction_coordination) { 164 external_deps += [ "device_manager:devicemanagersdk" ] 165 } 166 } 167 if (device_status_memmgr_enable) { 168 defines += [ "MEMMGR_ENABLE" ] 169 external_deps += [ "memmgr:memmgrclient" ] 170 } 171 if (device_status_motion_enable) { 172 defines += [ "MOTION_ENABLE" ] 173 external_deps += [ "motion:motion_interface_native" ] 174 } 175 176 if (device_status_boomerang_onestep) { 177 defines += [ "BOOMERANG_ONESTEP" ] 178 external_deps += [ 179 "accessibility:accessibility_common", 180 "accessibility:accessibleability", 181 "accessibility:accessibilityclient", 182 "window_manager:libwm", 183 ] 184 } 185 186 subsystem_name = "${device_status_subsystem_name}" 187 part_name = "${device_status_part_name}" 188} 189 190ohos_static_library("devicestatus_static_service") { 191 sanitize = { 192 integer_overflow = true 193 ubsan = true 194 boundary_sanitize = true 195 cfi = true 196 cfi_cross_dso = true 197 debug = false 198 } 199 200 sources = sources_set 201 202 configs = [ ":devicestatus_services_private_config" ] 203 204 public_configs = [ ":devicestatus_services_public_config" ] 205 206 deps = [ 207 "${device_status_interfaces_path}/innerkits:devicestatus_client", 208 "${device_status_root_path}/utils/ipc:devicestatus_ipc", 209 "${device_status_utils_path}:devicestatus_util", 210 "interaction/drag:interaction_drag", 211 "${device_status_root_path}/utils/json_parser:json_parser" 212 ] 213 214 if (device_status_intention_framework) { 215 deps += [ 216 "${device_status_root_path}/intention/adapters/ddm_adapter:intention_ddm_adapter", 217 "${device_status_root_path}/intention/adapters/dsoftbus_adapter:intention_dsoftbus_adapter", 218 "${device_status_root_path}/intention/adapters/input_adapter:intention_input_adapter", 219 "${device_status_root_path}/intention/scheduler/plugin_manager:intention_plugin_manager", 220 ] 221 } 222 223 defines = [] 224 external_deps = external_deps_set 225 if (device_status_sensor_enable) { 226 defines += [ "DEVICE_STATUS_SENSOR_ENABLE" ] 227 external_deps += [ "sensor:sensor_interface_native" ] 228 } 229 230 public_deps = [ 231 "${device_status_root_path}/intention/common/epoll:intention_epoll", 232 "${device_status_root_path}/intention/prototype:intention_prototype", 233 "${device_status_root_path}/intention/scheduler/timer_manager:intention_timer_manager", 234 "${device_status_root_path}/intention/services/device_manager:intention_device_manager", 235 ] 236 237 if (device_status_intention_framework) { 238 public_deps += [ 239 "${device_status_root_path}/intention/ipc/socket:intention_socket_session_manager", 240 "${device_status_root_path}/intention/ipc/tunnel:intention_server_stub", 241 "${device_status_root_path}/intention/services/intention_service:intention_service", 242 ] 243 } 244 245 if (device_status_intention_framework) { 246 external_deps += [ "device_manager:devicemanagersdk" ] 247 } else { 248 if (device_status_interaction_coordination) { 249 external_deps += [ "device_manager:devicemanagersdk" ] 250 } 251 } 252 if (device_status_memmgr_enable) { 253 defines += [ "MEMMGR_ENABLE" ] 254 external_deps += [ "memmgr:memmgrclient" ] 255 } 256 if (device_status_motion_enable) { 257 defines += [ "MOTION_ENABLE" ] 258 external_deps += [ "motion:motion_interface_native" ] 259 } 260 261 subsystem_name = "${device_status_subsystem_name}" 262 part_name = "${device_status_part_name}" 263} 264