1 /*
2  * Copyright (C) 2022 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed On an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include "accessibility_touchEvent_injector.h"
17 #include "accessible_ability_manager_service.h"
18 
19 namespace OHOS {
20 namespace Accessibility {
TouchInjectHandler(const std::shared_ptr<AppExecFwk::EventRunner> & runner,TouchEventInjector & server)21 TouchInjectHandler::TouchInjectHandler(
22     const std::shared_ptr<AppExecFwk::EventRunner>& runner, TouchEventInjector& server)
23     : AppExecFwk::EventHandler(runner), server_(server)
24 {
25     (void)runner;
26     (void)server;
27 }
28 
ProcessEvent(const AppExecFwk::InnerEvent::Pointer & event)29 void TouchInjectHandler::ProcessEvent(const AppExecFwk::InnerEvent::Pointer& event)
30 {
31     std::shared_ptr<SendEventArgs> parameters = nullptr;
32     if (!event) {
33         return;
34     }
35     switch (event->GetInnerEventId()) {
36         case TouchEventInjector::SEND_TOUCH_EVENT_MSG:
37             parameters = event->GetSharedObject<SendEventArgs>();
38             if (!parameters->event_) {
39                 return;
40             }
41             server_.SendPointerEvent(*parameters->event_);
42             break;
43         default:
44             break;
45     }
46 }
47 
TouchEventInjector()48 TouchEventInjector::TouchEventInjector()
49 {}
50 
OnPointerEvent(MMI::PointerEvent & event)51 bool TouchEventInjector::OnPointerEvent(MMI::PointerEvent& event)
52 {
53     (void)event;
54     return false;
55 }
56 
DestroyEvents()57 void TouchEventInjector::DestroyEvents()
58 {
59     isDestroyEvent_ = true;
60 }
61 
SendPointerEvent(MMI::PointerEvent & event)62 void TouchEventInjector::SendPointerEvent(MMI::PointerEvent& event)
63 {
64     (void)event;
65 }
66 
CancelGesture()67 void TouchEventInjector::CancelGesture()
68 {}
69 
CancelInjectedEvents()70 void TouchEventInjector::CancelInjectedEvents()
71 {}
72 
obtainTouchEvent(int32_t action,MMI::PointerEvent::PointerItem point,int64_t actionTime)73 std::shared_ptr<MMI::PointerEvent> TouchEventInjector::obtainTouchEvent(
74     int32_t action, MMI::PointerEvent::PointerItem point, int64_t actionTime)
75 {
76     (void)action;
77     (void)point;
78     (void)actionTime;
79     return nullptr;
80 }
81 
GetSystemTime()82 int64_t TouchEventInjector::GetSystemTime()
83 {
84     return 0;
85 }
86 
InjectEvents(const std::shared_ptr<AccessibilityGestureInjectPath> & gesturePath)87 void TouchEventInjector::InjectEvents(const std::shared_ptr<AccessibilityGestureInjectPath>& gesturePath)
88 {
89 }
90 } // namespace Accessibility
91 } // namespace OHOS