• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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