17a9a4b8fSopenharmony_ci# Copyright (c) 2022 Huawei Device Co., Ltd. 27a9a4b8fSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 37a9a4b8fSopenharmony_ci# you may not use this file except in compliance with the License. 47a9a4b8fSopenharmony_ci# You may obtain a copy of the License at 57a9a4b8fSopenharmony_ci# 67a9a4b8fSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 77a9a4b8fSopenharmony_ci# 87a9a4b8fSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 97a9a4b8fSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 107a9a4b8fSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 117a9a4b8fSopenharmony_ci# See the License for the specific language governing permissions and 127a9a4b8fSopenharmony_ci# limitations under the License. 137a9a4b8fSopenharmony_ci 147a9a4b8fSopenharmony_ciimport("//foundation/resourceschedule/work_scheduler/workscheduler.gni") 157a9a4b8fSopenharmony_ci 167a9a4b8fSopenharmony_ciconfig("worksched_private_config") { 177a9a4b8fSopenharmony_ci include_dirs = [ 187a9a4b8fSopenharmony_ci "${worksched_service_path}/zidl/include", 197a9a4b8fSopenharmony_ci "${worksched_frameworks_path}/extension/include", 207a9a4b8fSopenharmony_ci ] 217a9a4b8fSopenharmony_ci} 227a9a4b8fSopenharmony_ci 237a9a4b8fSopenharmony_ciconfig("worksched_public_config") { 247a9a4b8fSopenharmony_ci include_dirs = [ "native/include" ] 257a9a4b8fSopenharmony_ci} 267a9a4b8fSopenharmony_ci 277a9a4b8fSopenharmony_ciohos_shared_library("workschedservice") { 287a9a4b8fSopenharmony_ci shlib_type = "sa" 297a9a4b8fSopenharmony_ci branch_protector_ret = "pac_ret" 307a9a4b8fSopenharmony_ci 317a9a4b8fSopenharmony_ci sanitize = { 327a9a4b8fSopenharmony_ci cfi = true 337a9a4b8fSopenharmony_ci cfi_cross_dso = true 347a9a4b8fSopenharmony_ci debug = false 357a9a4b8fSopenharmony_ci } 367a9a4b8fSopenharmony_ci sources = [ 377a9a4b8fSopenharmony_ci "native/src/conditions/battery_level_listener.cpp", 387a9a4b8fSopenharmony_ci "native/src/conditions/battery_status_listener.cpp", 397a9a4b8fSopenharmony_ci "native/src/conditions/charger_listener.cpp", 407a9a4b8fSopenharmony_ci "native/src/conditions/condition_checker.cpp", 417a9a4b8fSopenharmony_ci "native/src/conditions/group_listener.cpp", 427a9a4b8fSopenharmony_ci "native/src/conditions/network_listener.cpp", 437a9a4b8fSopenharmony_ci "native/src/conditions/screen_listener.cpp", 447a9a4b8fSopenharmony_ci "native/src/conditions/storage_listener.cpp", 457a9a4b8fSopenharmony_ci "native/src/conditions/timer_listener.cpp", 467a9a4b8fSopenharmony_ci "native/src/event_publisher.cpp", 477a9a4b8fSopenharmony_ci "native/src/policy/app_data_clear_listener.cpp", 487a9a4b8fSopenharmony_ci "native/src/policy/cpu_policy.cpp", 497a9a4b8fSopenharmony_ci "native/src/policy/memory_policy.cpp", 507a9a4b8fSopenharmony_ci "native/src/policy/thermal_policy.cpp", 517a9a4b8fSopenharmony_ci "native/src/scheduler_bg_task_subscriber.cpp", 527a9a4b8fSopenharmony_ci "native/src/watchdog.cpp", 537a9a4b8fSopenharmony_ci "native/src/work_bundle_group_change_callback.cpp", 547a9a4b8fSopenharmony_ci "native/src/work_conn_manager.cpp", 557a9a4b8fSopenharmony_ci "native/src/work_datashare_helper.cpp", 567a9a4b8fSopenharmony_ci "native/src/work_event_handler.cpp", 577a9a4b8fSopenharmony_ci "native/src/work_policy_manager.cpp", 587a9a4b8fSopenharmony_ci "native/src/work_queue.cpp", 597a9a4b8fSopenharmony_ci "native/src/work_queue_event_handler.cpp", 607a9a4b8fSopenharmony_ci "native/src/work_queue_manager.cpp", 617a9a4b8fSopenharmony_ci "native/src/work_scheduler_connection.cpp", 627a9a4b8fSopenharmony_ci "native/src/work_scheduler_service.cpp", 637a9a4b8fSopenharmony_ci "native/src/work_standby_state_change_callback.cpp", 647a9a4b8fSopenharmony_ci "native/src/work_status.cpp", 657a9a4b8fSopenharmony_ci "zidl/src/work_sched_service_stub.cpp", 667a9a4b8fSopenharmony_ci "zidl/src/work_scheduler_proxy.cpp", 677a9a4b8fSopenharmony_ci ] 687a9a4b8fSopenharmony_ci 697a9a4b8fSopenharmony_ci configs = [ ":worksched_private_config" ] 707a9a4b8fSopenharmony_ci 717a9a4b8fSopenharmony_ci public_configs = [ ":worksched_public_config" ] 727a9a4b8fSopenharmony_ci 737a9a4b8fSopenharmony_ci deps = [ 747a9a4b8fSopenharmony_ci "${worksched_frameworks_path}:workschedclient", 757a9a4b8fSopenharmony_ci "${worksched_utils_path}:workschedutils", 767a9a4b8fSopenharmony_ci ] 777a9a4b8fSopenharmony_ci 787a9a4b8fSopenharmony_ci external_deps = [ 797a9a4b8fSopenharmony_ci "ability_base:want", 807a9a4b8fSopenharmony_ci "ability_base:zuri", 817a9a4b8fSopenharmony_ci "ability_runtime:ability_connect_callback_stub", 827a9a4b8fSopenharmony_ci "ability_runtime:ability_manager", 837a9a4b8fSopenharmony_ci "ability_runtime:wantagent_innerkits", 847a9a4b8fSopenharmony_ci "access_token:libaccesstoken_sdk", 857a9a4b8fSopenharmony_ci "access_token:libtokenid_sdk", 867a9a4b8fSopenharmony_ci "bundle_framework:appexecfwk_base", 877a9a4b8fSopenharmony_ci "bundle_framework:appexecfwk_core", 887a9a4b8fSopenharmony_ci "c_utils:utils", 897a9a4b8fSopenharmony_ci "common_event_service:cesfwk_innerkits", 907a9a4b8fSopenharmony_ci "config_policy:configpolicy_util", 917a9a4b8fSopenharmony_ci "data_share:datashare_consumer", 927a9a4b8fSopenharmony_ci "eventhandler:libeventhandler", 937a9a4b8fSopenharmony_ci "ffrt:libffrt", 947a9a4b8fSopenharmony_ci "hilog:libhilog", 957a9a4b8fSopenharmony_ci "hisysevent:libhisysevent", 967a9a4b8fSopenharmony_ci "hitrace:hitrace_meter", 977a9a4b8fSopenharmony_ci "hiview:libucollection_client", 987a9a4b8fSopenharmony_ci "init:libbegetutil", 997a9a4b8fSopenharmony_ci "ipc:ipc_single", 1007a9a4b8fSopenharmony_ci "resource_schedule_service:ressched_client", 1017a9a4b8fSopenharmony_ci "safwk:system_ability_fwk", 1027a9a4b8fSopenharmony_ci "samgr:samgr_proxy", 1037a9a4b8fSopenharmony_ci "time_service:time_client", 1047a9a4b8fSopenharmony_ci ] 1057a9a4b8fSopenharmony_ci 1067a9a4b8fSopenharmony_ci defines = [] 1077a9a4b8fSopenharmony_ci if (bundle_active_enable) { 1087a9a4b8fSopenharmony_ci external_deps += [ "device_usage_statistics:usagestatsinner" ] 1097a9a4b8fSopenharmony_ci defines += [ "DEVICE_USAGE_STATISTICS_ENABLE" ] 1107a9a4b8fSopenharmony_ci } 1117a9a4b8fSopenharmony_ci if (device_standby_enable) { 1127a9a4b8fSopenharmony_ci external_deps += [ "device_standby:standby_innerkits" ] 1137a9a4b8fSopenharmony_ci defines += [ "DEVICE_STANDBY_ENABLE" ] 1147a9a4b8fSopenharmony_ci } 1157a9a4b8fSopenharmony_ci if (resourceschedule_bgtaskmgr_enable) { 1167a9a4b8fSopenharmony_ci external_deps += [ "background_task_mgr:bgtaskmgr_innerkits" ] 1177a9a4b8fSopenharmony_ci defines += [ "RESOURCESCHEDULE_BGTASKMGR_ENABLE" ] 1187a9a4b8fSopenharmony_ci } 1197a9a4b8fSopenharmony_ci if (powermgr_battery_manager_enable) { 1207a9a4b8fSopenharmony_ci external_deps += [ "battery_manager:batterysrv_client" ] 1217a9a4b8fSopenharmony_ci defines += [ "POWERMGR_BATTERY_MANAGER_ENABLE" ] 1227a9a4b8fSopenharmony_ci } 1237a9a4b8fSopenharmony_ci if (powermgr_thermal_manager_enable) { 1247a9a4b8fSopenharmony_ci external_deps += [ "thermal_manager:thermalsrv_client" ] 1257a9a4b8fSopenharmony_ci defines += [ "POWERMGR_THERMAL_MANAGER_ENABLE" ] 1267a9a4b8fSopenharmony_ci } 1277a9a4b8fSopenharmony_ci if (powermgr_power_manager_enable) { 1287a9a4b8fSopenharmony_ci external_deps += [ "power_manager:powermgr_client" ] 1297a9a4b8fSopenharmony_ci defines += [ "POWERMGR_POWER_MANAGER_ENABLE" ] 1307a9a4b8fSopenharmony_ci sources += [ "native/src/policy/power_mode_policy.cpp" ] 1317a9a4b8fSopenharmony_ci } 1327a9a4b8fSopenharmony_ci if (workscheduler_with_communication_netmanager_base_enable) { 1337a9a4b8fSopenharmony_ci defines += [ "COMMUNICATION_NETMANAGER_BASE_ENABLE" ] 1347a9a4b8fSopenharmony_ci external_deps += [ "netmanager_base:net_conn_manager_if" ] 1357a9a4b8fSopenharmony_ci } 1367a9a4b8fSopenharmony_ci if (workscheduler_hicollie_enable) { 1377a9a4b8fSopenharmony_ci external_deps += [ "hicollie:libhicollie" ] 1387a9a4b8fSopenharmony_ci defines += [ "HICOLLIE_ENABLE" ] 1397a9a4b8fSopenharmony_ci } 1407a9a4b8fSopenharmony_ci subsystem_name = "resourceschedule" 1417a9a4b8fSopenharmony_ci part_name = "${worksched_native_part_name}" 1427a9a4b8fSopenharmony_ci} 1437a9a4b8fSopenharmony_ci 1447a9a4b8fSopenharmony_ciohos_static_library("workschedservice_static") { 1457a9a4b8fSopenharmony_ci sanitize = { 1467a9a4b8fSopenharmony_ci cfi = true 1477a9a4b8fSopenharmony_ci cfi_cross_dso = true 1487a9a4b8fSopenharmony_ci debug = false 1497a9a4b8fSopenharmony_ci } 1507a9a4b8fSopenharmony_ci sources = [ 1517a9a4b8fSopenharmony_ci "native/src/conditions/battery_level_listener.cpp", 1527a9a4b8fSopenharmony_ci "native/src/conditions/battery_status_listener.cpp", 1537a9a4b8fSopenharmony_ci "native/src/conditions/charger_listener.cpp", 1547a9a4b8fSopenharmony_ci "native/src/conditions/condition_checker.cpp", 1557a9a4b8fSopenharmony_ci "native/src/conditions/group_listener.cpp", 1567a9a4b8fSopenharmony_ci "native/src/conditions/network_listener.cpp", 1577a9a4b8fSopenharmony_ci "native/src/conditions/screen_listener.cpp", 1587a9a4b8fSopenharmony_ci "native/src/conditions/storage_listener.cpp", 1597a9a4b8fSopenharmony_ci "native/src/conditions/timer_listener.cpp", 1607a9a4b8fSopenharmony_ci "native/src/event_publisher.cpp", 1617a9a4b8fSopenharmony_ci "native/src/policy/app_data_clear_listener.cpp", 1627a9a4b8fSopenharmony_ci "native/src/policy/cpu_policy.cpp", 1637a9a4b8fSopenharmony_ci "native/src/policy/memory_policy.cpp", 1647a9a4b8fSopenharmony_ci "native/src/policy/thermal_policy.cpp", 1657a9a4b8fSopenharmony_ci "native/src/scheduler_bg_task_subscriber.cpp", 1667a9a4b8fSopenharmony_ci "native/src/watchdog.cpp", 1677a9a4b8fSopenharmony_ci "native/src/work_bundle_group_change_callback.cpp", 1687a9a4b8fSopenharmony_ci "native/src/work_conn_manager.cpp", 1697a9a4b8fSopenharmony_ci "native/src/work_datashare_helper.cpp", 1707a9a4b8fSopenharmony_ci "native/src/work_event_handler.cpp", 1717a9a4b8fSopenharmony_ci "native/src/work_policy_manager.cpp", 1727a9a4b8fSopenharmony_ci "native/src/work_queue.cpp", 1737a9a4b8fSopenharmony_ci "native/src/work_queue_event_handler.cpp", 1747a9a4b8fSopenharmony_ci "native/src/work_queue_manager.cpp", 1757a9a4b8fSopenharmony_ci "native/src/work_scheduler_connection.cpp", 1767a9a4b8fSopenharmony_ci "native/src/work_scheduler_service.cpp", 1777a9a4b8fSopenharmony_ci "native/src/work_standby_state_change_callback.cpp", 1787a9a4b8fSopenharmony_ci "native/src/work_status.cpp", 1797a9a4b8fSopenharmony_ci "zidl/src/work_sched_service_stub.cpp", 1807a9a4b8fSopenharmony_ci "zidl/src/work_scheduler_proxy.cpp", 1817a9a4b8fSopenharmony_ci ] 1827a9a4b8fSopenharmony_ci 1837a9a4b8fSopenharmony_ci configs = [ ":worksched_private_config" ] 1847a9a4b8fSopenharmony_ci 1857a9a4b8fSopenharmony_ci public_configs = [ ":worksched_public_config" ] 1867a9a4b8fSopenharmony_ci 1877a9a4b8fSopenharmony_ci deps = [ 1887a9a4b8fSopenharmony_ci "${worksched_frameworks_path}:workschedclient", 1897a9a4b8fSopenharmony_ci "${worksched_utils_path}:workschedutils", 1907a9a4b8fSopenharmony_ci ] 1917a9a4b8fSopenharmony_ci 1927a9a4b8fSopenharmony_ci external_deps = [ 1937a9a4b8fSopenharmony_ci "ability_base:want", 1947a9a4b8fSopenharmony_ci "ability_base:zuri", 1957a9a4b8fSopenharmony_ci "ability_runtime:ability_manager", 1967a9a4b8fSopenharmony_ci "ability_runtime:wantagent_innerkits", 1977a9a4b8fSopenharmony_ci "access_token:libaccesstoken_sdk", 1987a9a4b8fSopenharmony_ci "access_token:libtokenid_sdk", 1997a9a4b8fSopenharmony_ci "bundle_framework:appexecfwk_base", 2007a9a4b8fSopenharmony_ci "bundle_framework:appexecfwk_core", 2017a9a4b8fSopenharmony_ci "c_utils:utils", 2027a9a4b8fSopenharmony_ci "common_event_service:cesfwk_innerkits", 2037a9a4b8fSopenharmony_ci "config_policy:configpolicy_util", 2047a9a4b8fSopenharmony_ci "data_share:datashare_consumer", 2057a9a4b8fSopenharmony_ci "eventhandler:libeventhandler", 2067a9a4b8fSopenharmony_ci "ffrt:libffrt", 2077a9a4b8fSopenharmony_ci "hilog:libhilog", 2087a9a4b8fSopenharmony_ci "hisysevent:libhisysevent", 2097a9a4b8fSopenharmony_ci "hitrace:hitrace_meter", 2107a9a4b8fSopenharmony_ci "hiview:libucollection_client", 2117a9a4b8fSopenharmony_ci "init:libbegetutil", 2127a9a4b8fSopenharmony_ci "ipc:ipc_single", 2137a9a4b8fSopenharmony_ci "resource_schedule_service:ressched_client", 2147a9a4b8fSopenharmony_ci "safwk:system_ability_fwk", 2157a9a4b8fSopenharmony_ci "samgr:samgr_proxy", 2167a9a4b8fSopenharmony_ci "time_service:time_client", 2177a9a4b8fSopenharmony_ci ] 2187a9a4b8fSopenharmony_ci 2197a9a4b8fSopenharmony_ci defines = [ "WORK_SCHEDULER_TEST" ] 2207a9a4b8fSopenharmony_ci if (bundle_active_enable) { 2217a9a4b8fSopenharmony_ci external_deps += [ "device_usage_statistics:usagestatsinner" ] 2227a9a4b8fSopenharmony_ci defines += [ "DEVICE_USAGE_STATISTICS_ENABLE" ] 2237a9a4b8fSopenharmony_ci } 2247a9a4b8fSopenharmony_ci if (device_standby_enable) { 2257a9a4b8fSopenharmony_ci external_deps += [ "device_standby:standby_innerkits" ] 2267a9a4b8fSopenharmony_ci defines += [ "DEVICE_STANDBY_ENABLE" ] 2277a9a4b8fSopenharmony_ci } 2287a9a4b8fSopenharmony_ci if (resourceschedule_bgtaskmgr_enable) { 2297a9a4b8fSopenharmony_ci external_deps += [ "background_task_mgr:bgtaskmgr_innerkits" ] 2307a9a4b8fSopenharmony_ci defines += [ "RESOURCESCHEDULE_BGTASKMGR_ENABLE" ] 2317a9a4b8fSopenharmony_ci } 2327a9a4b8fSopenharmony_ci if (powermgr_battery_manager_enable) { 2337a9a4b8fSopenharmony_ci external_deps += [ "battery_manager:batterysrv_client" ] 2347a9a4b8fSopenharmony_ci defines += [ "POWERMGR_BATTERY_MANAGER_ENABLE" ] 2357a9a4b8fSopenharmony_ci } 2367a9a4b8fSopenharmony_ci if (powermgr_thermal_manager_enable) { 2377a9a4b8fSopenharmony_ci external_deps += [ "thermal_manager:thermalsrv_client" ] 2387a9a4b8fSopenharmony_ci defines += [ "POWERMGR_THERMAL_MANAGER_ENABLE" ] 2397a9a4b8fSopenharmony_ci } 2407a9a4b8fSopenharmony_ci if (powermgr_power_manager_enable) { 2417a9a4b8fSopenharmony_ci external_deps += [ "power_manager:powermgr_client" ] 2427a9a4b8fSopenharmony_ci defines += [ "POWERMGR_POWER_MANAGER_ENABLE" ] 2437a9a4b8fSopenharmony_ci sources += [ "native/src/policy/power_mode_policy.cpp" ] 2447a9a4b8fSopenharmony_ci } 2457a9a4b8fSopenharmony_ci if (workscheduler_with_communication_netmanager_base_enable) { 2467a9a4b8fSopenharmony_ci defines += [ "COMMUNICATION_NETMANAGER_BASE_ENABLE" ] 2477a9a4b8fSopenharmony_ci external_deps += [ "netmanager_base:net_conn_manager_if" ] 2487a9a4b8fSopenharmony_ci } 2497a9a4b8fSopenharmony_ci if (workscheduler_hicollie_enable) { 2507a9a4b8fSopenharmony_ci external_deps += [ "hicollie:libhicollie" ] 2517a9a4b8fSopenharmony_ci defines += [ "HICOLLIE_ENABLE" ] 2527a9a4b8fSopenharmony_ci } 2537a9a4b8fSopenharmony_ci 2547a9a4b8fSopenharmony_ci subsystem_name = "resourceschedule" 2557a9a4b8fSopenharmony_ci part_name = "${worksched_native_part_name}" 2567a9a4b8fSopenharmony_ci} 257