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