• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2025 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 MOCK_MULTIMODAL_INPUT_CONNECT_STUB_H
17 #define MOCK_MULTIMODAL_INPUT_CONNECT_STUB_H
18 
19 #include <gmock/gmock.h>
20 #include "system_ability.h"
21 
22 #include "app_debug_listener.h"
23 #include "input_event_handler.h"
24 #ifndef OHOS_BUILD_ENABLE_WATCH
25 #include "knuckle_drawing_manager.h"
26 #endif // OHOS_BUILD_ENABLE_WATCH
27 #include "multimodal_input_connect_stub.h"
28 #include "server_msg_handler.h"
29 
30 namespace OHOS {
31 namespace MMI {
32 using namespace testing;
33 using namespace testing::ext;
34 
35 class MockMultimodalInputConnectStub : public MultimodalInputConnectStub {
36 public:
37     MOCK_METHOD(int32_t, AllocSocketFd,
38                 (const std::string &programName, const int32_t moduleType, int32_t &socketFd, int32_t &tokenType),
39                 (override));
40     MOCK_METHOD(int32_t, AddInputEventFilter,
41                 (sptr<IEventFilter> filter, int32_t filterId, int32_t priority, uint32_t deviceTags), (override));
42     MOCK_METHOD(int32_t, NotifyNapOnline, (), (override));
43     MOCK_METHOD(int32_t, RemoveInputEventObserver, (), (override));
44     MOCK_METHOD(int32_t, RemoveInputEventFilter, (int32_t filterId), (override));
45     MOCK_METHOD(int32_t, SetMouseScrollRows, (int32_t rows), (override));
46     MOCK_METHOD(int32_t, GetMouseScrollRows, (int32_t & rows), (override));
47     MOCK_METHOD(int32_t, SetCustomCursor, (int32_t windowId, int32_t focusX, int32_t focusY, void *pixelMap),
48                 (override));
49     MOCK_METHOD(int32_t, SetCustomCursor, (int32_t windowId, CustomCursor cursor, CursorOptions options), (override));
50     MOCK_METHOD(int32_t, SetMouseIcon, (int32_t windowId, void *pixelMap), (override));
51     MOCK_METHOD(int32_t, SetPointerSize, (int32_t size), (override));
52     MOCK_METHOD(int32_t, SetNapStatus, (int32_t pid, int32_t uid, std::string bundleName, int32_t napStatus),
53                 (override));
54     MOCK_METHOD(int32_t, GetPointerSize, (int32_t &size), (override));
55     MOCK_METHOD(int32_t, GetCursorSurfaceId, (uint64_t & surfaceId), (override));
56     MOCK_METHOD(int32_t, SetMouseHotSpot, (int32_t pid, int32_t windowId, int32_t hotSpotX, int32_t hotSpotY),
57                 (override));
58     MOCK_METHOD(int32_t, SetMousePrimaryButton, (int32_t primaryButton), (override));
59     MOCK_METHOD(int32_t, GetMousePrimaryButton, (int32_t & primaryButton), (override));
60     MOCK_METHOD(int32_t, SetHoverScrollState, (bool state), (override));
61     MOCK_METHOD(int32_t, GetHoverScrollState, (bool &state), (override));
62     MOCK_METHOD(int32_t, SetPointerVisible, (bool visible, int32_t priority), (override));
63     MOCK_METHOD(int32_t, IsPointerVisible, (bool &visible), (override));
64     MOCK_METHOD(int32_t, MarkProcessed, (int32_t eventType, int32_t eventId), (override));
65     MOCK_METHOD(int32_t, SetPointerColor, (int32_t color), (override));
66     MOCK_METHOD(int32_t, GetPointerColor, (int32_t & color), (override));
67     MOCK_METHOD(int32_t, EnableCombineKey, (bool enable), (override));
68     MOCK_METHOD(int32_t, SetPointerSpeed, (int32_t speed), (override));
69     MOCK_METHOD(int32_t, GetPointerSpeed, (int32_t & speed), (override));
70     MOCK_METHOD(int32_t, SetPointerStyle, (int32_t windowId, PointerStyle pointerStyle, bool isUiExtension),
71                 (override));
72     MOCK_METHOD(int32_t, GetPointerStyle, (int32_t windowId, PointerStyle &pointerStyle, bool isUiExtension),
73                 (override));
74     MOCK_METHOD(int32_t, SupportKeys, (int32_t deviceId, std::vector<int32_t> &keys, std::vector<bool> &keystroke),
75                 (override));
76     MOCK_METHOD(int32_t, GetDeviceIds, (std::vector<int32_t> & ids), (override));
77     MOCK_METHOD(int32_t, GetDevice, (int32_t deviceId, std::shared_ptr<InputDevice> &inputDevice), (override));
78     MOCK_METHOD(int32_t, RegisterDevListener, (), (override));
79     MOCK_METHOD(int32_t, UnregisterDevListener, (), (override));
80     MOCK_METHOD(int32_t, GetKeyboardType, (int32_t deviceId, int32_t &keyboardType), (override));
81     MOCK_METHOD(int32_t, SetKeyboardRepeatDelay, (int32_t delay), (override));
82     MOCK_METHOD(int32_t, SetKeyboardRepeatRate, (int32_t rate), (override));
83     MOCK_METHOD(int32_t, GetKeyboardRepeatDelay, (int32_t & delay), (override));
84     MOCK_METHOD(int32_t, GetKeyboardRepeatRate, (int32_t & rate), (override));
85     MOCK_METHOD(int32_t, AddInputHandler,
86         (InputHandlerType handlerType, HandleEventType eventType, int32_t priority, uint32_t deviceTags,
87         std::vector<int32_t> actionsType),
88         (override));
89     MOCK_METHOD(int32_t, RemoveInputHandler,
90         (InputHandlerType handlerType, HandleEventType eventType, int32_t priority, uint32_t deviceTags,
91         std::vector<int32_t> actionsType),
92         (override));
93     MOCK_METHOD(int32_t, AddPreInputHandler, (int32_t handlerId, HandleEventType eventType, std::vector<int32_t> keys),
94                 (override));
95     MOCK_METHOD(int32_t, RemovePreInputHandler, (int32_t handlerId), (override));
96     MOCK_METHOD(int32_t, AddGestureMonitor,
97                 (InputHandlerType handlerType, HandleEventType eventType, TouchGestureType gestureType,
98                  int32_t fingers),
99                 (override));
100     MOCK_METHOD(int32_t, RemoveGestureMonitor,
101                 (InputHandlerType handlerType, HandleEventType eventType, TouchGestureType gestureType,
102                  int32_t fingers),
103                 (override));
104     MOCK_METHOD(int32_t, MarkEventConsumed, (int32_t eventId), (override));
105     MOCK_METHOD(int32_t, MoveMouseEvent, (int32_t offsetX, int32_t offsetY), (override));
106     MOCK_METHOD(int32_t, InjectKeyEvent, (const std::shared_ptr<KeyEvent> keyEvent, bool isNativeInject), (override));
107     MOCK_METHOD(int32_t, SubscribeKeyEvent, (int32_t subscribeId, const std::shared_ptr<KeyOption> option), (override));
108     MOCK_METHOD(int32_t, UnsubscribeKeyEvent, (int32_t subscribeId), (override));
109     MOCK_METHOD(int32_t, SubscribeHotkey, (int32_t subscribeId, const std::shared_ptr<KeyOption> option), (override));
110     MOCK_METHOD(int32_t, UnsubscribeHotkey, (int32_t subscribeId), (override));
111 #ifdef OHOS_BUILD_ENABLE_KEY_PRESSED_HANDLER
112     MOCK_METHOD(int32_t, SubscribeKeyMonitor, (const KeyMonitorOption &keyOption), (override));
113     MOCK_METHOD(int32_t, UnsubscribeKeyMonitor, (const KeyMonitorOption &keyOption), (override));
114 #endif // OHOS_BUILD_ENABLE_KEY_PRESSED_HANDLER
115     MOCK_METHOD(int32_t, SubscribeSwitchEvent, (int32_t subscribeId, int32_t switchType), (override));
116     MOCK_METHOD(int32_t, UnsubscribeSwitchEvent, (int32_t subscribeId), (override));
117     MOCK_METHOD(int32_t, QuerySwitchStatus, (int32_t switchType, int32_t &state), (override));
118     MOCK_METHOD(int32_t, SubscribeTabletProximity, (int32_t subscribeId), (override));
119     MOCK_METHOD(int32_t, UnsubscribetabletProximity, (int32_t subscribeId), (override));
120     MOCK_METHOD(int32_t, SubscribeLongPressEvent, (int32_t subscribeId, const LongPressRequest &longPressRequest),
121                 (override));
122     MOCK_METHOD(int32_t, UnsubscribeLongPressEvent, (int32_t subscribeId), (override));
123     MOCK_METHOD(int32_t, InjectPointerEvent, (const std::shared_ptr<PointerEvent> pointerEvent, bool isNativeInject),
124                 (override));
125     MOCK_METHOD(int32_t, InjectTouchPadEvent,
126                 (std::shared_ptr<PointerEvent> pointerEvent, const TouchpadCDG &touchpadCDG, bool isNativeInject),
127                 (override));
128     MOCK_METHOD(int32_t, SetAnrObserver, (), (override));
129     MOCK_METHOD(int32_t, GetDisplayBindInfo, (DisplayBindInfos & infos), (override));
130     MOCK_METHOD(int32_t, GetAllMmiSubscribedEvents,
131                 ((std::map<std::tuple<int32_t, int32_t, std::string>, int32_t> & datas)), (override));
132     MOCK_METHOD(int32_t, SetDisplayBind, (int32_t deviceId, int32_t displayId, std::string &msg), (override));
133     MOCK_METHOD(int32_t, GetFunctionKeyState, (int32_t funckey, bool &state), (override));
134     MOCK_METHOD(int32_t, SetFunctionKeyState, (int32_t funcKey, bool enable), (override));
135     MOCK_METHOD(int32_t, SetPointerLocation, (int32_t x, int32_t y, int32_t displayId), (override));
136     MOCK_METHOD(int32_t, ClearWindowPointerStyle, (int32_t pid, int32_t windowId), (override));
137     MOCK_METHOD(int32_t, SetMouseCaptureMode, (int32_t windowId, bool isCaptureMode), (override));
138     MOCK_METHOD(int32_t, GetWindowPid, (int32_t windowId), (override));
139     MOCK_METHOD(int32_t, AppendExtraData, (const ExtraData &extraData), (override));
140     MOCK_METHOD(int32_t, EnableInputDevice, (bool enable), (override));
141     MOCK_METHOD(int32_t, SetKeyDownDuration, (const std::string &businessId, int32_t delay), (override));
142     MOCK_METHOD(int32_t, SetTouchpadScrollSwitch, (bool switchFlag), (override));
143     MOCK_METHOD(int32_t, GetTouchpadScrollSwitch, (bool &switchFlag), (override));
144     MOCK_METHOD(int32_t, SetTouchpadScrollDirection, (bool state), (override));
145     MOCK_METHOD(int32_t, GetTouchpadScrollDirection, (bool &state), (override));
146     MOCK_METHOD(int32_t, SetTouchpadTapSwitch, (bool switchFlag), (override));
147     MOCK_METHOD(int32_t, GetTouchpadTapSwitch, (bool &switchFlag), (override));
148     MOCK_METHOD(int32_t, SetTouchpadPointerSpeed, (int32_t speed), (override));
149     MOCK_METHOD(int32_t, GetTouchpadPointerSpeed, (int32_t & speed), (override));
150     MOCK_METHOD(int32_t, GetTouchpadCDG, (TouchpadCDG &touchpadCDG), (override));
151     MOCK_METHOD(int32_t, SetTouchpadPinchSwitch, (bool switchFlag), (override));
152     MOCK_METHOD(int32_t, GetTouchpadPinchSwitch, (bool &switchFlag), (override));
153     MOCK_METHOD(int32_t, SetTouchpadSwipeSwitch, (bool switchFlag), (override));
154     MOCK_METHOD(int32_t, GetTouchpadSwipeSwitch, (bool &switchFlag), (override));
155     MOCK_METHOD(int32_t, SetTouchpadRightClickType, (int32_t type), (override));
156     MOCK_METHOD(int32_t, GetTouchpadRightClickType, (int32_t & type), (override));
157     MOCK_METHOD(int32_t, SetTouchpadRotateSwitch, (bool rotateSwitch), (override));
158     MOCK_METHOD(int32_t, GetTouchpadRotateSwitch, (bool &rotateSwitch), (override));
159     MOCK_METHOD(int32_t, SetTouchpadDoubleTapAndDragState, (bool switchFlag), (override));
160     MOCK_METHOD(int32_t, GetTouchpadDoubleTapAndDragState, (bool &switchFlag), (override));
161     MOCK_METHOD(int32_t, SetShieldStatus, (int32_t shieldMode, bool isShield), (override));
162     MOCK_METHOD(int32_t, GetShieldStatus, (int32_t shieldMode, bool &isShield), (override));
163     MOCK_METHOD(int32_t, GetKeyState,
164                 ((std::vector<int32_t> & pressedKeys), (std::map<int32_t, int32_t> & specialKeysState)), (override));
165     MOCK_METHOD(int32_t, Authorize, (bool isAuthorize), (override));
166     MOCK_METHOD(int32_t, CancelInjection, (), (override));
167     MOCK_METHOD(int32_t, SetPixelMapData, (int32_t infoId, void *pixelMap), (override));
168     MOCK_METHOD(int32_t, SetMoveEventFilters, (bool flag), (override));
169     MOCK_METHOD(int32_t, HasIrEmitter, (bool &hasIrEmitter), (override));
170     MOCK_METHOD(int32_t, GetInfraredFrequencies, (std::vector<InfraredFrequency> & requencys), (override));
171     MOCK_METHOD(int32_t, TransmitInfrared, (int64_t number, std::vector<int64_t> &pattern), (override));
172 #ifdef OHOS_BUILD_ENABLE_VKEYBOARD
173     MOCK_METHOD(int32_t, CreateVKeyboardDevice, (sptr<IRemoteObject> & vkeyboardDevice), (override));
174 #endif // OHOS_BUILD_ENABLE_VKEYBOARD
175     MOCK_METHOD(int32_t, SetCurrentUser, (int32_t userId), (override));
176     MOCK_METHOD(int32_t, SetTouchpadThreeFingersTapSwitch, (bool switchFlag), (override));
177     MOCK_METHOD(int32_t, GetTouchpadThreeFingersTapSwitch, (bool &switchFlag), (override));
178     MOCK_METHOD(int32_t, AddVirtualInputDevice, (std::shared_ptr<InputDevice> device, int32_t &deviceId), (override));
179     MOCK_METHOD(int32_t, RemoveVirtualInputDevice, (int32_t deviceId), (override));
180     MOCK_METHOD(int32_t, EnableHardwareCursorStats, (bool enable), (override));
181     MOCK_METHOD(int32_t, GetHardwareCursorStats, (uint32_t & frameCount, uint32_t &vsyncCount), (override));
182     MOCK_METHOD(int32_t, GetIntervalSinceLastInput, (int64_t & timeInterval), (override));
183 #ifdef OHOS_BUILD_ENABLE_MAGICCURSOR
184     MOCK_METHOD(int32_t, GetPointerSnapshot, (void *pixelMapPtr), (override));
185 #endif // OHOS_BUILD_ENABLE_MAGICCURSOR
186     MOCK_METHOD(int32_t, SetClientInfo, (int32_t pid, uint64_t readThreadId), (override));
187     MOCK_METHOD(int32_t, SetTouchpadScrollRows, (int32_t rows), (override));
188     MOCK_METHOD(int32_t, GetTouchpadScrollRows, (int32_t & rows), (override));
189 #ifdef OHOS_BUILD_ENABLE_ANCO
190     MOCK_METHOD(int32_t, AncoAddChannel, (sptr<IAncoChannel> channel), (override));
191     MOCK_METHOD(int32_t, AncoRemoveChannel, (sptr<IAncoChannel> channel), (override));
192     MOCK_METHOD(int32_t, CheckKnuckleEvent, (float pointX, float pointY, bool &isKnuckleType), (override));
193 #endif // OHOS_BUILD_ENABLE_ANCO
194     MOCK_METHOD(int32_t, TransferBinderClientSrv, (const sptr<IRemoteObject> &binderClientObject), (override));
195     MOCK_METHOD(int32_t, SkipPointerLayer, (bool isSkip), (override));
196     MOCK_METHOD(int32_t, GetAllSystemHotkeys, (std::vector<std::unique_ptr<KeyOption>> & keyOptions), (override));
197     MOCK_METHOD(int32_t, SetInputDeviceEnabled, (int32_t deviceId, bool enable, int32_t index), (override));
198     MOCK_METHOD(int32_t, ShiftAppPointerEvent, (const ShiftWindowParam &param, bool autoGenDown), (override));
199     MOCK_METHOD(int32_t, SetMultiWindowScreenId, (uint64_t screenId, uint64_t displayNodeScreenId), (override));
200     MOCK_METHOD(int32_t, SetKnuckleSwitch, (bool knuckleSwitch), (override));
201     MOCK_METHOD(int32_t, LaunchAiScreenAbility, (), (override));
202     MOCK_METHOD(int32_t, GetMaxMultiTouchPointNum, (int32_t &pointNum), (override));
203     MOCK_METHOD(int32_t, SubscribeInputActive, (int32_t subscribeId, int64_t interval), (override));
204     MOCK_METHOD(int32_t, UnsubscribeInputActive, (int32_t subscribeId), (override));
205     MOCK_METHOD(bool, IsRunning, (), (const override));
206     MOCK_METHOD(int32_t, SetInputDeviceConsumer, (const std::vector<std::string>& deviceNames), (override));
207     MOCK_METHOD(int32_t, ClearInputDeviceConsumer, (const std::vector<std::string>& deviceNames), (override));
208     MOCK_METHOD(int32_t, SetMouseAccelerateMotionSwitch, (int32_t deviceId, bool enable), (override));
209     MOCK_METHOD(int32_t, SwitchScreenCapturePermission, (uint32_t permissionType, bool enable), (override));
210 };
211 } // namespace MMI
212 } // namespace OHOS
213 #endif // MOCK_MULTIMODAL_INPUT_CONNECT_STUB_H
214