• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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