1# Copyright (c) 2021-2022 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("//build/ohos.gni") 15import("//build/test.gni") 16import("//foundation/multimodalinput/input/multimodalinput_mini.gni") 17module_output_path = "multimodalinput/unit_out" 18 19config("event_injection_config") { 20 visibility = [ ":*" ] 21 22 include_dirs = [ 23 "include", 24 "//foundation/multimodalinput/input/common/include", 25 "//foundation/communication/ipc/interfaces/innerkits/ipc_core/include", 26 ] 27} 28 29config("event_injection_public_config") { 30 include_dirs = [ 31 "include", 32 "//third_party/FreeBSD/sys/dev/evdev", 33 "//third_party/json/include", 34 "//third_party/json/include/nlohmann", 35 ] 36} 37 38ohos_shared_library("event-injection") { 39 sources = [ 40 "src/device_base.cpp", 41 "src/get_device_node.cpp", 42 "src/get_device_object.cpp", 43 "src/injection_event_dispatch.cpp", 44 "src/injection_tools_help_func.cpp", 45 "src/manage_inject_device.cpp", 46 "src/processing_finger_device.cpp", 47 "src/processing_game_pad_device.cpp", 48 "src/processing_joystick_device.cpp", 49 "src/processing_keyboard_device.cpp", 50 "src/processing_mouse_device.cpp", 51 "src/processing_pad_device.cpp", 52 "src/processing_pen_device.cpp", 53 "src/processing_touch_screen_device.cpp", 54 "src/send_message.cpp", 55 ] 56 57 configs = [ 58 ":event_injection_config", 59 ":event_injection_public_config", 60 ] 61 62 deps = [ 63 "//foundation/communication/ipc/interfaces/innerkits/ipc_core:ipc_core", 64 "//foundation/multimodalinput/input/frameworks/util:libmmi-util", 65 "//foundation/multimodalinput/input/patch/diff_libinput_mmi:libinput-third-mmi", 66 "//foundation/multimodalinput/input/service/connect_manager:mmi_connect_manager_proxy", 67 "//foundation/multimodalinput/input/service/filter:mmi_event_filter_service", 68 ] 69 70 part_name = "multimodalinput_base" 71} 72 73ohos_unittest("ut-event-injection-out") { 74 module_out_path = module_output_path 75 include_dirs = [ 76 "//utils/native/base/include", 77 "//third_party/googletest/googletest/include", 78 "//third_party/wayland-ivi-extension/include", 79 "//utils/native/base/include", 80 "${mmi_path}/common/include", 81 "${mmi_path}/frameworks/proxy/event_handler", 82 "${mmi_path}/frameworks/proxy/event_handler/include", 83 "${mmi_path}/frameworks/proxy/module_loader", 84 "${mmi_path}/frameworks/proxy/module_loader/include", 85 "${mmi_path}/frameworks/util/common", 86 "${mmi_path}/frameworks/util/common/include", 87 "${mmi_path}/frameworks/util/network", 88 "${mmi_path}/frameworks/util/network/include", 89 "${mmi_path}/frameworks/util/socket", 90 "${mmi_path}/frameworks/util/socket/include", 91 "${mmi_path}/frameworks/proxy/event_handle", 92 "${mmi_path}/frameworks/proxy/event_handle/include", 93 "${mmi_path}/frameworks/proxy/module_loader", 94 "${mmi_path}/frameworks/proxy/module_loader/include", 95 "${mmi_path}/common/include", 96 "${mmi_path}/interfaces/native/innerkits/common/include", 97 "${mmi_path}/interfaces/native/innerkits/proxy/include", 98 "${mmi_path}/interfaces/native/innerkits/event/include", 99 "${mmi_path}/service/include", 100 "${mmi_path}/service/device_scalability/include", 101 "${mmi_path}/service/event_dispatch/include", 102 "${mmi_path}/service/event_handler/include", 103 "${mmi_path}/service/event_standard/include", 104 "${mmi_path}/service/libinput_adapter/include", 105 "${mmi_path}/service/message_handle/include", 106 "${mmi_path}/service/module_loader/include", 107 "${mmi_path}/service/window_manager/include", 108 "${mmi_path}/tools/event_inject/include", 109 "${mmi_path}/uinput", 110 "$root_out_dir/diff_libinput_mmi/export_include", 111 ] 112 113 sources = [ 114 "test/device_base_test.cpp", 115 "test/get_device_object_test.cpp", 116 "test/injection_tools_help_func_test.cpp", 117 "test/processing_finger_device_test.cpp", 118 "test/processing_game_pad_device_test.cpp", 119 "test/processing_joystick_device_test.cpp", 120 "test/processing_keyboard_device_test.cpp", 121 "test/processing_mouse_device_test.cpp", 122 "test/processing_pad_device_test.cpp", 123 "test/processing_pen_device_test.cpp", 124 "test/processing_touch_screen_device_test.cpp", 125 "test/send_message_test.cpp", 126 ] 127 128 deps = [ 129 "${mmi_path}/frameworks/proxy:libmmi-client", 130 "${mmi_path}/frameworks/util:libmmi-util", 131 "${mmi_path}/service:libmmi-server", 132 "${mmi_path}/tools/event_inject:event-injection", 133 "//foundation/multimodalinput/input/patch/diff_libinput_mmi:libinput-third-mmi", 134 "//third_party/googletest:gmock_main", 135 "//third_party/googletest:gtest_main", 136 "//third_party/libxkbcommon:libxkbcommon", 137 "//third_party/wayland-ivi-extension:ivi-controller", 138 "//third_party/wayland-ivi-extension:libscreen-info-module", 139 "//utils/native/base:utils", 140 ] 141 142 external_deps = [ "hiviewdfx_hilog_native:libhilog" ] 143} 144 145ohos_executable("mmi-event-injection") { 146 sources = [ "src/mmi_event_simulate_main.cpp" ] 147 148 configs = [ ":event_injection_public_config" ] 149 150 deps = [ 151 "//foundation/multimodalinput/input/frameworks/util:libmmi-util", 152 "//foundation/multimodalinput/input/patch/diff_libinput_mmi:libinput-third-mmi", 153 "//foundation/multimodalinput/input/tools/event_inject:event-injection", 154 ] 155 156 install_enable = true 157 part_name = "multimodalinput_base" 158} 159 160group("ut-event-injection") { 161 testonly = true 162 deps = [] 163 deps += [ ":ut-event-injection-out" ] 164} 165