• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021-2024 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 #ifndef MULTIMODAL_INPUT_CONNECT_STUB_H
17 #define MULTIMODAL_INPUT_CONNECT_STUB_H
18 
19 #include "iremote_stub.h"
20 
21 #include "i_multimodal_input_connect.h"
22 #include "multimodalinput_ipc_interface_code.h"
23 
24 namespace OHOS {
25 namespace MMI {
26 struct ParseData {
27     int32_t actionsTypeSize;
28     uint32_t eventType;
29     int32_t priority;
30     int32_t deviceTags;
31     std::vector<int32_t> actionsType;
32 
ParseDataParseData33     ParseData()
34     {
35         actionsTypeSize = -1;
36         eventType = 0;
37         priority = 0;
38         deviceTags = 0;
39     }
40 };
41 class MultimodalInputConnectStub : public IRemoteStub<IMultimodalInputConnect> {
42 public:
43     MultimodalInputConnectStub() = default;
44     DISALLOW_COPY_AND_MOVE(MultimodalInputConnectStub);
45     virtual ~MultimodalInputConnectStub() = default;
46 
47     virtual bool IsRunning() const = 0;
48     virtual int32_t OnRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel& reply,
49         MessageOption& options) override;
50 
51 protected:
52     int32_t StubHandleAllocSocketFd(MessageParcel &data, MessageParcel &reply);
53     int32_t StubAddInputEventFilter(MessageParcel& data, MessageParcel& reply);
54     int32_t StubRemoveInputEventFilter(MessageParcel& data, MessageParcel& reply);
55     int32_t StubSetMouseScrollRows(MessageParcel& data, MessageParcel& reply);
56     int32_t StubGetMouseScrollRows(MessageParcel& data, MessageParcel& reply);
57     int32_t StubSetPointerSize(MessageParcel& data, MessageParcel& reply);
58     int32_t StubGetPointerSize(MessageParcel& data, MessageParcel& reply);
59     int32_t StubGetCursorSurfaceId(MessageParcel& data, MessageParcel& reply);
60     int32_t StubSetCustomCursor(MessageParcel& data, MessageParcel& reply);
61     int32_t StubSetMouseIcon(MessageParcel& data, MessageParcel& reply);
62     int32_t StubSetMouseHotSpot(MessageParcel& data, MessageParcel& reply);
63     int32_t StubSetMousePrimaryButton(MessageParcel& data, MessageParcel& reply);
64     int32_t StubGetMousePrimaryButton(MessageParcel& data, MessageParcel& reply);
65     int32_t StubSetHoverScrollState(MessageParcel& data, MessageParcel& reply);
66     int32_t StubGetHoverScrollState(MessageParcel& data, MessageParcel& reply);
67     int32_t StubSetPointerVisible(MessageParcel& data, MessageParcel& reply);
68     int32_t StubSetPointerStyle(MessageParcel& data, MessageParcel& reply);
69     int32_t StubNotifyNapOnline(MessageParcel& data, MessageParcel& reply);
70     int32_t StubRemoveInputEventObserver(MessageParcel& data, MessageParcel& reply);
71     int32_t StubSetNapStatus(MessageParcel& data, MessageParcel& reply);
72     int32_t StubGetPointerStyle(MessageParcel& data, MessageParcel& reply);
73     int32_t StubIsPointerVisible(MessageParcel& data, MessageParcel& reply);
74     int32_t StubMarkProcessed(MessageParcel& data, MessageParcel& reply);
75     int32_t StubSupportKeys(MessageParcel& data, MessageParcel& reply);
76     int32_t StubGetDeviceIds(MessageParcel& data, MessageParcel& reply);
77     int32_t StubGetDevice(MessageParcel& data, MessageParcel& reply);
78     int32_t StubRegisterInputDeviceMonitor(MessageParcel& data, MessageParcel& reply);
79     int32_t StubUnregisterInputDeviceMonitor(MessageParcel& data, MessageParcel& reply);
80     int32_t StubGetKeyboardType(MessageParcel& data, MessageParcel& reply);
81     int32_t StubSetKeyboardRepeatDelay(MessageParcel& data, MessageParcel& reply);
82     int32_t StubSetKeyboardRepeatRate(MessageParcel& data, MessageParcel& reply);
83     int32_t StubGetKeyboardRepeatDelay(MessageParcel& data, MessageParcel& reply);
84     int32_t StubGetKeyboardRepeatRate(MessageParcel& data, MessageParcel& reply);
85     int32_t StubAddInputHandler(MessageParcel& data, MessageParcel& reply);
86     int32_t StubRemoveInputHandler(MessageParcel& data, MessageParcel& reply);
87     int32_t StubAddPreInputHandler(MessageParcel& data, MessageParcel& reply);
88     int32_t StubRemovePreInputHandler(MessageParcel& data, MessageParcel& reply);
89     int32_t StubAddGestureMonitor(MessageParcel& data, MessageParcel& reply);
90     int32_t StubRemoveGestureMonitor(MessageParcel& data, MessageParcel& reply);
91     int32_t StubMarkEventConsumed(MessageParcel& data, MessageParcel& reply);
92     int32_t StubMoveMouseEvent(MessageParcel& data, MessageParcel& reply);
93     int32_t StubInjectKeyEvent(MessageParcel& data, MessageParcel& reply);
94     int32_t StubSubscribeKeyEvent(MessageParcel& data, MessageParcel& reply);
95     int32_t StubUnsubscribeKeyEvent(MessageParcel& data, MessageParcel& reply);
96     int32_t StubSubscribeHotkey(MessageParcel& data, MessageParcel& reply);
97     int32_t StubUnsubscribeHotkey(MessageParcel& data, MessageParcel& reply);
98     int32_t StubSubscribeKeyMonitor(MessageParcel& data, MessageParcel& reply);
99     int32_t StubUnsubscribeKeyMonitor(MessageParcel& data, MessageParcel& reply);
100     int32_t StubSubscribeSwitchEvent(MessageParcel& data, MessageParcel& reply);
101     int32_t StubUnsubscribeSwitchEvent(MessageParcel& data, MessageParcel& reply);
102     int32_t StubSubscribeTabletProximity(MessageParcel& data, MessageParcel& reply);
103     int32_t StubUnSubscribetabletProximity(MessageParcel& data, MessageParcel& reply);
104     int32_t StubSubscribeLongPressEvent(MessageParcel& data, MessageParcel& reply);
105     int32_t StubUnsubscribeLongPressEvent(MessageParcel& data, MessageParcel& reply);
106     int32_t StubInjectPointerEvent(MessageParcel& data, MessageParcel& reply);
107     int32_t StubInjectTouchPadEvent(MessageParcel& data, MessageParcel& reply);
108     int32_t StubSetAnrListener(MessageParcel& data, MessageParcel& reply);
109     int32_t StubGetDisplayBindInfo(MessageParcel& data, MessageParcel& reply);
110     int32_t StubGetAllMmiSubscribedEvents(MessageParcel& data, MessageParcel& reply);
111     int32_t StubSetDisplayBind(MessageParcel& data, MessageParcel& reply);
112     int32_t StubSetPointerColor(MessageParcel& data, MessageParcel& reply);
113     int32_t StubGetPointerColor(MessageParcel& data, MessageParcel& reply);
114     int32_t StubEnableCombineKey(MessageParcel& data, MessageParcel& reply);
115     int32_t StubSetPointerSpeed(MessageParcel& data, MessageParcel& reply);
116     int32_t StubGetPointerSpeed(MessageParcel& data, MessageParcel& reply);
117     int32_t StubGetFunctionKeyState(MessageParcel &data, MessageParcel &reply);
118     int32_t StubSetFunctionKeyState(MessageParcel &data, MessageParcel &reply);
119     int32_t StubSetPointerLocation(MessageParcel &data, MessageParcel &reply);
120     int32_t StubSetMouseCaptureMode(MessageParcel& data, MessageParcel& reply);
121     int32_t StubGetWindowPid(MessageParcel& data, MessageParcel& reply);
122     int32_t StubAppendExtraData(MessageParcel& data, MessageParcel& reply);
123     int32_t StubEnableInputDevice(MessageParcel& data, MessageParcel& reply);
124     int32_t StubSetKeyDownDuration(MessageParcel& data, MessageParcel& reply);
125     int32_t StubSetTouchpadScrollSwitch(MessageParcel& data, MessageParcel& reply);
126     int32_t StubGetTouchpadScrollSwitch(MessageParcel& data, MessageParcel& reply);
127     int32_t StubSetTouchpadScrollDirection(MessageParcel& data, MessageParcel& reply);
128     int32_t StubGetTouchpadScrollDirection(MessageParcel& data, MessageParcel& reply);
129     int32_t StubSetTouchpadTapSwitch(MessageParcel& data, MessageParcel& reply);
130     int32_t StubGetTouchpadTapSwitch(MessageParcel& data, MessageParcel& reply);
131     int32_t StubSetTouchpadPointerSpeed(MessageParcel& data, MessageParcel& reply);
132     int32_t StubGetTouchpadPointerSpeed(MessageParcel& data, MessageParcel& reply);
133     int32_t StubGetTouchpadCDG(MessageParcel& data, MessageParcel& reply);
134     int32_t StubSetTouchpadPinchSwitch(MessageParcel& data, MessageParcel& reply);
135     int32_t StubGetTouchpadPinchSwitch(MessageParcel& data, MessageParcel& reply);
136     int32_t StubSetTouchpadSwipeSwitch(MessageParcel& data, MessageParcel& reply);
137     int32_t StubGetTouchpadSwipeSwitch(MessageParcel& data, MessageParcel& reply);
138     int32_t StubSetTouchpadRightClickType(MessageParcel& data, MessageParcel& reply);
139     int32_t StubGetTouchpadRightClickType(MessageParcel& data, MessageParcel& reply);
140     int32_t StubSetTouchpadRotateSwitch(MessageParcel& data, MessageParcel& reply);
141     int32_t StubGetTouchpadRotateSwitch(MessageParcel& data, MessageParcel& reply);
142     int32_t StubSetTouchpadDoubleTapAndDragState(MessageParcel& data, MessageParcel& reply);
143     int32_t StubGetTouchpadDoubleTapAndDragState(MessageParcel& data, MessageParcel& reply);
144     int32_t StubClearWindowPointerStyle(MessageParcel& data, MessageParcel& reply);
145     int32_t StubSetShieldStatus(MessageParcel& data, MessageParcel& reply);
146     int32_t StubGetShieldStatus(MessageParcel& data, MessageParcel& reply);
147     int32_t StubGetKeyState(MessageParcel& data, MessageParcel& reply);
148     int32_t StubAuthorize(MessageParcel& data, MessageParcel& reply);
149     int32_t StubCancelInjection(MessageParcel& data, MessageParcel& reply);
150     int32_t StubHasIrEmitter(MessageParcel& data, MessageParcel& reply);
151     int32_t StubGetInfraredFrequencies(MessageParcel& data, MessageParcel& reply);
152     int32_t StubTransmitInfrared(MessageParcel& data, MessageParcel& reply);
153 #ifdef OHOS_BUILD_ENABLE_VKEYBOARD
154     int32_t StubCreateVKeyboardDevice(MessageParcel& data, MessageParcel& reply);
155 #endif // OHOS_BUILD_ENABLE_VKEYBOARD
156     int32_t StubSetPixelMapData(MessageParcel& data, MessageParcel& reply);
157     int32_t StubSetMoveEventFilters(MessageParcel& data, MessageParcel& reply);
158     int32_t StubSetCurrentUser(MessageParcel& data, MessageParcel& reply);
159     int32_t StubSetTouchpadThreeFingersTapSwitch(MessageParcel& data, MessageParcel& reply);
160     int32_t StubGetTouchpadThreeFingersTapSwitch(MessageParcel& data, MessageParcel& reply);
161     int32_t StubAddVirtualInputDevice(MessageParcel& data, MessageParcel& reply);
162     int32_t StubRemoveVirtualInputDevice(MessageParcel& data, MessageParcel& reply);
163     int32_t StubEnableHardwareCursorStats(MessageParcel& data, MessageParcel& reply);
164     int32_t StubGetHardwareCursorStats(MessageParcel& data, MessageParcel& reply);
165 #ifdef OHOS_BUILD_ENABLE_MAGICCURSOR
166     int32_t StubGetPointerSnapshot(MessageParcel &data, MessageParcel &reply);
167 #endif // OHOS_BUILD_ENABLE_MAGICCURSOR
168     int32_t StubSetTouchpadScrollRows(MessageParcel& data, MessageParcel& reply);
169     int32_t StubGetTouchpadScrollRows(MessageParcel& data, MessageParcel& reply);
170     int32_t StubSetClientInfo(MessageParcel &data, MessageParcel &reply);
171 #ifdef OHOS_BUILD_ENABLE_ANCO
172     int32_t StubAncoAddChannel(MessageParcel& data, MessageParcel& reply);
173     int32_t StubAncoRemoveChannel(MessageParcel& data, MessageParcel& reply);
174     int32_t StubCheckKnuckleEvent(MessageParcel& data, MessageParcel& reply);
175 #endif // OHOS_BUILD_ENABLE_ANCO
176     int32_t StubTransferBinderClientService(MessageParcel& data, MessageParcel& reply);
177     int32_t StubSkipPointerLayer(MessageParcel& data, MessageParcel& reply);
178     int32_t StubGetIntervalSinceLastInput(MessageParcel& data, MessageParcel& reply);
179     int32_t StubGetAllSystemHotkeys(MessageParcel& data, MessageParcel& reply);
180     int32_t ParseAddInputHandlerData(MessageParcel& data, ParseData& parseData);
181     int32_t StubSetInputDeviceInputEnable(MessageParcel& data, MessageParcel& reply);
182     int32_t StubShiftAppPointerEvent(MessageParcel& data, MessageParcel& reply);
183     int32_t StubSetCustomMouseCursor(MessageParcel& data, MessageParcel& reply);
184     int32_t StubSetMultiWindowScreenId(MessageParcel& data, MessageParcel& reply);
185 
186 private:
187     int32_t VerifyTouchPadSetting(void);
188     int32_t HandleGestureMonitor(MultimodalinputConnectInterfaceCode code,
189         MessageParcel& data, MessageParcel& reply);
190 };
191 } // namespace MMI
192 } // namespace OHOS
193 #endif // MULTIMODAL_INPUT_CONNECT_STUB_H
194