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