1# Copyright (c) 2021 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14import("//base/inputmethod/imf/inputmethod.gni") 15import("//build/config/components/idl_tool/idl.gni") 16import("//build/ohos.gni") 17 18idl_gen_interface("input_control_channel_interface") { 19 src_idl = rebase_path( 20 "${inputmethod_path}/frameworks/native/inputmethod_ability/IInputControlChannel.idl") 21} 22 23idl_gen_interface("input_data_channel_interface") { 24 src_idl = rebase_path( 25 "${inputmethod_path}/frameworks/native/inputmethod_controller/IInputDataChannel.idl") 26} 27 28idl_gen_interface("input_method_core_interface") { 29 src_idl = rebase_path( 30 "${inputmethod_path}/frameworks/native/inputmethod_ability/IInputMethodCore.idl") 31} 32 33idl_gen_interface("input_method_extension_interface") { 34 src_idl = rebase_path( 35 "${inputmethod_path}/frameworks/native/inputmethod_ability/IInputMethodExtensionAbility.idl") 36} 37 38idl_gen_interface("system_cmd_channel_interface") { 39 src_idl = rebase_path( 40 "${inputmethod_path}/frameworks/native/inputmethod_controller/ISystemCmdChannel.idl") 41} 42 43idl_gen_interface("input_method_system_ability_interface") { 44 src_idl = rebase_path( 45 "${inputmethod_path}/frameworks/native/inputmethod_controller/IInputMethodSystemAbility.idl") 46 sources_common = [ "InputMethodClientTypes.idl" ] 47} 48 49idl_gen_interface("keyevent_consumer_interface") { 50 src_idl = rebase_path( 51 "${inputmethod_path}/frameworks/native/inputmethod_controller/IKeyEventConsumer.idl") 52} 53 54config("inputmethod_ability_native_config") { 55 visibility = [ ":*" ] 56 include_dirs = [ 57 "include", 58 "${inputmethod_path}/frameworks/native/inputmethod_ability/include", 59 "${inputmethod_path}/frameworks/native/inputmethod_controller/include", 60 "${inputmethod_path}/frameworks/common", 61 "${inputmethod_path}/interfaces/inner_api/inputmethod_controller/include", 62 "${inputmethod_path}/services/include", 63 "${target_gen_dir}", 64 ] 65} 66config("inputmethod_ability_native_public_config") { 67 visibility = [ 68 "${inputmethod_path}/common/*", 69 "${inputmethod_path}/frameworks/kits/extension/*", 70 "${inputmethod_path}/frameworks/ndk/*", 71 "${inputmethod_path}/test/fuzztest/*", 72 "${inputmethod_path}/test/unittest/*", 73 "../inputmethod_controller/*", 74 "./*", 75 "${inputmethod_path}/frameworks/kits/extension_cj/*", 76 ] 77 include_dirs = [ 78 "include", 79 "${inputmethod_path}/common/include", 80 "${inputmethod_path}/frameworks/native/inputmethod_ability/include", 81 "${inputmethod_path}/frameworks/native/inputmethod_controller/include", 82 "${inputmethod_path}/frameworks/common", 83 "${inputmethod_path}/frameworks/services/json/include", 84 "${inputmethod_path}/interfaces/inner_api/inputmethod_controller/include", 85 "${inputmethod_path}/services/include", 86 "${target_gen_dir}", 87 ] 88} 89 90ohos_source_set("input_control_channel_proxy") { 91 sanitize = { 92 cfi = true 93 cfi_cross_dso = true 94 debug = false 95 } 96 public_configs = [ ":inputmethod_ability_native_config" ] 97 output_values = get_target_outputs(":input_control_channel_interface") 98 sources = filter_include(output_values, [ "*_proxy.cpp" ]) 99 deps = [ ":input_control_channel_interface" ] 100 external_deps = [ 101 "c_utils:utils", 102 "hilog:libhilog", 103 "ipc:ipc_single", 104 "samgr:samgr_proxy", 105 ] 106 subsystem_name = "inputmethod" 107 part_name = "imf" 108} 109 110ohos_source_set("input_control_channel_stub") { 111 sanitize = { 112 cfi = true 113 cfi_cross_dso = true 114 debug = false 115 } 116 public_configs = [ ":inputmethod_ability_native_config" ] 117 output_values = get_target_outputs(":input_control_channel_interface") 118 sources = filter_include(output_values, [ "*_stub.cpp" ]) 119 deps = [ ":input_control_channel_interface" ] 120 external_deps = [ 121 "c_utils:utils", 122 "hilog:libhilog", 123 "ipc:ipc_single", 124 "samgr:samgr_proxy", 125 ] 126 subsystem_name = "inputmethod" 127 part_name = "imf" 128} 129 130ohos_source_set("input_data_channel_stub") { 131 sanitize = { 132 cfi = true 133 cfi_cross_dso = true 134 debug = false 135 } 136 public_configs = [ ":inputmethod_ability_native_public_config" ] 137 output_values = get_target_outputs(":input_data_channel_interface") 138 sources = filter_include(output_values, [ "*_stub.cpp" ]) 139 deps = [ ":input_data_channel_interface" ] 140 external_deps = [ 141 "c_utils:utils", 142 "hilog:libhilog", 143 "input:libmmi-client", 144 "ipc:ipc_single", 145 "samgr:samgr_proxy", 146 ] 147 subsystem_name = "inputmethod" 148 part_name = "imf" 149} 150 151ohos_source_set("input_method_core_stub") { 152 sanitize = { 153 cfi = true 154 cfi_cross_dso = true 155 debug = false 156 } 157 public_configs = [ ":inputmethod_ability_native_public_config" ] 158 configs = [ "${inputmethod_path}/interfaces/inner_api/inputmethod_controller:inputmethod_client_native_public_config" ] 159 output_values = get_target_outputs(":input_method_core_interface") 160 sources = filter_include(output_values, [ "*_stub.cpp" ]) 161 deps = [ ":input_method_core_interface" ] 162 external_deps = [ 163 "c_utils:utils", 164 "hilog:libhilog", 165 "input:libmmi-client", 166 "ipc:ipc_single", 167 "samgr:samgr_proxy", 168 ] 169 subsystem_name = "inputmethod" 170 part_name = "imf" 171} 172 173ohos_source_set("input_method_core_proxy") { 174 sanitize = { 175 cfi = true 176 cfi_cross_dso = true 177 debug = false 178 } 179 public_configs = [ ":inputmethod_ability_native_public_config" ] 180 configs = [ "${inputmethod_path}/interfaces/inner_api/inputmethod_controller:inputmethod_client_native_public_config" ] 181 output_values = get_target_outputs(":input_method_core_interface") 182 sources = filter_include(output_values, [ "*_proxy.cpp" ]) 183 deps = [ ":input_method_core_interface" ] 184 external_deps = [ 185 "c_utils:utils", 186 "hilog:libhilog", 187 "input:libmmi-client", 188 "ipc:ipc_single", 189 "samgr:samgr_proxy", 190 ] 191 subsystem_name = "inputmethod" 192 part_name = "imf" 193} 194 195ohos_source_set("system_cmd_channel_stub") { 196 sanitize = { 197 cfi = true 198 cfi_cross_dso = true 199 debug = false 200 } 201 public_configs = [ ":inputmethod_ability_native_public_config" ] 202 output_values = get_target_outputs(":system_cmd_channel_interface") 203 sources = filter_include(output_values, [ "*_stub.cpp" ]) 204 deps = [ ":system_cmd_channel_interface" ] 205 external_deps = [ 206 "c_utils:utils", 207 "hilog:libhilog", 208 "input:libmmi-client", 209 "ipc:ipc_single", 210 "samgr:samgr_proxy", 211 ] 212 subsystem_name = "inputmethod" 213 part_name = "imf" 214} 215 216ohos_source_set("input_method_extension_stub") { 217 sanitize = { 218 cfi = true 219 cfi_cross_dso = true 220 debug = false 221 } 222 public_configs = [ ":inputmethod_ability_native_public_config" ] 223 output_values = get_target_outputs(":input_method_extension_interface") 224 sources = filter_include(output_values, [ "*_stub.cpp" ]) 225 deps = [ ":input_method_extension_interface" ] 226 external_deps = [ 227 "c_utils:utils", 228 "hilog:libhilog", 229 "ipc:ipc_single", 230 "samgr:samgr_proxy", 231 ] 232 subsystem_name = "inputmethod" 233 part_name = "imf" 234} 235 236ohos_source_set("input_method_system_ability_proxy") { 237 sanitize = { 238 cfi = true 239 cfi_cross_dso = true 240 debug = false 241 } 242 public_configs = [ 243 ":inputmethod_ability_native_public_config", 244 "${inputmethod_path}/interfaces/inner_api/inputmethod_controller:inputmethod_client_native_public_config", 245 ] 246 output_values = get_target_outputs(":input_method_system_ability_interface") 247 sources = filter_include(output_values, [ "*_proxy.cpp" ]) 248 deps = [ ":input_method_system_ability_interface" ] 249 external_deps = [ 250 "ability_base:want", 251 "c_utils:utils", 252 "hilog:libhilog", 253 "input:libmmi-client", 254 "ipc:ipc_single", 255 "samgr:samgr_proxy", 256 ] 257 subsystem_name = "inputmethod" 258 part_name = "imf" 259} 260 261ohos_source_set("input_method_system_ability_stub") { 262 sanitize = { 263 cfi = true 264 cfi_cross_dso = true 265 debug = false 266 } 267 public_configs = [ 268 ":inputmethod_ability_native_public_config", 269 "${inputmethod_path}/interfaces/inner_api/inputmethod_controller:inputmethod_client_native_public_config", 270 ] 271 output_values = get_target_outputs(":input_method_system_ability_interface") 272 sources = filter_include(output_values, [ "*_stub.cpp" ]) 273 deps = [ ":input_method_system_ability_interface" ] 274 external_deps = [ 275 "ability_base:want", 276 "c_utils:utils", 277 "hilog:libhilog", 278 "input:libmmi-client", 279 "ipc:ipc_single", 280 "samgr:samgr_proxy", 281 ] 282 subsystem_name = "inputmethod" 283 part_name = "imf" 284} 285 286ohos_source_set("input_method_client_types") { 287 sanitize = { 288 cfi = true 289 cfi_cross_dso = true 290 debug = false 291 } 292 public_configs = [ 293 ":inputmethod_ability_native_public_config", 294 "${inputmethod_path}/interfaces/inner_api/inputmethod_controller:inputmethod_client_native_public_config", 295 ] 296 output_values = get_target_outputs(":input_method_system_ability_interface") 297 sources = filter_include(output_values, [ "*input_method_client_types.cpp" ]) 298 deps = [ ":input_method_system_ability_interface" ] 299 external_deps = [ 300 "hilog:libhilog", 301 "ipc:ipc_single", 302 ] 303 subsystem_name = "inputmethod" 304 part_name = "imf" 305} 306 307ohos_source_set("keyevent_consumer_stub") { 308 sanitize = { 309 cfi = true 310 cfi_cross_dso = true 311 debug = false 312 } 313 public_configs = [ ":inputmethod_ability_native_public_config" ] 314 output_values = get_target_outputs(":keyevent_consumer_interface") 315 sources = filter_include(output_values, [ "*_stub.cpp" ]) 316 deps = [ ":keyevent_consumer_interface" ] 317 external_deps = [ 318 "c_utils:utils", 319 "hilog:libhilog", 320 "ipc:ipc_single", 321 "samgr:samgr_proxy", 322 ] 323 subsystem_name = "inputmethod" 324 part_name = "imf" 325} 326 327ohos_shared_library("inputmethod_ability") { 328 branch_protector_ret = "pac_ret" 329 sanitize = { 330 boundary_sanitize = true 331 cfi = true 332 cfi_cross_dso = true 333 debug = false 334 integer_overflow = true 335 ubsan = true 336 } 337 sources = [ 338 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/ime_mirror_manager.cpp", 339 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_data_channel_proxy_wrap.cpp", 340 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_ability.cpp", 341 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_ability_interface.cpp", 342 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_ability_utils.cpp", 343 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_agent_service_impl.cpp", 344 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_core_service_impl.cpp", 345 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_panel.cpp", 346 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/task_manager.cpp", 347 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/tasks/task.cpp", 348 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/window_change_listener_impl.cpp", 349 "${inputmethod_path}/frameworks/native/inputmethod_controller/src/input_client_info.cpp", 350 "${inputmethod_path}/frameworks/native/inputmethod_controller/src/input_method_tools.cpp", 351 "${inputmethod_path}/frameworks/native/inputmethod_controller/src/input_method_utils.cpp", 352 "${inputmethod_path}/services/src/sys_cfg_parser.cpp", 353 ] 354 cflags_cc = [ 355 "-fdata-sections", 356 "-ffunction-sections", 357 "-Os", 358 "-Wno-c99-designator", 359 ] 360 version_script = "inputmethod_ability.versionscript" 361 362 configs = [ ":inputmethod_ability_native_config" ] 363 364 external_deps = [ 365 "ability_base:configuration", 366 "ability_base:want", 367 "ability_runtime:ability_context_native", 368 "ability_runtime:runtime", 369 "bundle_framework:appexecfwk_base", 370 "cJSON:cjson", 371 "c_utils:utils", 372 "config_policy:configpolicy_util", 373 "eventhandler:libeventhandler", 374 "graphic_2d:librender_service_base", 375 "graphic_2d:librender_service_client", 376 "graphic_2d:window_animation", 377 "hilog:libhilog", 378 "input:libmmi-client", 379 "ipc:ipc_single", 380 "napi:ace_napi", 381 "safwk:system_ability_fwk", 382 "samgr:samgr_proxy", 383 "window_manager:libdm", 384 "window_manager:libwsutils", 385 ] 386 387 public_external_deps = [ "window_manager:libwm" ] 388 389 deps = [ 390 ":input_control_channel_interface", 391 ":input_data_channel_interface", 392 ":input_method_core_interface", 393 ":input_method_extension_interface", 394 ":input_method_system_ability_interface", 395 ":keyevent_consumer_interface", 396 ":system_cmd_channel_interface", 397 "${inputmethod_path}/common:inputmethod_common", 398 "${inputmethod_path}/common/imf_hisysevent:imf_hisysevent", 399 "${inputmethod_path}/interfaces/inner_api/inputmethod_ability:input_method_client_types", 400 "${inputmethod_path}/interfaces/inner_api/inputmethod_controller:input_method_agent_stub", 401 "${inputmethod_path}/services/file:imf_file_static", 402 "${inputmethod_path}/services/json:imf_json_static", 403 ] 404 405 input_control_channel_output_values = 406 get_target_outputs(":input_control_channel_interface") 407 sources += filter_include(input_control_channel_output_values, 408 [ 409 "*_proxy.cpp", 410 "*_stub.cpp", 411 ]) 412 413 data_channel_output_values = 414 get_target_outputs(":input_data_channel_interface") 415 sources += filter_include(data_channel_output_values, 416 [ 417 "*_proxy.cpp", 418 "*_stub.cpp", 419 ]) 420 421 core_output_values = get_target_outputs(":input_method_core_interface") 422 sources += filter_include(core_output_values, 423 [ 424 "*_proxy.cpp", 425 "*_stub.cpp", 426 ]) 427 428 system_cmd_channel_output_values = 429 get_target_outputs(":system_cmd_channel_interface") 430 sources += filter_include(system_cmd_channel_output_values, 431 [ 432 "*_proxy.cpp", 433 "*_stub.cpp", 434 ]) 435 436 input_method_system_ability_output_values = 437 get_target_outputs(":input_method_system_ability_interface") 438 sources += filter_include(input_method_system_ability_output_values, 439 [ 440 "*_proxy.cpp", 441 "*_stub.cpp", 442 ]) 443 444 input_method_extension_output_values = 445 get_target_outputs(":input_method_extension_interface") 446 sources += filter_include(input_method_extension_output_values, 447 [ 448 "*_proxy.cpp", 449 "*_stub.cpp", 450 ]) 451 452 keyevent_consumer_output_values = 453 get_target_outputs(":keyevent_consumer_interface") 454 sources += filter_include(keyevent_consumer_output_values, 455 [ 456 "*_proxy.cpp", 457 "*_stub.cpp", 458 ]) 459 460 public_configs = [ ":inputmethod_ability_native_public_config" ] 461 462 subsystem_name = "inputmethod" 463 innerapi_tags = [ "platformsdk" ] 464 part_name = "imf" 465} 466 467ohos_static_library("inputmethod_ability_static") { 468 branch_protector_ret = "pac_ret" 469 sanitize = { 470 cfi = true 471 cfi_cross_dso = true 472 debug = false 473 } 474 sources = [ 475 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/ime_mirror_manager.cpp", 476 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_data_channel_proxy_wrap.cpp", 477 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_ability.cpp", 478 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_ability_interface.cpp", 479 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_ability_utils.cpp", 480 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_agent_service_impl.cpp", 481 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_core_service_impl.cpp", 482 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_panel.cpp", 483 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/task_manager.cpp", 484 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/tasks/task.cpp", 485 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/window_change_listener_impl.cpp", 486 "${inputmethod_path}/frameworks/native/inputmethod_controller/src/input_client_info.cpp", 487 "${inputmethod_path}/frameworks/native/inputmethod_controller/src/input_method_tools.cpp", 488 "${inputmethod_path}/frameworks/native/inputmethod_controller/src/input_method_utils.cpp", 489 "${inputmethod_path}/services/src/sys_cfg_parser.cpp", 490 ] 491 492 external_deps = [ 493 "ability_base:configuration", 494 "ability_base:want", 495 "ability_runtime:ability_context_native", 496 "ability_runtime:app_manager", 497 "ability_runtime:runtime", 498 "bundle_framework:appexecfwk_base", 499 "cJSON:cjson", 500 "c_utils:utils", 501 "config_policy:configpolicy_util", 502 "eventhandler:libeventhandler", 503 "graphic_2d:librender_service_client", 504 "graphic_2d:window_animation", 505 "hilog:libhilog", 506 "input:libmmi-client", 507 "ipc:ipc_single", 508 "napi:ace_napi", 509 "safwk:system_ability_fwk", 510 "samgr:samgr_proxy", 511 "window_manager:libdm", 512 "window_manager:libwsutils", 513 ] 514 515 public_external_deps = [ "window_manager:libwm" ] 516 517 deps = [ 518 ":input_control_channel_interface", 519 ":input_data_channel_interface", 520 ":input_method_core_interface", 521 ":input_method_system_ability_interface", 522 ":keyevent_consumer_interface", 523 ":system_cmd_channel_interface", 524 "${inputmethod_path}/common:inputmethod_common", 525 "${inputmethod_path}/common/imf_hisysevent:imf_hisysevent", 526 "${inputmethod_path}/interfaces/inner_api/inputmethod_controller:input_method_agent_proxy", 527 "${inputmethod_path}/interfaces/inner_api/inputmethod_controller:input_method_agent_stub", 528 "${inputmethod_path}/services/file:imf_file_static", 529 "${inputmethod_path}/services/json:imf_json_static", 530 ] 531 532 input_control_channel_output_values = 533 get_target_outputs(":input_control_channel_interface") 534 sources += filter_include(input_control_channel_output_values, 535 [ 536 "*_proxy.cpp", 537 "*_stub.cpp", 538 ]) 539 540 data_channel_output_values = 541 get_target_outputs(":input_data_channel_interface") 542 sources += filter_include(data_channel_output_values, 543 [ 544 "*_proxy.cpp", 545 "*_stub.cpp", 546 ]) 547 548 core_output_values = get_target_outputs(":input_method_core_interface") 549 sources += filter_include(core_output_values, 550 [ 551 "*_proxy.cpp", 552 "*_stub.cpp", 553 ]) 554 555 system_cmd_channel_output_values = 556 get_target_outputs(":system_cmd_channel_interface") 557 sources += filter_include(system_cmd_channel_output_values, 558 [ 559 "*_proxy.cpp", 560 "*_stub.cpp", 561 ]) 562 563 input_method_system_ability_output_values = 564 get_target_outputs(":input_method_system_ability_interface") 565 sources += filter_include(input_method_system_ability_output_values, 566 [ 567 "*_proxy.cpp", 568 "*_stub.cpp", 569 ]) 570 571 keyevent_consumer_output_values = 572 get_target_outputs(":keyevent_consumer_interface") 573 sources += filter_include(keyevent_consumer_output_values, 574 [ 575 "*_proxy.cpp", 576 "*_stub.cpp", 577 ]) 578 579 public_configs = [ ":inputmethod_ability_native_public_config" ] 580 581 subsystem_name = "inputmethod" 582 part_name = "imf" 583} 584 585ohos_static_library("inputmethod_ability_fuzz_static") { 586 branch_protector_ret = "pac_ret" 587 588 sources = [ 589 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/ime_mirror_manager.cpp", 590 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_ability.cpp", 591 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_ability_interface.cpp", 592 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_ability_utils.cpp", 593 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_agent_service_impl.cpp", 594 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_core_service_impl.cpp", 595 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_panel.cpp", 596 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/task_manager.cpp", 597 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/tasks/task.cpp", 598 "${inputmethod_path}/frameworks/native/inputmethod_ability/src/window_change_listener_impl.cpp", 599 "${inputmethod_path}/frameworks/native/inputmethod_controller/src/input_client_info.cpp", 600 "${inputmethod_path}/frameworks/native/inputmethod_controller/src/input_method_tools.cpp", 601 "${inputmethod_path}/frameworks/native/inputmethod_controller/src/input_method_utils.cpp", 602 "${inputmethod_path}/services/src/sys_cfg_parser.cpp", 603 ] 604 605 external_deps = [ 606 "ability_base:configuration", 607 "ability_base:want", 608 "ability_runtime:ability_context_native", 609 "ability_runtime:app_manager", 610 "bundle_framework:appexecfwk_base", 611 "c_utils:utils", 612 "config_policy:configpolicy_util", 613 "eventhandler:libeventhandler", 614 "graphic_2d:librender_service_base", 615 "graphic_2d:librender_service_client", 616 "graphic_2d:window_animation", 617 "hilog:libhilog", 618 "input:libmmi-client", 619 "ipc:ipc_single", 620 "napi:ace_napi", 621 "safwk:system_ability_fwk", 622 "samgr:samgr_proxy", 623 "window_manager:libdm", 624 "window_manager:libwsutils", 625 ] 626 627 public_external_deps = [ "window_manager:libwm" ] 628 629 deps = [ 630 ":input_control_channel_interface", 631 ":input_data_channel_interface", 632 ":input_method_core_interface", 633 ":input_method_system_ability_interface", 634 ":keyevent_consumer_interface", 635 ":system_cmd_channel_interface", 636 "${inputmethod_path}/common:inputmethod_common", 637 "${inputmethod_path}/common/imf_hisysevent:imf_hisysevent", 638 "${inputmethod_path}/interfaces/inner_api/inputmethod_controller:input_method_agent_proxy", 639 "${inputmethod_path}/interfaces/inner_api/inputmethod_controller:input_method_agent_stub", 640 "${inputmethod_path}/services/file:imf_file_static", 641 "${inputmethod_path}/services/json:imf_json_static", 642 ] 643 644 input_control_channel_output_values = 645 get_target_outputs(":input_control_channel_interface") 646 sources += filter_include(input_control_channel_output_values, 647 [ 648 "*_proxy.cpp", 649 "*_stub.cpp", 650 ]) 651 652 data_channel_output_values = 653 get_target_outputs(":input_data_channel_interface") 654 sources += filter_include(data_channel_output_values, 655 [ 656 "*_proxy.cpp", 657 "*_stub.cpp", 658 ]) 659 660 core_output_values = get_target_outputs(":input_method_core_interface") 661 sources += filter_include(core_output_values, 662 [ 663 "*_proxy.cpp", 664 "*_stub.cpp", 665 ]) 666 667 system_cmd_channel_output_values = 668 get_target_outputs(":system_cmd_channel_interface") 669 sources += filter_include(system_cmd_channel_output_values, 670 [ 671 "*_proxy.cpp", 672 "*_stub.cpp", 673 ]) 674 675 input_method_system_ability_output_values = 676 get_target_outputs(":input_method_system_ability_interface") 677 sources += filter_include(input_method_system_ability_output_values, 678 [ 679 "*_proxy.cpp", 680 "*_stub.cpp", 681 ]) 682 683 keyevent_consumer_output_values = 684 get_target_outputs(":keyevent_consumer_interface") 685 sources += filter_include(keyevent_consumer_output_values, 686 [ 687 "*_proxy.cpp", 688 "*_stub.cpp", 689 ]) 690 691 public_configs = [ ":inputmethod_ability_native_public_config" ] 692 693 subsystem_name = "inputmethod" 694 part_name = "imf" 695} 696