1 /* 2 * Copyright (c) 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 #ifndef MOCK_WINDOW_H 16 #define MOCK_WINDOW_H 17 18 #include "window.h" 19 #include <gmock/gmock.h> 20 21 namespace OHOS { 22 namespace Rosen { 23 class MockWindowChangeListener : public IWindowChangeListener { 24 public: 25 MOCK_METHOD3(OnSizeChange, void(Rect rect, WindowSizeChangeReason reason, 26 const std::shared_ptr<RSTransaction>& rsTransaction)); 27 MOCK_METHOD2(OnModeChange, void(WindowMode, bool)); 28 }; 29 30 class MockWindowLifeCycleListener : public IWindowLifeCycle { 31 public: 32 MOCK_METHOD0(AfterForeground, void(void)); 33 MOCK_METHOD0(AfterBackground, void(void)); 34 MOCK_METHOD0(AfterFocused, void(void)); 35 MOCK_METHOD0(AfterUnfocused, void(void)); 36 MOCK_METHOD1(ForegroundFailed, void(int32_t)); 37 MOCK_METHOD1(BackgroundFailed, void(int32_t)); 38 MOCK_METHOD0(AfterActive, void(void)); 39 MOCK_METHOD0(AfterInactive, void(void)); 40 MOCK_METHOD0(AfterResumed, void(void)); 41 MOCK_METHOD0(AfterPaused, void(void)); 42 MOCK_METHOD0(AfterDestroyed, void(void)); 43 }; 44 45 class MockAvoidAreaChangedListener : public IAvoidAreaChangedListener { 46 public: 47 MOCK_METHOD2(OnAvoidAreaChanged, void(const AvoidArea avoidArea, AvoidAreaType type)); 48 }; 49 50 class MockTouchOutsideListener : public ITouchOutsideListener { 51 public: 52 MOCK_CONST_METHOD0(OnTouchOutside, void()); 53 }; 54 55 class MockWindowStatusChangeListener : public IWindowStatusChangeListener { 56 public: 57 MOCK_METHOD1(OnWindowStatusChange, void(WindowStatus status)); 58 }; 59 60 class MockIOccupiedAreaChangeListener : public IOccupiedAreaChangeListener { 61 public: 62 MOCK_METHOD2(OnSizeChange, void(const sptr<OccupiedAreaChangeInfo>& info, 63 const std::shared_ptr<RSTransaction>& rsTransaction)); 64 }; 65 66 class MockInputEventConsumer : public IInputEventConsumer { 67 public: 68 MOCK_CONST_METHOD1(OnInputEvent, bool(const std::shared_ptr<MMI::KeyEvent>&)); 69 MOCK_CONST_METHOD1(OnInputEvent, bool(const std::shared_ptr<MMI::PointerEvent>&)); 70 MOCK_CONST_METHOD1(OnInputEvent, bool(const std::shared_ptr<MMI::AxisEvent>&)); 71 }; 72 73 class MockWindowNoInteractionListener : public IWindowNoInteractionListener { 74 public: 75 MOCK_METHOD0(OnWindowNoInteractionCallback, void()); 76 MOCK_METHOD1(SetTimeout, void(int64_t)); 77 MOCK_CONST_METHOD0(GetTimeout, int64_t()); 78 }; 79 80 class MockWindowTitleButtonRectChangedListener : public IWindowTitleButtonRectChangedListener { 81 public: 82 MOCK_METHOD1(OnWindowTitleButtonRectChanged, void(const TitleButtonRect&)); 83 }; 84 85 class MockWindowRectChangeListener : public IWindowRectChangeListener { 86 public: 87 MOCK_METHOD2(OnRectChange, void(Rect rect, WindowSizeChangeReason reason)); 88 }; 89 90 class MockIAceAbilityHandler : public IAceAbilityHandler { 91 public: 92 MOCK_METHOD1(SetBackgroundColor, void(uint32_t color)); 93 MOCK_METHOD0(GetBackgroundColor, uint32_t()); 94 }; 95 96 class MockIDisplayMoveListener : public IDisplayMoveListener { 97 public: 98 MOCK_METHOD2(OnDisplayMove, void(DisplayId from, DisplayId to)); 99 }; 100 101 class MockIWindowNoInteractionListener : public IWindowNoInteractionListener { 102 public: 103 MOCK_METHOD0(OnWindowNoInteractionCallback, void()); 104 }; 105 106 class MockIDialogDeathRecipientListener : public IDialogDeathRecipientListener { 107 public: 108 MOCK_CONST_METHOD0(OnDialogDeathRecipient, void()); 109 }; 110 111 class MockIDialogTargetTouchListener : public IDialogTargetTouchListener { 112 public: 113 MOCK_CONST_METHOD0(OnDialogTargetTouch, void()); 114 }; 115 116 class MockIScreenshotListener : public IScreenshotListener { 117 public: 118 MOCK_METHOD0(OnScreenshot, void()); 119 }; 120 121 class MockISubWindowCloseListener : public ISubWindowCloseListener { 122 public: 123 MOCK_METHOD1(OnSubWindowClose, void(bool&)); 124 }; 125 126 class MockIMainWindowCloseListener : public IMainWindowCloseListener { 127 public: 128 MOCK_METHOD1(OnMainWindowClose, void(bool&)); 129 }; 130 131 class MockISwitchFreeMultiWindowListener : public ISwitchFreeMultiWindowListener { 132 public: 133 MOCK_METHOD1(OnSwitchFreeMultiWindow, void(bool)); 134 }; 135 } // Rosen 136 } // OHOS 137 138 #endif