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