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 ¶m, 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