# Copyright (c) 2022 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/test.gni") import("../../device_status.gni") config("devicestatus_public_config") { include_dirs = [ "include", "${device_status_service_path}/native/include", "${device_status_frameworks_path}/js/napi/include", "${device_status_frameworks_path}/native/event_handler/include", "${device_status_frameworks_path}/native/interaction/include", "${device_status_utils_path}/include", "${device_status_interfaces_path}/innerkits/include", "${device_status_interfaces_path}/innerkits/interaction/include", "${device_status_root_path}/utils/ipc/include", "${device_status_root_path}/services/communication/base/", "${device_status_root_path}/services/communication/client/include", ] if (device_status_intention_framework) { include_dirs += [ "${device_status_root_path}/intention/frameworks/client/include" ] } defines = device_status_default_defines } ohos_shared_library("devicestatus_client") { sanitize = { integer_overflow = true ubsan = true boundary_sanitize = true cfi = true cfi_cross_dso = true debug = false } branch_protector_ret = "pac_ret" version_script = "libdevicestatus_client_map" sources = [ "${device_status_frameworks_path}/native/interaction/src/drag_data_util.cpp", "${device_status_frameworks_path}/native/interaction/src/drag_manager_impl.cpp", "${device_status_frameworks_path}/native/interaction/src/interaction_manager.cpp", "${device_status_frameworks_path}/native/src/client.cpp", "${device_status_frameworks_path}/native/src/devicestatus_callback_proxy.cpp", "${device_status_frameworks_path}/native/src/devicestatus_callback_stub.cpp", "${device_status_frameworks_path}/native/src/devicestatus_client.cpp", "${device_status_frameworks_path}/native/src/fd_listener.cpp", "${device_status_frameworks_path}/native/src/stationary_manager.cpp", "${device_status_root_path}/services/communication/client/src/devicestatus_srv_proxy.cpp", ] if (device_status_intention_framework) { sources += [ "${device_status_root_path}/intention/frameworks/client/src/intention_manager.cpp" ] } else { sources += [ "${device_status_frameworks_path}/native/interaction/src/interaction_manager_impl.cpp" ] if (device_status_interaction_coordination) { sources += [ "${device_status_frameworks_path}/native/interaction/src/coordination_manager_impl.cpp" ] } } configs = [ "${device_status_utils_path}:devicestatus_utils_config" ] deps = [ "${device_status_root_path}/utils/ipc:devicestatus_ipc", "${device_status_utils_path}:devicestatus_util", ] public_configs = [ ":devicestatus_public_config" ] if (device_status_intention_framework) { deps += [ "${device_status_root_path}/intention/cooperate/client:intention_cooperate_client", "${device_status_root_path}/intention/drag/client:intention_drag_client", "${device_status_root_path}/intention/ipc/socket:intention_socket_connection", "${device_status_root_path}/intention/ipc/tunnel:intention_tunnel_client", "${device_status_root_path}/intention/prototype:intention_prototype", "${device_status_root_path}/intention/stationary/client:intention_stationary_client", ] } if (device_status_rust_enabled) { include_dirs = [ "${device_status_root_path}/rust/frameworks/binding/include" ] deps += [ "${device_status_root_path}/rust/data/binding:fusion_data_binding", "${device_status_root_path}/rust/frameworks/client:fusion_client_ffi", ] } external_deps = [ "c_utils:utils", "eventhandler:libeventhandler", "graphic_2d:librender_service_client", "hilog:libhilog", "hitrace:hitrace_meter", "image_framework:image_native", "ipc:ipc_single", "samgr:samgr_proxy", "window_manager:libdm", ] innerapi_tags = [ "platformsdk" ] subsystem_name = "${device_status_subsystem_name}" part_name = "${device_status_part_name}" }