122736c2fSopenharmony_ci# Copyright (c) 2021 Huawei Device Co., Ltd.
222736c2fSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
322736c2fSopenharmony_ci# you may not use this file except in compliance with the License.
422736c2fSopenharmony_ci# You may obtain a copy of the License at
522736c2fSopenharmony_ci#
622736c2fSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
722736c2fSopenharmony_ci#
822736c2fSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
922736c2fSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
1022736c2fSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1122736c2fSopenharmony_ci# See the License for the specific language governing permissions and
1222736c2fSopenharmony_ci# limitations under the License.
1322736c2fSopenharmony_ci
1422736c2fSopenharmony_ciimport("//base/inputmethod/imf/inputmethod.gni")
1522736c2fSopenharmony_ciimport("//build/ohos.gni")
1622736c2fSopenharmony_ci
1722736c2fSopenharmony_ciconfig("inputmethod_services_native_config") {
1822736c2fSopenharmony_ci  visibility = [ ":*" ]
1922736c2fSopenharmony_ci  include_dirs = [
2022736c2fSopenharmony_ci    "include",
2122736c2fSopenharmony_ci    "${inputmethod_path}/common/include",
2222736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/common",
2322736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_ability/include",
2422736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_controller/include",
2522736c2fSopenharmony_ci    "${inputmethod_path}/interfaces/inner_api/inputmethod_ability/include",
2622736c2fSopenharmony_ci    "${inputmethod_path}/interfaces/inner_api/inputmethod_controller/include",
2722736c2fSopenharmony_ci    "${inputmethod_path}/services/adapter/focus_monitor/include",
2822736c2fSopenharmony_ci    "${inputmethod_path}/services/adapter/ime_connection_manager/include",
2922736c2fSopenharmony_ci    "${inputmethod_path}/services/adapter/keyboard/include",
3022736c2fSopenharmony_ci    "${inputmethod_path}/services/adapter/os_account_adapter/include",
3122736c2fSopenharmony_ci    "${inputmethod_path}/services/adapter/system_language_observer/include",
3222736c2fSopenharmony_ci    "${inputmethod_path}/services/adapter/wms_connection_monitor/include",
3322736c2fSopenharmony_ci    "${inputmethod_path}/services/identity_checker/include",
3422736c2fSopenharmony_ci  ]
3522736c2fSopenharmony_ci}
3622736c2fSopenharmony_ci
3722736c2fSopenharmony_ciohos_shared_library("inputmethod_service") {
3822736c2fSopenharmony_ci  branch_protector_ret = "pac_ret"
3922736c2fSopenharmony_ci  sanitize = {
4022736c2fSopenharmony_ci    cfi = true
4122736c2fSopenharmony_ci    cfi_cross_dso = true
4222736c2fSopenharmony_ci    debug = false
4322736c2fSopenharmony_ci  }
4422736c2fSopenharmony_ci  cflags_cc = [
4522736c2fSopenharmony_ci    "-fexceptions",
4622736c2fSopenharmony_ci    "-fvisibility=hidden",
4722736c2fSopenharmony_ci    "-fvisibility-inlines-hidden",
4822736c2fSopenharmony_ci    "-fdata-sections",
4922736c2fSopenharmony_ci    "-ffunction-sections",
5022736c2fSopenharmony_ci    "-Os",
5122736c2fSopenharmony_ci    "-Wno-c99-designator",
5222736c2fSopenharmony_ci  ]
5322736c2fSopenharmony_ci  sources = [
5422736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_core_proxy.cpp",
5522736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_controller/src/input_client_proxy.cpp",
5622736c2fSopenharmony_ci    "${inputmethod_path}/services/adapter/focus_monitor/src/focus_change_listener.cpp",
5722736c2fSopenharmony_ci    "${inputmethod_path}/services/adapter/focus_monitor/src/focus_monitor_manager.cpp",
5822736c2fSopenharmony_ci    "${inputmethod_path}/services/adapter/ime_connection_manager/src/ime_connection.cpp",
5922736c2fSopenharmony_ci    "${inputmethod_path}/services/adapter/system_language_observer/src/system_language_observer.cpp",
6022736c2fSopenharmony_ci    "${inputmethod_path}/services/adapter/wms_connection_monitor/src/wms_connection_monitor_manager.cpp",
6122736c2fSopenharmony_ci    "${inputmethod_path}/services/adapter/wms_connection_monitor/src/wms_connection_observer.cpp",
6222736c2fSopenharmony_ci    "${inputmethod_path}/services/identity_checker/src/identity_checker_impl.cpp",
6322736c2fSopenharmony_ci    "adapter/os_account_adapter/src/os_account_adapter.cpp",
6422736c2fSopenharmony_ci    "src/freeze_manager.cpp",
6522736c2fSopenharmony_ci    "src/full_ime_info_manager.cpp",
6622736c2fSopenharmony_ci    "src/im_common_event_manager.cpp",
6722736c2fSopenharmony_ci    "src/ime_cfg_manager.cpp",
6822736c2fSopenharmony_ci    "src/ime_info_inquirer.cpp",
6922736c2fSopenharmony_ci    "src/input_control_channel_stub.cpp",
7022736c2fSopenharmony_ci    "src/input_method_system_ability.cpp",
7122736c2fSopenharmony_ci    "src/input_method_system_ability_stub.cpp",
7222736c2fSopenharmony_ci    "src/input_type_manager.cpp",
7322736c2fSopenharmony_ci    "src/peruser_session.cpp",
7422736c2fSopenharmony_ci    "src/sys_cfg_parser.cpp",
7522736c2fSopenharmony_ci    "src/user_session_manager.cpp",
7622736c2fSopenharmony_ci  ]
7722736c2fSopenharmony_ci
7822736c2fSopenharmony_ci  configs = [ ":inputmethod_services_native_config" ]
7922736c2fSopenharmony_ci
8022736c2fSopenharmony_ci  public_configs = [ ":inputmethod_services_native_config" ]
8122736c2fSopenharmony_ci
8222736c2fSopenharmony_ci  deps = [
8322736c2fSopenharmony_ci    "${inputmethod_path}/common:inputmethod_common",
8422736c2fSopenharmony_ci    "${inputmethod_path}/services/adapter/keyboard:keboard_event_static",
8522736c2fSopenharmony_ci    "${inputmethod_path}/services/adapter/settings_data_provider:settings_data_static",
8622736c2fSopenharmony_ci    "${inputmethod_path}/services/file:imf_file_static",
8722736c2fSopenharmony_ci    "${inputmethod_path}/services/json:imf_json_static",
8822736c2fSopenharmony_ci    "//third_party/cJSON:cjson",
8922736c2fSopenharmony_ci  ]
9022736c2fSopenharmony_ci
9122736c2fSopenharmony_ci  external_deps = [
9222736c2fSopenharmony_ci    "ability_base:want",
9322736c2fSopenharmony_ci    "ability_runtime:ability_connect_callback_stub",
9422736c2fSopenharmony_ci    "ability_runtime:ability_manager",
9522736c2fSopenharmony_ci    "ability_runtime:app_manager",
9622736c2fSopenharmony_ci    "access_token:libaccesstoken_sdk",
9722736c2fSopenharmony_ci    "access_token:libtokenid_sdk",
9822736c2fSopenharmony_ci    "bundle_framework:appexecfwk_base",
9922736c2fSopenharmony_ci    "bundle_framework:appexecfwk_core",
10022736c2fSopenharmony_ci    "c_utils:utils",
10122736c2fSopenharmony_ci    "common_event_service:cesfwk_innerkits",
10222736c2fSopenharmony_ci    "config_policy:configpolicy_util",
10322736c2fSopenharmony_ci    "data_share:datashare_common",
10422736c2fSopenharmony_ci    "data_share:datashare_consumer",
10522736c2fSopenharmony_ci    "eventhandler:libeventhandler",
10622736c2fSopenharmony_ci    "hicollie:libhicollie",
10722736c2fSopenharmony_ci    "hilog:libhilog",
10822736c2fSopenharmony_ci    "i18n:intl_util",
10922736c2fSopenharmony_ci    "init:libbeget_proxy",
11022736c2fSopenharmony_ci    "init:libbegetutil",
11122736c2fSopenharmony_ci    "input:libmmi-client",
11222736c2fSopenharmony_ci    "ipc:ipc_single",
11322736c2fSopenharmony_ci    "memmgr:memmgrclient",
11422736c2fSopenharmony_ci    "os_account:os_account_innerkits",
11522736c2fSopenharmony_ci    "resource_management:global_resmgr",
11622736c2fSopenharmony_ci    "resource_schedule_service:ressched_client",
11722736c2fSopenharmony_ci    "safwk:system_ability_fwk",
11822736c2fSopenharmony_ci    "samgr:samgr_proxy",
11922736c2fSopenharmony_ci    "window_manager:libwsutils",
12022736c2fSopenharmony_ci  ]
12122736c2fSopenharmony_ci
12222736c2fSopenharmony_ci  defines = []
12322736c2fSopenharmony_ci  if (imf_screenlock_mgr_enable) {
12422736c2fSopenharmony_ci    defines += [ "IMF_SCREENLOCK_MGR_ENABLE" ]
12522736c2fSopenharmony_ci    external_deps += [ "screenlock_mgr:screenlock_client" ]
12622736c2fSopenharmony_ci  }
12722736c2fSopenharmony_ci  if (window_manager_use_sceneboard) {
12822736c2fSopenharmony_ci    external_deps += [ "window_manager:libwm_lite" ]
12922736c2fSopenharmony_ci    defines += [ "SCENE_BOARD_ENABLE" ]
13022736c2fSopenharmony_ci  } else {
13122736c2fSopenharmony_ci    external_deps += [ "window_manager:libwm" ]
13222736c2fSopenharmony_ci  }
13322736c2fSopenharmony_ci  subsystem_name = "inputmethod"
13422736c2fSopenharmony_ci  part_name = "imf"
13522736c2fSopenharmony_ci}
13622736c2fSopenharmony_ci
13722736c2fSopenharmony_ciohos_static_library("inputmethod_service_static") {
13822736c2fSopenharmony_ci  branch_protector_ret = "pac_ret"
13922736c2fSopenharmony_ci  sanitize = {
14022736c2fSopenharmony_ci    cfi = true
14122736c2fSopenharmony_ci    cfi_cross_dso = true
14222736c2fSopenharmony_ci    debug = false
14322736c2fSopenharmony_ci  }
14422736c2fSopenharmony_ci  cflags_cc = [
14522736c2fSopenharmony_ci    "-fdata-sections",
14622736c2fSopenharmony_ci    "-ffunction-sections",
14722736c2fSopenharmony_ci    "-Os",
14822736c2fSopenharmony_ci  ]
14922736c2fSopenharmony_ci  sources = [
15022736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_core_proxy.cpp",
15122736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_controller/src/input_client_proxy.cpp",
15222736c2fSopenharmony_ci    "adapter/focus_monitor/src/focus_change_listener.cpp",
15322736c2fSopenharmony_ci    "adapter/focus_monitor/src/focus_monitor_manager.cpp",
15422736c2fSopenharmony_ci    "adapter/ime_connection_manager/src/ime_connection.cpp",
15522736c2fSopenharmony_ci    "adapter/os_account_adapter/src/os_account_adapter.cpp",
15622736c2fSopenharmony_ci    "adapter/system_language_observer/src/system_language_observer.cpp",
15722736c2fSopenharmony_ci    "adapter/wms_connection_monitor/src/wms_connection_monitor_manager.cpp",
15822736c2fSopenharmony_ci    "adapter/wms_connection_monitor/src/wms_connection_observer.cpp",
15922736c2fSopenharmony_ci    "identity_checker/src/identity_checker_impl.cpp",
16022736c2fSopenharmony_ci    "src/freeze_manager.cpp",
16122736c2fSopenharmony_ci    "src/full_ime_info_manager.cpp",
16222736c2fSopenharmony_ci    "src/im_common_event_manager.cpp",
16322736c2fSopenharmony_ci    "src/ime_cfg_manager.cpp",
16422736c2fSopenharmony_ci    "src/ime_info_inquirer.cpp",
16522736c2fSopenharmony_ci    "src/input_control_channel_stub.cpp",
16622736c2fSopenharmony_ci    "src/input_method_system_ability.cpp",
16722736c2fSopenharmony_ci    "src/input_method_system_ability_stub.cpp",
16822736c2fSopenharmony_ci    "src/input_type_manager.cpp",
16922736c2fSopenharmony_ci    "src/peruser_session.cpp",
17022736c2fSopenharmony_ci    "src/sys_cfg_parser.cpp",
17122736c2fSopenharmony_ci    "src/user_session_manager.cpp",
17222736c2fSopenharmony_ci  ]
17322736c2fSopenharmony_ci
17422736c2fSopenharmony_ci  public_configs = [ ":inputmethod_services_native_config" ]
17522736c2fSopenharmony_ci
17622736c2fSopenharmony_ci  public_deps = [
17722736c2fSopenharmony_ci    "${inputmethod_path}/common:inputmethod_common",
17822736c2fSopenharmony_ci    "adapter/keyboard:keboard_event_static",
17922736c2fSopenharmony_ci    "adapter/settings_data_provider:settings_data_static",
18022736c2fSopenharmony_ci    "file:imf_file_static",
18122736c2fSopenharmony_ci    "json:imf_json_static",
18222736c2fSopenharmony_ci  ]
18322736c2fSopenharmony_ci
18422736c2fSopenharmony_ci  external_deps = [
18522736c2fSopenharmony_ci    "ability_base:want",
18622736c2fSopenharmony_ci    "ability_runtime:ability_manager",
18722736c2fSopenharmony_ci    "ability_runtime:app_manager",
18822736c2fSopenharmony_ci    "access_token:libaccesstoken_sdk",
18922736c2fSopenharmony_ci    "access_token:libtokenid_sdk",
19022736c2fSopenharmony_ci    "bundle_framework:appexecfwk_base",
19122736c2fSopenharmony_ci    "bundle_framework:appexecfwk_core",
19222736c2fSopenharmony_ci    "c_utils:utils",
19322736c2fSopenharmony_ci    "common_event_service:cesfwk_innerkits",
19422736c2fSopenharmony_ci    "config_policy:configpolicy_util",
19522736c2fSopenharmony_ci    "data_share:datashare_common",
19622736c2fSopenharmony_ci    "data_share:datashare_consumer",
19722736c2fSopenharmony_ci    "eventhandler:libeventhandler",
19822736c2fSopenharmony_ci    "hicollie:libhicollie",
19922736c2fSopenharmony_ci    "hilog:libhilog",
20022736c2fSopenharmony_ci    "i18n:intl_util",
20122736c2fSopenharmony_ci    "init:libbeget_proxy",
20222736c2fSopenharmony_ci    "init:libbegetutil",
20322736c2fSopenharmony_ci    "input:libmmi-client",
20422736c2fSopenharmony_ci    "ipc:ipc_single",
20522736c2fSopenharmony_ci    "memmgr:memmgrclient",
20622736c2fSopenharmony_ci    "os_account:os_account_innerkits",
20722736c2fSopenharmony_ci    "resource_management:global_resmgr",
20822736c2fSopenharmony_ci    "resource_schedule_service:ressched_client",
20922736c2fSopenharmony_ci    "safwk:system_ability_fwk",
21022736c2fSopenharmony_ci    "samgr:samgr_proxy",
21122736c2fSopenharmony_ci    "window_manager:libwsutils",
21222736c2fSopenharmony_ci  ]
21322736c2fSopenharmony_ci
21422736c2fSopenharmony_ci  defines = []
21522736c2fSopenharmony_ci  if (imf_screenlock_mgr_enable) {
21622736c2fSopenharmony_ci    defines += [ "IMF_SCREENLOCK_MGR_ENABLE" ]
21722736c2fSopenharmony_ci    external_deps += [ "screenlock_mgr:screenlock_client" ]
21822736c2fSopenharmony_ci  }
21922736c2fSopenharmony_ci  if (window_manager_use_sceneboard) {
22022736c2fSopenharmony_ci    external_deps += [ "window_manager:libwm_lite" ]
22122736c2fSopenharmony_ci    defines += [ "SCENE_BOARD_ENABLE" ]
22222736c2fSopenharmony_ci  } else {
22322736c2fSopenharmony_ci    external_deps += [ "window_manager:libwm" ]
22422736c2fSopenharmony_ci  }
22522736c2fSopenharmony_ci  subsystem_name = "inputmethod"
22622736c2fSopenharmony_ci  part_name = "imf"
22722736c2fSopenharmony_ci}
228