1# Copyright (c) 2025 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("./../../../multimedia_camera_framework.gni") 16 17idl_gen_interface("deferred_processing_service_idl_interface") { 18 sources = [ 19 "IDeferredPhotoProcessingSession.idl", 20 "IDeferredVideoProcessingSession.idl", 21 ] 22 sources_callback = [ 23 "IDeferredVideoProcessingSessionCallback.idl", 24 "IDeferredPhotoProcessingSessionCallback.idl" 25 ] 26 27 sources_common = [ "DeferredProcessingTypes.idl" ] 28 29 30 hitrace = "HITRACE_TAG_ABILITY_MANAGER" 31 32 subsystem_name = "multimedia" 33 part_name = "camera_framework" 34} 35 36config("deferred_processing_service_idl_config") { 37 include_dirs = [ 38 ".", 39 "${target_gen_dir}", 40 "${multimedia_camera_framework_path}/common/utils", 41 "${multimedia_camera_framework_path}/interfaces/inner_api/native/camera/include/utils", 42 ] 43} 44 45ohos_source_set("camera_deferred_idl_sa_proxy") { 46 output_values = get_target_outputs(":deferred_processing_service_idl_interface") 47 sources = filter_include(output_values, 48 [ 49 "*_session_proxy.cpp", 50 "*_callback_stub.cpp", 51 ]) 52 53 public_configs=[ 54 ":deferred_processing_service_idl_config", 55 ] 56 57 deps = [ ":deferred_processing_service_idl_interface" ] 58 59 cflags = [ 60 "-Wall", 61 "-fPIC", 62 "-fdata-sections", 63 "-ffunction-sections", 64 "-fno-asynchronous-unwind-tables", 65 "-fno-unwind-tables", 66 "-Os", 67 ] 68 if (target_cpu == "arm") { 69 cflags += [ "-DBINDER_IPC_32BIT" ] 70 } 71 72 sanitize = { 73 integer_overflow = true 74 ubsan = true 75 boundary_sanitize = true 76 cfi = true 77 cfi_cross_dso = true 78 cfi_vcall_icall_only = true 79 debug = false 80 } 81 82 external_deps = [ 83 "c_utils:utils", 84 "hitrace:hitrace_meter", 85 "ipc:ipc_single", 86 "drivers_interface_camera:metadata", 87 "graphic_surface:surface", 88 "ipc:ipc_core", 89 "safwk:system_ability_fwk", 90 "samgr:samgr_proxy", 91 ] 92 93 part_name = "camera_framework" 94 subsystem_name = "multimedia" 95} 96 97ohos_source_set("camera_deferred_idl_sa_stub") { 98 output_values = get_target_outputs(":deferred_processing_service_idl_interface") 99 sources = filter_include(output_values, 100 [ 101 "*_callback_proxy.cpp", 102 "*_session_stub.cpp", 103 ]) 104 105 public_configs=[ 106 ":deferred_processing_service_idl_config", 107 ] 108 109 deps = [ ":deferred_processing_service_idl_interface" ] 110 111 cflags = [ 112 "-Wall", 113 "-fPIC", 114 "-fdata-sections", 115 "-ffunction-sections", 116 "-fno-asynchronous-unwind-tables", 117 "-fno-unwind-tables", 118 "-Os", 119 ] 120 if (target_cpu == "arm") { 121 cflags += [ "-DBINDER_IPC_32BIT" ] 122 } 123 124 sanitize = { 125 integer_overflow = true 126 ubsan = true 127 boundary_sanitize = true 128 cfi = true 129 cfi_cross_dso = true 130 cfi_vcall_icall_only = true 131 debug = false 132 } 133 134 external_deps = [ 135 "c_utils:utils", 136 "hitrace:hitrace_meter", 137 "ipc:ipc_single", 138 "drivers_interface_camera:metadata", 139 "graphic_surface:surface", 140 "ipc:ipc_core", 141 "safwk:system_ability_fwk", 142 "samgr:samgr_proxy", 143 ] 144 145 part_name = "camera_framework" 146 subsystem_name = "multimedia" 147} 148