1# Copyright (c) 2021 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("../../powermgr.gni")
15
16config("powermgr_public_config") {
17  include_dirs = [
18    "native/include",
19    "${powermgr_service_zidl}/include",
20  ]
21}
22
23config("powermgr_private_config") {
24  include_dirs = [
25    "${powermgr_framework_native}",
26    "${powermgr_service_zidl}/src/shutdown",
27  ]
28}
29
30ohos_shared_library("powermgr_client") {
31  branch_protector_ret = "pac_ret"
32
33  sources = [
34    "${powermgr_framework_native}/client_lifecycle.cpp",
35    "${powermgr_framework_native}/power_mgr_client.cpp",
36    "${powermgr_framework_native}/running_lock.cpp",
37    "${powermgr_framework_native}/running_lock_info.cpp",
38    "${powermgr_framework_native}/shutdown/shutdown_client.cpp",
39    "${powermgr_service_zidl}/src/power_mgr_async_reply.cpp",
40    "${powermgr_service_zidl}/src/power_mgr_proxy.cpp",
41    "${powermgr_service_zidl}/src/power_mode_callback_proxy.cpp",
42    "${powermgr_service_zidl}/src/power_mode_callback_stub.cpp",
43    "${powermgr_service_zidl}/src/power_runninglock_callback_proxy.cpp",
44    "${powermgr_service_zidl}/src/power_runninglock_callback_stub.cpp",
45    "${powermgr_service_zidl}/src/power_state_callback_proxy.cpp",
46    "${powermgr_service_zidl}/src/power_state_callback_stub.cpp",
47    "${powermgr_service_zidl}/src/screen_off_pre_callback_proxy.cpp",
48    "${powermgr_service_zidl}/src/screen_off_pre_callback_stub.cpp",
49    "${powermgr_service_zidl}/src/shutdown/async_shutdown_callback_proxy.cpp",
50    "${powermgr_service_zidl}/src/shutdown/async_shutdown_callback_stub.cpp",
51    "${powermgr_service_zidl}/src/shutdown/shutdown_proxy_delegator.cpp",
52    "${powermgr_service_zidl}/src/shutdown/sync_shutdown_callback_proxy.cpp",
53    "${powermgr_service_zidl}/src/shutdown/sync_shutdown_callback_stub.cpp",
54    "${powermgr_service_zidl}/src/shutdown/takeover_shutdown_callback_proxy.cpp",
55    "${powermgr_service_zidl}/src/shutdown/takeover_shutdown_callback_stub.cpp",
56    "${powermgr_service_zidl}/src/sync_hibernate_callback_proxy.cpp",
57    "${powermgr_service_zidl}/src/sync_hibernate_callback_stub.cpp",
58    "${powermgr_service_zidl}/src/sync_sleep_callback_proxy.cpp",
59    "${powermgr_service_zidl}/src/sync_sleep_callback_stub.cpp",
60  ]
61
62  configs = [
63    "${powermgr_utils_path}:coverage_flags",
64    ":powermgr_private_config",
65  ]
66
67  public_configs = [
68    ":powermgr_public_config",
69    "${powermgr_utils_path}:utils_config",
70  ]
71
72  external_deps = [
73    "bundle_framework:appexecfwk_core",
74    "c_utils:utils",
75    "hicollie:libhicollie",
76    "hilog:libhilog",
77    "ipc:ipc_core",
78    "samgr:samgr_proxy",
79  ]
80
81  subsystem_name = "powermgr"
82  innerapi_tags = [
83    "platformsdk",
84    "sasdk",
85  ]
86  part_name = "${powermgr_part_name}"
87}
88