# Copyright (c) 2021 Huawei Device Co., Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import("//base/inputmethod/imf/inputmethod.gni") import("//build/ohos.gni") config("inputmethod_services_native_config") { visibility = [ ":*" ] include_dirs = [ "include", "${inputmethod_path}/common", "${inputmethod_path}/frameworks/common", "${inputmethod_path}/frameworks/native/inputmethod_ability/include", "${inputmethod_path}/frameworks/native/inputmethod_controller/include", "${inputmethod_path}/services/adapter/focus_monitor/include", "${inputmethod_path}/services/adapter/keyboard/include", "${inputmethod_path}/services/dfx/include", ] cflags_cc = [ "-fexceptions" ] } ohos_shared_library("inputmethod_service") { sources = [ "${inputmethod_path}/frameworks/native/inputmethod_controller/src/input_client_proxy.cpp", "${inputmethod_path}/frameworks/native/inputmethod_controller/src/input_death_recipient.cpp", "${inputmethod_path}/services/adapter/focus_monitor/src/focus_change_listener.cpp", "${inputmethod_path}/services/adapter/focus_monitor/src/focus_monitor_manager.cpp", "src/bundle_checker.cpp", "src/global.cpp", "src/im_common_event_manager.cpp", "src/ime_cfg_manager.cpp", "src/ime_info_inquirer.cpp", "src/input_channel.cpp", "src/input_control_channel_proxy.cpp", "src/input_control_channel_stub.cpp", "src/input_method_info.cpp", "src/input_method_system_ability.cpp", "src/input_method_system_ability_stub.cpp", "src/message.cpp", "src/message_handler.cpp", "src/peruser_session.cpp", ] configs = [ ":inputmethod_services_native_config" ] public_configs = [ ":inputmethod_services_native_config" ] deps = [ "${inputmethod_path}/frameworks/native/inputmethod_ability:inputmethod_ability", "${inputmethod_path}/services/adapter/keyboard:keboard_event_static", "${inputmethod_path}/services/dfx:inputmethod_dfx_static", ] external_deps = [ "ability_base:want", "ability_runtime:ability_manager", "access_token:libaccesstoken_sdk", "access_token:libtokenid_sdk", "bundle_framework:appexecfwk_base", "bundle_framework:appexecfwk_core", "c_utils:utils", "common_event_service:cesfwk_core", "common_event_service:cesfwk_innerkits", "eventhandler:libeventhandler", "hilog:libhilog", "init:libbegetutil", "input:libmmi-client", "ipc:ipc_single", "os_account:os_account_innerkits", "safwk:system_ability_fwk", "samgr:samgr_proxy", "window_manager:libwm", ] subsystem_name = "inputmethod" part_name = "imf" }