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("//build/config/components/idl_tool/idl.gni") 15import("../../powermgr.gni") 16 17config("powermgr_public_config") { 18 include_dirs = [ 19 "native/include", 20 "${powermgr_service_zidl}/include", 21 ] 22} 23 24config("powermgr_private_config") { 25 include_dirs = [ 26 "${powermgr_framework_native}", 27 "${powermgr_service_zidl}/src/shutdown", 28 ] 29} 30 31config("powermgr_ipc_config") { 32 include_dirs = [ 33 "native/include", 34 "native/include/hibernate", 35 "native/include/shutdown", 36 "native/include/suspend", 37 "${powermgr_service_path}/native/include", 38 "${powermgr_service_zidl}/include", 39 "${target_gen_dir}", 40 ] 41} 42 43idl_gen_interface("powermgr_interface") { 44 sources = [ "IPowerMgr.idl" ] 45 46 log_domainid = "0xD002902" 47 log_tag = "PowerSvc" 48 subsystem_name = "powermgr" 49 part_name = "${powermgr_part_name}" 50} 51 52ohos_source_set("powermgr_proxy") { 53 sanitize = { 54 cfi = true 55 cfi_cross_dso = true 56 debug = false 57 } 58 output_values = get_target_outputs(":powermgr_interface") 59 sources = filter_include(output_values, [ "*_proxy.cpp" ]) 60 configs = [ 61 "${powermgr_utils_path}:utils_config", 62 "${powermgr_utils_path}:coverage_flags", 63 ] 64 65 public_configs = [ ":powermgr_ipc_config" ] 66 67 deps = [ ":powermgr_interface" ] 68 69 external_deps = [ 70 "c_utils:utils", 71 "hilog:libhilog", 72 "ipc:ipc_core", 73 "ipc:ipc_single", 74 ] 75 76 subsystem_name = "powermgr" 77 part_name = "${powermgr_part_name}" 78} 79 80ohos_source_set("powermgr_stub") { 81 sanitize = { 82 cfi = true 83 cfi_cross_dso = true 84 debug = false 85 } 86 output_values = get_target_outputs(":powermgr_interface") 87 sources = filter_include(output_values, [ "*_stub.cpp" ]) 88 sources += [ 89 "${powermgr_service_zidl}/src/power_mgr_async_reply.cpp", 90 "${powermgr_service_zidl}/src/power_mode_callback_stub.cpp", 91 "${powermgr_service_zidl}/src/power_runninglock_callback_stub.cpp", 92 "${powermgr_service_zidl}/src/power_state_callback_stub.cpp", 93 "${powermgr_service_zidl}/src/screen_off_pre_callback_stub.cpp", 94 "${powermgr_service_zidl}/src/sync_sleep_callback_stub.cpp", 95 ] 96 97 configs = [ 98 "${powermgr_utils_path}:utils_config", 99 "${powermgr_utils_path}:coverage_flags", 100 ] 101 102 public_configs = [ ":powermgr_ipc_config" ] 103 104 deps = [ 105 ":powermgr_interface", 106 ":powermgr_client", 107 ] 108 109 external_deps = [ 110 "c_utils:utils", 111 "hicollie:libhicollie", 112 "hilog:libhilog", 113 "ipc:ipc_core", 114 "ipc:ipc_single", 115 ] 116 117 subsystem_name = "powermgr" 118 part_name = "${powermgr_part_name}" 119} 120 121ohos_shared_library("powermgr_client") { 122 branch_protector_ret = "pac_ret" 123 124 sources = [ 125 "${powermgr_framework_native}/client_lifecycle.cpp", 126 "${powermgr_framework_native}/power_mgr_client.cpp", 127 "${powermgr_framework_native}/running_lock.cpp", 128 "${powermgr_framework_native}/running_lock_info.cpp", 129 "${powermgr_framework_native}/shutdown/shutdown_client.cpp", 130 "${powermgr_framework_native}/shutdown/takeover_info.cpp", 131 "${powermgr_service_zidl}/src/power_mgr_async_reply.cpp", 132 "${powermgr_service_zidl}/src/power_mode_callback_proxy.cpp", 133 "${powermgr_service_zidl}/src/power_mode_callback_stub.cpp", 134 "${powermgr_service_zidl}/src/power_runninglock_callback_proxy.cpp", 135 "${powermgr_service_zidl}/src/power_runninglock_callback_stub.cpp", 136 "${powermgr_service_zidl}/src/power_state_callback_proxy.cpp", 137 "${powermgr_service_zidl}/src/power_state_callback_stub.cpp", 138 "${powermgr_service_zidl}/src/screen_off_pre_callback_proxy.cpp", 139 "${powermgr_service_zidl}/src/screen_off_pre_callback_stub.cpp", 140 "${powermgr_service_zidl}/src/shutdown/async_shutdown_callback_proxy.cpp", 141 "${powermgr_service_zidl}/src/shutdown/async_shutdown_callback_stub.cpp", 142 "${powermgr_service_zidl}/src/shutdown/sync_shutdown_callback_proxy.cpp", 143 "${powermgr_service_zidl}/src/shutdown/sync_shutdown_callback_stub.cpp", 144 "${powermgr_service_zidl}/src/shutdown/takeover_shutdown_callback_proxy.cpp", 145 "${powermgr_service_zidl}/src/shutdown/takeover_shutdown_callback_stub.cpp", 146 "${powermgr_service_zidl}/src/sync_hibernate_callback_proxy.cpp", 147 "${powermgr_service_zidl}/src/sync_hibernate_callback_stub.cpp", 148 "${powermgr_service_zidl}/src/sync_sleep_callback_proxy.cpp", 149 "${powermgr_service_zidl}/src/sync_sleep_callback_stub.cpp", 150 "${powermgr_service_zidl}/src/takeover_suspend_callback_proxy.cpp", 151 "${powermgr_service_zidl}/src/takeover_suspend_callback_stub.cpp", 152 ] 153 154 output_values = get_target_outputs(":powermgr_interface") 155 sources += filter_include(output_values, [ "*_proxy.cpp" ]) 156 157 configs = [ 158 "${powermgr_utils_path}:coverage_flags", 159 ":powermgr_ipc_config", 160 ":powermgr_private_config", 161 ] 162 163 public_configs = [ 164 ":powermgr_ipc_config", 165 ":powermgr_public_config", 166 "${powermgr_utils_path}:utils_config", 167 ] 168 169 deps = [ ":powermgr_interface" ] 170 171 external_deps = [ 172 "ability_base:want", 173 "c_utils:utils", 174 "hicollie:libhicollie", 175 "hilog:libhilog", 176 "ipc:ipc_core", 177 "samgr:samgr_proxy", 178 ] 179 180 subsystem_name = "powermgr" 181 innerapi_tags = [ 182 "platformsdk", 183 "sasdk", 184 ] 185 part_name = "${powermgr_part_name}" 186} 187