199552fe9Sopenharmony_ci# Copyright (c) 2023 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("//foundation/resourceschedule/device_standby/standby_service.gni")
1599552fe9Sopenharmony_ci
1699552fe9Sopenharmony_ciconfig("standby_utils_policy_config") {
1799552fe9Sopenharmony_ci  include_dirs = [ "include" ]
1899552fe9Sopenharmony_ci}
1999552fe9Sopenharmony_ci
2099552fe9Sopenharmony_ciStandbyUtilsPolicy = [
2199552fe9Sopenharmony_ci  "src/json_utils.cpp",
2299552fe9Sopenharmony_ci  "src/standby_config_manager.cpp",
2399552fe9Sopenharmony_ci]
2499552fe9Sopenharmony_ci
2599552fe9Sopenharmony_ciStandbyUtilsPolicyExternalDeps = [
2699552fe9Sopenharmony_ci  "c_utils:utils",
2799552fe9Sopenharmony_ci  "hilog:libhilog",
2899552fe9Sopenharmony_ci  "ipc:ipc_single",
2999552fe9Sopenharmony_ci  "json:nlohmann_json_static",
3099552fe9Sopenharmony_ci]
3199552fe9Sopenharmony_ci
3299552fe9Sopenharmony_ciohos_shared_library("standby_utils_policy") {
3399552fe9Sopenharmony_ci  branch_protector_ret = "pac_ret"
3499552fe9Sopenharmony_ci  sanitize = {
3599552fe9Sopenharmony_ci    cfi = true
3699552fe9Sopenharmony_ci    cfi_cross_dso = true
3799552fe9Sopenharmony_ci    debug = false
3899552fe9Sopenharmony_ci  }
3999552fe9Sopenharmony_ci  sources = StandbyUtilsPolicy
4099552fe9Sopenharmony_ci
4199552fe9Sopenharmony_ci  public_configs = [ ":standby_utils_policy_config" ]
4299552fe9Sopenharmony_ci
4399552fe9Sopenharmony_ci  deps = [ "${standby_utils_common_path}:standby_utils_common" ]
4499552fe9Sopenharmony_ci
4599552fe9Sopenharmony_ci  external_deps = StandbyUtilsPolicyExternalDeps
4699552fe9Sopenharmony_ci
4799552fe9Sopenharmony_ci  defines = []
4899552fe9Sopenharmony_ci  if (enable_standby_configpolicy) {
4999552fe9Sopenharmony_ci    external_deps += [ "config_policy:configpolicy_util" ]
5099552fe9Sopenharmony_ci    defines += [ "STANDBY_CONFIG_POLICY_ENABLE" ]
5199552fe9Sopenharmony_ci  }
5299552fe9Sopenharmony_ci
5399552fe9Sopenharmony_ci  subsystem_name = "resourceschedule"
5499552fe9Sopenharmony_ci  part_name = "${standby_service_part_name}"
5599552fe9Sopenharmony_ci  version_script = "libstandby_utils_policy.versionscript"
5699552fe9Sopenharmony_ci}
5799552fe9Sopenharmony_ci
5899552fe9Sopenharmony_ciohos_static_library("standby_utils_policy_static") {
5999552fe9Sopenharmony_ci  branch_protector_ret = "pac_ret"
6099552fe9Sopenharmony_ci  sanitize = {
6199552fe9Sopenharmony_ci    cfi = true
6299552fe9Sopenharmony_ci    cfi_cross_dso = true
6399552fe9Sopenharmony_ci    debug = false
6499552fe9Sopenharmony_ci  }
6599552fe9Sopenharmony_ci  sources = StandbyUtilsPolicy
6699552fe9Sopenharmony_ci
6799552fe9Sopenharmony_ci  public_configs = [ ":standby_utils_policy_config" ]
6899552fe9Sopenharmony_ci
6999552fe9Sopenharmony_ci  deps = [ "${standby_utils_common_path}:standby_utils_common" ]
7099552fe9Sopenharmony_ci
7199552fe9Sopenharmony_ci  external_deps = StandbyUtilsPolicyExternalDeps
7299552fe9Sopenharmony_ci
7399552fe9Sopenharmony_ci  defines = []
7499552fe9Sopenharmony_ci  if (enable_standby_configpolicy) {
7599552fe9Sopenharmony_ci    external_deps += [ "config_policy:configpolicy_util" ]
7699552fe9Sopenharmony_ci    defines += [ "STANDBY_CONFIG_POLICY_ENABLE" ]
7799552fe9Sopenharmony_ci  }
7899552fe9Sopenharmony_ci
7999552fe9Sopenharmony_ci  subsystem_name = "resourceschedule"
8099552fe9Sopenharmony_ci  part_name = "${standby_service_part_name}"
8199552fe9Sopenharmony_ci}
8299552fe9Sopenharmony_ci
8399552fe9Sopenharmony_ciohos_prebuilt_etc("stancby_service_policy_config_device_standby") {
8499552fe9Sopenharmony_ci  source = "configs/device_standby_config.json"
8599552fe9Sopenharmony_ci  install_enable = true
8699552fe9Sopenharmony_ci  subsystem_name = "resourceschedule"
8799552fe9Sopenharmony_ci  part_name = "${standby_service_part_name}"
8899552fe9Sopenharmony_ci  module_install_dir = "etc/standby_service"
8999552fe9Sopenharmony_ci}
9099552fe9Sopenharmony_ci
9199552fe9Sopenharmony_ciohos_prebuilt_etc("stancby_service_policy_config_resource_config") {
9299552fe9Sopenharmony_ci  source = "configs/standby_strategy_config.json"
9399552fe9Sopenharmony_ci  install_enable = true
9499552fe9Sopenharmony_ci  subsystem_name = "resourceschedule"
9599552fe9Sopenharmony_ci  part_name = "${standby_service_part_name}"
9699552fe9Sopenharmony_ci  module_install_dir = "etc/standby_service"
9799552fe9Sopenharmony_ci}
9899552fe9Sopenharmony_ci
9999552fe9Sopenharmony_cigroup("standby_service_config") {
10099552fe9Sopenharmony_ci  deps = [
10199552fe9Sopenharmony_ci    ":stancby_service_policy_config_device_standby",
10299552fe9Sopenharmony_ci    ":stancby_service_policy_config_resource_config",
10399552fe9Sopenharmony_ci  ]
10499552fe9Sopenharmony_ci}
105