• 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("libmmi_client_config") {
20  visibility = [ ":*" ]
21
22  include_dirs = [
23    "//foundation/multimodalinput/input/interfaces/native/innerkits/common/include",
24    "//foundation/multimodalinput/input/util/common/include",
25    "//foundation/multimodalinput/input/interfaces/native/innerkits/event/include",
26    "event_handler/include",
27    "events/include",
28    "module_loader/include",
29  ]
30}
31
32config("libmmi_public_client_config") {
33  include_dirs = [
34    "//base/notification/eventhandler/interfaces/inner_api",
35    "//foundation/multimodalinput/input/interfaces/native/innerkits/common/include",
36    "//foundation/multimodalinput/input/interfaces/native/innerkits/event/include",
37    "//foundation/multimodalinput/input/interfaces/native/innerkits/proxy/include",
38    "//foundation/communication/ipc/interfaces/innerkits/ipc_core/include",
39    "//foundation/multimodalinput/input/util/common/include",
40  ]
41}
42
43config("libmmi_test_util") {
44  include_dirs = [
45    "${mmi_path}/frameworks/proxy/event_handler/include",
46    "${mmi_path}/frameworks/proxy/module_loader/include",
47    "${mmi_path}/interfaces/native/innerkits/common/include",
48    "${mmi_path}/interfaces/native/innerkits/proxy/include",
49    "${mmi_path}/test/unittest/common/include",
50    "${mmi_path}/util/network/include",
51    "${mmi_path}/util/socket/include",
52    "//foundation/communication/ipc/interfaces/innerkits/ipc_core/include",
53    "//foundation/window/window_manager/wm/include",
54    "//third_party/googletest/googletest/include",
55  ]
56}
57
58ohos_source_set("libmmi-common") {
59  sources = [
60    "events/src/input_device.cpp",
61    "events/src/input_event.cpp",
62    "events/src/key_event.cpp",
63    "events/src/key_option.cpp",
64    "events/src/pointer_event.cpp",
65  ]
66
67  defines = []
68
69  if (input_feature_input_cooperation) {
70    defines += [ "OHOS_BUILD_ENABLE_COOPERATE" ]
71  }
72  public_configs = [ ":libmmi_client_config" ]
73
74  external_deps = [
75    "c_utils:utils",
76    "hiviewdfx_hilog_native:libhilog",
77  ]
78
79  part_name = "input"
80  subsystem_name = "multimodalinput"
81}
82
83ohos_shared_library("libmmi-client") {
84  sources = [
85    "event_handler/src/bytrace_adapter.cpp",
86    "event_handler/src/client_msg_handler.cpp",
87    "event_handler/src/input_device_impl.cpp",
88    "event_handler/src/input_handler_manager.cpp",
89    "event_handler/src/input_manager_impl.cpp",
90    "event_handler/src/multimodal_event_handler.cpp",
91    "events/src/axis_event.cpp",
92    "events/src/input_manager.cpp",
93    "module_loader/src/mmi_client.cpp",
94    "module_loader/src/mmi_fd_listener.cpp",
95  ]
96  if (input_feature_input_cooperation) {
97    sources += [ "event_handler/src/input_device_cooperate_impl.cpp" ]
98  }
99
100  defines = []
101
102  if (input_feature_pointer_drawing) {
103    defines += [ "OHOS_BUILD_ENABLE_POINTER_DRAWING" ]
104  }
105  if (input_feature_monitor) {
106    defines += [ "OHOS_BUILD_ENABLE_MONITOR" ]
107  }
108  if (input_feature_interceptor) {
109    defines += [ "OHOS_BUILD_ENABLE_INTERCEPTOR" ]
110  }
111  if (input_feature_keyboard) {
112    defines += [ "OHOS_BUILD_ENABLE_KEYBOARD" ]
113  }
114  if (input_feature_mouse) {
115    defines += [ "OHOS_BUILD_ENABLE_POINTER" ]
116  }
117  if (input_feature_touchscreen) {
118    defines += [ "OHOS_BUILD_ENABLE_TOUCH" ]
119  }
120
121  if (input_feature_interceptor) {
122    sources += [ "event_handler/src/input_interceptor_manager.cpp" ]
123  }
124
125  if (input_feature_monitor) {
126    sources += [ "event_handler/src/input_monitor_manager.cpp" ]
127  }
128
129  if (input_feature_keyboard) {
130    sources += [ "event_handler/src/key_event_input_subscribe_manager.cpp" ]
131  }
132
133  if (input_feature_input_cooperation) {
134    defines += [ "OHOS_BUILD_ENABLE_COOPERATE" ]
135  }
136
137  if (input_feature_joystick) {
138    defines += [ "OHOS_BUILD_ENABLE_JOYSTICK" ]
139  }
140
141  configs = [
142    ":libmmi_client_config",
143    "//foundation/multimodalinput/input/util:libmmi_util_public_config",
144    "//foundation/multimodalinput/input/service/filter:mmi_event_filter_config",
145    "//foundation/multimodalinput/input/service/connect_manager:mmi_connect_manager_config",
146  ]
147
148  public_configs = [ ":libmmi_public_client_config" ]
149
150  deps = [
151    ":libmmi-common",
152    "//foundation/multimodalinput/input/service/connect_manager:mmi_connect_manager_proxy",
153    "//foundation/multimodalinput/input/service/filter:mmi_event_filter_service",
154    "//foundation/multimodalinput/input/util:libmmi-util",
155  ]
156
157  part_name = "input"
158  subsystem_name = "multimodalinput"
159  external_deps = [
160    "c_utils:utils",
161    "eventhandler:libeventhandler",
162    "hitrace_native:hitrace_meter",
163    "hiviewdfx_hilog_native:libhilog",
164    "ipc:ipc_core",
165  ]
166}
167
168ohos_unittest("ut-mmi-proxy-out") {
169  module_out_path = module_output_path
170  include_dirs = [
171    "//commonlibrary/c_utils/base/include",
172    "$root_out_dir/diff_libinput_mmi/export_include",
173  ]
174
175  sources = [ "module_loader/test/mmi_client_test.cpp" ]
176
177  configs = [ ":libmmi_test_util" ]
178
179  deps = [
180    "${mmi_path}/frameworks/proxy:libmmi-client",
181    "${mmi_path}/util:libmmi-util",
182    "//third_party/googletest:gmock_main",
183    "//third_party/googletest:gtest_main",
184  ]
185  external_deps = [
186    "eventhandler:libeventhandler",
187    "hiviewdfx_hilog_native:libhilog",
188    "ipc:ipc_core",
189  ]
190}
191
192ohos_unittest("KeyEventTest") {
193  module_out_path = module_output_path
194  include_dirs = [
195    "//commonlibrary/c_utils/base/include",
196    "$root_out_dir/diff_libinput_mmi/export_include",
197  ]
198
199  sources = [
200    "${mmi_path}/test/unittest/common/src/event_util_test.cpp",
201    "${mmi_path}/test/unittest/common/src/window_utils_test.cpp",
202    "events/test/key_event_test.cpp",
203  ]
204
205  configs = [ ":libmmi_test_util" ]
206
207  deps = [
208    "${ability_runtime_path}/frameworks/native/ability/native:abilitykit_native",
209    "${mmi_path}/frameworks/proxy:libmmi-client",
210    "${mmi_path}/util:libmmi-util",
211    "//third_party/googletest:gmock_main",
212    "//third_party/googletest:gtest_main",
213  ]
214  external_deps = [
215    "access_token:libaccesstoken_sdk",
216    "access_token:libnativetoken",
217    "access_token:libtoken_setproc",
218    "hiviewdfx_hilog_native:libhilog",
219    "ipc:ipc_core",
220    "window_manager:libwm",
221  ]
222}
223
224ohos_unittest("InputManagerTest") {
225  module_out_path = module_output_path
226  include_dirs = [
227    "${mmi_path}/frameworks/proxy/events/test",
228    "$root_out_dir/diff_libinput_mmi/export_include",
229  ]
230
231  defines = []
232
233  if (input_feature_pointer_drawing) {
234    defines += [ "OHOS_BUILD_ENABLE_POINTER_DRAWING" ]
235  }
236
237  if (input_feature_input_cooperation) {
238    defines += [ "OHOS_BUILD_ENABLE_COOPERATE" ]
239  }
240
241  if (input_feature_keyboard) {
242    defines += [ "OHOS_BUILD_ENABLE_KEYBOARD" ]
243  }
244  if (input_feature_mouse) {
245    defines += [ "OHOS_BUILD_ENABLE_POINTER" ]
246  }
247  if (input_feature_touchscreen) {
248    defines += [ "OHOS_BUILD_ENABLE_TOUCH" ]
249  }
250  if (input_feature_interceptor) {
251    defines += [ "OHOS_BUILD_ENABLE_INTERCEPTOR" ]
252  }
253  if (input_feature_monitor) {
254    defines += [ "OHOS_BUILD_ENABLE_MONITOR" ]
255  }
256  if (input_feature_joystick) {
257    defines += [ "OHOS_BUILD_ENABLE_JOYSTICK" ]
258  }
259  sources = [
260    "${mmi_path}/test/unittest/common/src/event_util_test.cpp",
261    "${mmi_path}/test/unittest/common/src/system_info.cpp",
262    "${mmi_path}/test/unittest/common/src/window_utils_test.cpp",
263    "events/test/input_manager_test.cpp",
264  ]
265
266  configs = [ ":libmmi_test_util" ]
267
268  deps = [
269    "${ability_runtime_path}/frameworks/native/ability/native:abilitykit_native",
270    "${mmi_path}/frameworks/proxy:libmmi-client",
271    "${mmi_path}/util:libmmi-util",
272    "//third_party/googletest:gmock_main",
273    "//third_party/googletest:gtest_main",
274  ]
275  external_deps = [
276    "access_token:libaccesstoken_sdk",
277    "access_token:libnativetoken",
278    "access_token:libtoken_setproc",
279    "eventhandler:libeventhandler",
280    "hiviewdfx_hilog_native:libhilog",
281    "ipc:ipc_core",
282    "window_manager:libwm",
283  ]
284}
285
286ohos_unittest("InputManagerManualTest") {
287  module_out_path = module_output_path
288  include_dirs = [
289    "//commonlibrary/c_utils/base/include",
290    "$root_out_dir/diff_libinput_mmi/export_include",
291  ]
292
293  defines = []
294
295  if (input_feature_mouse) {
296    defines += [ "OHOS_BUILD_ENABLE_POINTER" ]
297  }
298  if (input_feature_touchscreen) {
299    defines += [ "OHOS_BUILD_ENABLE_TOUCH" ]
300  }
301  sources = [ "events/test/input_manager_manual_test.cpp" ]
302
303  configs = [ ":libmmi_test_util" ]
304
305  deps = [
306    "${mmi_path}/frameworks/proxy:libmmi-client",
307    "${mmi_path}/util:libmmi-util",
308    "//third_party/googletest:gmock_main",
309    "//third_party/googletest:gtest_main",
310  ]
311  external_deps = [
312    "access_token:libaccesstoken_sdk",
313    "access_token:libnativetoken",
314    "access_token:libtoken_setproc",
315    "hiviewdfx_hilog_native:libhilog",
316    "ipc:ipc_core",
317  ]
318}
319
320ohos_unittest("PointerEventTest") {
321  module_out_path = module_output_path
322
323  include_dirs = [ "$root_out_dir/diff_libinput_mmi/export_include" ]
324
325  defines = []
326
327  if (input_feature_mouse) {
328    defines += [ "OHOS_BUILD_ENABLE_POINTER" ]
329  }
330  sources = [
331    "${mmi_path}/test/unittest/common/src/event_util_test.cpp",
332    "${mmi_path}/test/unittest/common/src/window_utils_test.cpp",
333    "events/test/pointer_event_test.cpp",
334  ]
335
336  configs = [ ":libmmi_test_util" ]
337
338  deps = [
339    "${mmi_path}/frameworks/proxy:libmmi-client",
340    "${mmi_path}/util:libmmi-util",
341    "//foundation/ability/ability_runtime/frameworks/native/ability/native:abilitykit_native",
342    "//third_party/googletest:gmock_main",
343    "//third_party/googletest:gtest_main",
344  ]
345  external_deps = [
346    "access_token:libaccesstoken_sdk",
347    "access_token:libnativetoken",
348    "access_token:libtoken_setproc",
349    "hiviewdfx_hilog_native:libhilog",
350    "ipc:ipc_core",
351    "window_manager:libwm",
352  ]
353}
354