199552fe9Sopenharmony_ci# Copyright (c) 2024 Huawei Device Co., Ltd. 299552fe9Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 399552fe9Sopenharmony_ci# you may not use this file except in compliance with the License. 499552fe9Sopenharmony_ci# You may obtain a copy of the License at 599552fe9Sopenharmony_ci# 699552fe9Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 799552fe9Sopenharmony_ci# 899552fe9Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 999552fe9Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 1099552fe9Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1199552fe9Sopenharmony_ci# See the License for the specific language governing permissions and 1299552fe9Sopenharmony_ci# limitations under the License. 1399552fe9Sopenharmony_ci 1499552fe9Sopenharmony_ciimport("//build/ohos.gni") 1599552fe9Sopenharmony_ciimport("//foundation/resourceschedule/device_standby/standby_service.gni") 1699552fe9Sopenharmony_ci 1799552fe9Sopenharmony_ciconfig("standby_plugin_config") { 1899552fe9Sopenharmony_ci include_dirs = [ 1999552fe9Sopenharmony_ci "${standby_plugins_path}/ext/include", 2099552fe9Sopenharmony_ci "${standby_service_constraints_path}/include", 2199552fe9Sopenharmony_ci "${standby_service_message_listener_path}/include", 2299552fe9Sopenharmony_ci "${standby_service_standby_state_path}/include", 2399552fe9Sopenharmony_ci "${standby_service_strategy_path}/include", 2499552fe9Sopenharmony_ci "${standby_utils_common_path}/include", 2599552fe9Sopenharmony_ci "${standby_utils_policy_path}/include", 2699552fe9Sopenharmony_ci ] 2799552fe9Sopenharmony_ci} 2899552fe9Sopenharmony_ci 2999552fe9Sopenharmony_ciStandbyPluginSrc = [ 3099552fe9Sopenharmony_ci "${standby_plugins_path}/ext/src/base_state.cpp", 3199552fe9Sopenharmony_ci "${standby_plugins_path}/ext/src/istate_manager_adapter.cpp", 3299552fe9Sopenharmony_ci "${standby_service_constraints_path}/src/charge_state_monitor.cpp", 3399552fe9Sopenharmony_ci "${standby_service_constraints_path}/src/constraint_manager_adapter.cpp", 3499552fe9Sopenharmony_ci "${standby_service_message_listener_path}/src/listener_manager_adapter.cpp", 3599552fe9Sopenharmony_ci "${standby_service_standby_state_path}/src/dark_state.cpp", 3699552fe9Sopenharmony_ci "${standby_service_standby_state_path}/src/export_plugin.cpp", 3799552fe9Sopenharmony_ci "${standby_service_standby_state_path}/src/maintenance_state.cpp", 3899552fe9Sopenharmony_ci "${standby_service_standby_state_path}/src/nap_state.cpp", 3999552fe9Sopenharmony_ci "${standby_service_standby_state_path}/src/sleep_state.cpp", 4099552fe9Sopenharmony_ci "${standby_service_standby_state_path}/src/state_manager_adapter.cpp", 4199552fe9Sopenharmony_ci "${standby_service_standby_state_path}/src/working_state.cpp", 4299552fe9Sopenharmony_ci "${standby_service_strategy_path}/src/base_network_strategy.cpp", 4399552fe9Sopenharmony_ci "${standby_service_strategy_path}/src/network_strategy.cpp", 4499552fe9Sopenharmony_ci "${standby_service_strategy_path}/src/running_lock_strategy.cpp", 4599552fe9Sopenharmony_ci "${standby_service_strategy_path}/src/timer_strategy.cpp", 4699552fe9Sopenharmony_ci "${standby_service_strategy_path}/src/strategy_manager_adapter.cpp", 4799552fe9Sopenharmony_ci] 4899552fe9Sopenharmony_ci 4999552fe9Sopenharmony_ciStandbyPluginExternalDeps = [ 5099552fe9Sopenharmony_ci "ability_base:want", 5199552fe9Sopenharmony_ci "ability_runtime:app_manager", 5299552fe9Sopenharmony_ci "ability_runtime:wantagent_innerkits", 5399552fe9Sopenharmony_ci "access_token:libaccesstoken_sdk", 5499552fe9Sopenharmony_ci "c_utils:utils", 5599552fe9Sopenharmony_ci "common_event_service:cesfwk_innerkits", 5699552fe9Sopenharmony_ci "eventhandler:libeventhandler", 5799552fe9Sopenharmony_ci "hilog:libhilog", 5899552fe9Sopenharmony_ci "init:libbegetutil", 5999552fe9Sopenharmony_ci "ipc:ipc_single", 6099552fe9Sopenharmony_ci "safwk:system_ability_fwk", 6199552fe9Sopenharmony_ci "samgr:samgr_proxy", 6299552fe9Sopenharmony_ci "time_service:time_client", 6399552fe9Sopenharmony_ci] 6499552fe9Sopenharmony_ci 6599552fe9Sopenharmony_ciStandbyPluginDefine = [] 6699552fe9Sopenharmony_ci 6799552fe9Sopenharmony_ciif (enable_standby_configpolicy) { 6899552fe9Sopenharmony_ci StandbyPluginExternalDeps += [ "config_policy:configpolicy_util" ] 6999552fe9Sopenharmony_ci StandbyPluginDefine += [ "STANDBY_CONFIG_POLICY_ENABLE" ] 7099552fe9Sopenharmony_ci} 7199552fe9Sopenharmony_ci 7299552fe9Sopenharmony_ciif (enable_background_task_mgr) { 7399552fe9Sopenharmony_ci StandbyPluginExternalDeps += [ "background_task_mgr:bgtaskmgr_innerkits" ] 7499552fe9Sopenharmony_ci StandbyPluginSrc += [ 7599552fe9Sopenharmony_ci "${standby_service_message_listener_path}/src/background_task_listener.cpp", 7699552fe9Sopenharmony_ci ] 7799552fe9Sopenharmony_ci StandbyPluginDefine += [ "ENABLE_BACKGROUND_TASK_MGR" ] 7899552fe9Sopenharmony_ci} 7999552fe9Sopenharmony_ci 8099552fe9Sopenharmony_ciif (standby_power_manager_enable) { 8199552fe9Sopenharmony_ci StandbyPluginExternalDeps += [ "power_manager:powermgr_client" ] 8299552fe9Sopenharmony_ci StandbyPluginDefine += [ "STANDBY_POWER_MANAGER_ENABLE" ] 8399552fe9Sopenharmony_ci} 8499552fe9Sopenharmony_ci 8599552fe9Sopenharmony_ciif (standby_battery_manager_enable) { 8699552fe9Sopenharmony_ci StandbyPluginExternalDeps += [ "battery_manager:batterysrv_client" ] 8799552fe9Sopenharmony_ci StandbyPluginDefine += [ "STANDBY_BATTERY_MANAGER_ENABLE" ] 8899552fe9Sopenharmony_ci} 8999552fe9Sopenharmony_ci 9099552fe9Sopenharmony_ciif (standby_multimodalinput_input_enable) { 9199552fe9Sopenharmony_ci StandbyPluginExternalDeps += [ "input:libmmi-client" ] 9299552fe9Sopenharmony_ci StandbyPluginDefine += [ "STANDBY_MULTIMODALINPUT_INPUT_ENABLE" ] 9399552fe9Sopenharmony_ci StandbyPluginSrc += [ 9499552fe9Sopenharmony_ci "${standby_service_message_listener_path}/src/input_manager_listener.cpp", 9599552fe9Sopenharmony_ci ] 9699552fe9Sopenharmony_ci} 9799552fe9Sopenharmony_ci 9899552fe9Sopenharmony_ciif (standby_sensors_sensor_enable) { 9999552fe9Sopenharmony_ci StandbyPluginExternalDeps += [ "sensor:sensor_interface_native" ] 10099552fe9Sopenharmony_ci StandbyPluginDefine += [ "STANDBY_SENSORS_SENSOR_ENABLE" ] 10199552fe9Sopenharmony_ci StandbyPluginSrc += 10299552fe9Sopenharmony_ci [ "${standby_service_constraints_path}/src/motion_sensor_monitor.cpp" ] 10399552fe9Sopenharmony_ci} 10499552fe9Sopenharmony_ci 10599552fe9Sopenharmony_ciif (standby_communication_netmanager_base_enable) { 10699552fe9Sopenharmony_ci StandbyPluginExternalDeps += [ "netmanager_base:net_policy_manager_if" ] 10799552fe9Sopenharmony_ci StandbyPluginDefine += [ "STANDBY_COMMUNICATION_NETMANAGER_BASE_ENABLE" ] 10899552fe9Sopenharmony_ci} 10999552fe9Sopenharmony_ci 11099552fe9Sopenharmony_ciif (standby_rss_work_scheduler_enable) { 11199552fe9Sopenharmony_ci StandbyPluginExternalDeps += [ "work_scheduler:workschedclient" ] 11299552fe9Sopenharmony_ci StandbyPluginDefine += [ "STANDBY_RSS_WORK_SCHEDULER_ENABLE" ] 11399552fe9Sopenharmony_ci} 11499552fe9Sopenharmony_ci 11599552fe9Sopenharmony_ciohos_shared_library("standby_plugin") { 11699552fe9Sopenharmony_ci branch_protector_ret = "pac_ret" 11799552fe9Sopenharmony_ci sanitize = { 11899552fe9Sopenharmony_ci cfi = true 11999552fe9Sopenharmony_ci cfi_cross_dso = true 12099552fe9Sopenharmony_ci debug = false 12199552fe9Sopenharmony_ci } 12299552fe9Sopenharmony_ci sources = StandbyPluginSrc 12399552fe9Sopenharmony_ci 12499552fe9Sopenharmony_ci public_configs = [ ":standby_plugin_config" ] 12599552fe9Sopenharmony_ci 12699552fe9Sopenharmony_ci deps = [ 12799552fe9Sopenharmony_ci "${standby_service_frameworks_path}:standby_fwk", 12899552fe9Sopenharmony_ci "${standby_service_path}:standby_service", 12999552fe9Sopenharmony_ci "${standby_utils_common_path}:standby_utils_common", 13099552fe9Sopenharmony_ci "${standby_utils_policy_path}:standby_utils_policy", 13199552fe9Sopenharmony_ci ] 13299552fe9Sopenharmony_ci 13399552fe9Sopenharmony_ci external_deps = StandbyPluginExternalDeps 13499552fe9Sopenharmony_ci 13599552fe9Sopenharmony_ci defines = StandbyPluginDefine 13699552fe9Sopenharmony_ci 13799552fe9Sopenharmony_ci subsystem_name = "resourceschedule" 13899552fe9Sopenharmony_ci part_name = "${standby_service_part_name}" 13999552fe9Sopenharmony_ci version_script = "libstandby_plugin.versionscript" 14099552fe9Sopenharmony_ci} 14199552fe9Sopenharmony_ci 14299552fe9Sopenharmony_ciohos_static_library("standby_plugin_static") { 14399552fe9Sopenharmony_ci branch_protector_ret = "pac_ret" 14499552fe9Sopenharmony_ci sanitize = { 14599552fe9Sopenharmony_ci cfi = true 14699552fe9Sopenharmony_ci cfi_cross_dso = true 14799552fe9Sopenharmony_ci debug = false 14899552fe9Sopenharmony_ci } 14999552fe9Sopenharmony_ci sources = StandbyPluginSrc 15099552fe9Sopenharmony_ci 15199552fe9Sopenharmony_ci public_configs = [ ":standby_plugin_config" ] 15299552fe9Sopenharmony_ci 15399552fe9Sopenharmony_ci deps = [ 15499552fe9Sopenharmony_ci "${standby_service_frameworks_path}:standby_fwk", 15599552fe9Sopenharmony_ci "${standby_service_path}:standby_service", 15699552fe9Sopenharmony_ci "${standby_utils_common_path}:standby_utils_common", 15799552fe9Sopenharmony_ci "${standby_utils_policy_path}:standby_utils_policy", 15899552fe9Sopenharmony_ci ] 15999552fe9Sopenharmony_ci 16099552fe9Sopenharmony_ci external_deps = StandbyPluginExternalDeps 16199552fe9Sopenharmony_ci 16299552fe9Sopenharmony_ci defines = StandbyPluginDefine 16399552fe9Sopenharmony_ci 16499552fe9Sopenharmony_ci subsystem_name = "resourceschedule" 16599552fe9Sopenharmony_ci part_name = "${standby_service_part_name}" 16699552fe9Sopenharmony_ci} 16799552fe9Sopenharmony_ci 16899552fe9Sopenharmony_cigroup("standby_plugin_group") { 16999552fe9Sopenharmony_ci deps = [] 17099552fe9Sopenharmony_ci if (device_standby_plugin_enable) { 17199552fe9Sopenharmony_ci deps += [ ":standby_plugin" ] 17299552fe9Sopenharmony_ci } 17399552fe9Sopenharmony_ci} 174