1e0dac50fSopenharmony_ci/*
2e0dac50fSopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd.
3e0dac50fSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4e0dac50fSopenharmony_ci * you may not use this file except in compliance with the License.
5e0dac50fSopenharmony_ci * You may obtain a copy of the License at
6e0dac50fSopenharmony_ci *
7e0dac50fSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8e0dac50fSopenharmony_ci *
9e0dac50fSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10e0dac50fSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11e0dac50fSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12e0dac50fSopenharmony_ci * See the License for the specific language governing permissions and
13e0dac50fSopenharmony_ci * limitations under the License.
14e0dac50fSopenharmony_ci */
15e0dac50fSopenharmony_ci#ifndef MOCK_WINDOW_H
16e0dac50fSopenharmony_ci#define MOCK_WINDOW_H
17e0dac50fSopenharmony_ci
18e0dac50fSopenharmony_ci#include "window.h"
19e0dac50fSopenharmony_ci#include <gmock/gmock.h>
20e0dac50fSopenharmony_ci
21e0dac50fSopenharmony_cinamespace OHOS {
22e0dac50fSopenharmony_cinamespace Rosen {
23e0dac50fSopenharmony_ciclass MockWindowChangeListener : public IWindowChangeListener {
24e0dac50fSopenharmony_cipublic:
25e0dac50fSopenharmony_ci    MOCK_METHOD3(OnSizeChange, void(Rect rect, WindowSizeChangeReason reason,
26e0dac50fSopenharmony_ci        const std::shared_ptr<RSTransaction>& rsTransaction));
27e0dac50fSopenharmony_ci    MOCK_METHOD2(OnModeChange, void(WindowMode, bool));
28e0dac50fSopenharmony_ci};
29e0dac50fSopenharmony_ci
30e0dac50fSopenharmony_ciclass MockWindowLifeCycleListener : public IWindowLifeCycle {
31e0dac50fSopenharmony_cipublic:
32e0dac50fSopenharmony_ci    MOCK_METHOD0(AfterForeground, void(void));
33e0dac50fSopenharmony_ci    MOCK_METHOD0(AfterBackground, void(void));
34e0dac50fSopenharmony_ci    MOCK_METHOD0(AfterFocused, void(void));
35e0dac50fSopenharmony_ci    MOCK_METHOD0(AfterUnfocused, void(void));
36e0dac50fSopenharmony_ci    MOCK_METHOD1(ForegroundFailed, void(int32_t));
37e0dac50fSopenharmony_ci    MOCK_METHOD1(BackgroundFailed, void(int32_t));
38e0dac50fSopenharmony_ci    MOCK_METHOD0(AfterActive, void(void));
39e0dac50fSopenharmony_ci    MOCK_METHOD0(AfterInactive, void(void));
40e0dac50fSopenharmony_ci    MOCK_METHOD0(AfterResumed, void(void));
41e0dac50fSopenharmony_ci    MOCK_METHOD0(AfterPaused, void(void));
42e0dac50fSopenharmony_ci    MOCK_METHOD0(AfterDestroyed, void(void));
43e0dac50fSopenharmony_ci};
44e0dac50fSopenharmony_ci
45e0dac50fSopenharmony_ciclass MockAvoidAreaChangedListener : public IAvoidAreaChangedListener {
46e0dac50fSopenharmony_cipublic:
47e0dac50fSopenharmony_ci    MOCK_METHOD2(OnAvoidAreaChanged, void(const AvoidArea avoidArea, AvoidAreaType type));
48e0dac50fSopenharmony_ci};
49e0dac50fSopenharmony_ci
50e0dac50fSopenharmony_ciclass MockTouchOutsideListener : public ITouchOutsideListener {
51e0dac50fSopenharmony_cipublic:
52e0dac50fSopenharmony_ci    MOCK_CONST_METHOD0(OnTouchOutside, void());
53e0dac50fSopenharmony_ci};
54e0dac50fSopenharmony_ci
55e0dac50fSopenharmony_ciclass MockWindowStatusChangeListener : public IWindowStatusChangeListener {
56e0dac50fSopenharmony_cipublic:
57e0dac50fSopenharmony_ci    MOCK_METHOD1(OnWindowStatusChange, void(WindowStatus status));
58e0dac50fSopenharmony_ci};
59e0dac50fSopenharmony_ci
60e0dac50fSopenharmony_ciclass MockIOccupiedAreaChangeListener : public IOccupiedAreaChangeListener {
61e0dac50fSopenharmony_cipublic:
62e0dac50fSopenharmony_ci    MOCK_METHOD2(OnSizeChange, void(const sptr<OccupiedAreaChangeInfo>& info,
63e0dac50fSopenharmony_ci        const std::shared_ptr<RSTransaction>& rsTransaction));
64e0dac50fSopenharmony_ci};
65e0dac50fSopenharmony_ci
66e0dac50fSopenharmony_ciclass MockInputEventConsumer : public IInputEventConsumer {
67e0dac50fSopenharmony_cipublic:
68e0dac50fSopenharmony_ci    MOCK_CONST_METHOD1(OnInputEvent, bool(const std::shared_ptr<MMI::KeyEvent>&));
69e0dac50fSopenharmony_ci    MOCK_CONST_METHOD1(OnInputEvent, bool(const std::shared_ptr<MMI::PointerEvent>&));
70e0dac50fSopenharmony_ci    MOCK_CONST_METHOD1(OnInputEvent, bool(const std::shared_ptr<MMI::AxisEvent>&));
71e0dac50fSopenharmony_ci};
72e0dac50fSopenharmony_ci
73e0dac50fSopenharmony_ciclass MockWindowNoInteractionListener : public IWindowNoInteractionListener {
74e0dac50fSopenharmony_cipublic:
75e0dac50fSopenharmony_ci    MOCK_METHOD0(OnWindowNoInteractionCallback, void());
76e0dac50fSopenharmony_ci    MOCK_METHOD1(SetTimeout, void(int64_t));
77e0dac50fSopenharmony_ci    MOCK_CONST_METHOD0(GetTimeout, int64_t());
78e0dac50fSopenharmony_ci};
79e0dac50fSopenharmony_ci
80e0dac50fSopenharmony_ciclass MockWindowTitleButtonRectChangedListener : public IWindowTitleButtonRectChangedListener {
81e0dac50fSopenharmony_cipublic:
82e0dac50fSopenharmony_ci    MOCK_METHOD1(OnWindowTitleButtonRectChanged, void(const TitleButtonRect&));
83e0dac50fSopenharmony_ci};
84e0dac50fSopenharmony_ci
85e0dac50fSopenharmony_ciclass MockWindowRectChangeListener : public IWindowRectChangeListener {
86e0dac50fSopenharmony_cipublic:
87e0dac50fSopenharmony_ci    MOCK_METHOD2(OnRectChange, void(Rect rect, WindowSizeChangeReason reason));
88e0dac50fSopenharmony_ci};
89e0dac50fSopenharmony_ci
90e0dac50fSopenharmony_ciclass MockIAceAbilityHandler : public IAceAbilityHandler {
91e0dac50fSopenharmony_cipublic:
92e0dac50fSopenharmony_ci    MOCK_METHOD1(SetBackgroundColor, void(uint32_t color));
93e0dac50fSopenharmony_ci    MOCK_METHOD0(GetBackgroundColor, uint32_t());
94e0dac50fSopenharmony_ci};
95e0dac50fSopenharmony_ci
96e0dac50fSopenharmony_ciclass MockIDisplayMoveListener : public IDisplayMoveListener {
97e0dac50fSopenharmony_cipublic:
98e0dac50fSopenharmony_ci    MOCK_METHOD2(OnDisplayMove, void(DisplayId from, DisplayId to));
99e0dac50fSopenharmony_ci};
100e0dac50fSopenharmony_ci
101e0dac50fSopenharmony_ciclass MockIWindowNoInteractionListener : public IWindowNoInteractionListener {
102e0dac50fSopenharmony_cipublic:
103e0dac50fSopenharmony_ci    MOCK_METHOD0(OnWindowNoInteractionCallback, void());
104e0dac50fSopenharmony_ci};
105e0dac50fSopenharmony_ci
106e0dac50fSopenharmony_ciclass MockIDialogDeathRecipientListener : public IDialogDeathRecipientListener {
107e0dac50fSopenharmony_cipublic:
108e0dac50fSopenharmony_ci    MOCK_CONST_METHOD0(OnDialogDeathRecipient, void());
109e0dac50fSopenharmony_ci};
110e0dac50fSopenharmony_ci
111e0dac50fSopenharmony_ciclass MockIDialogTargetTouchListener : public IDialogTargetTouchListener {
112e0dac50fSopenharmony_cipublic:
113e0dac50fSopenharmony_ci    MOCK_CONST_METHOD0(OnDialogTargetTouch, void());
114e0dac50fSopenharmony_ci};
115e0dac50fSopenharmony_ci
116e0dac50fSopenharmony_ciclass MockIScreenshotListener : public IScreenshotListener {
117e0dac50fSopenharmony_cipublic:
118e0dac50fSopenharmony_ci    MOCK_METHOD0(OnScreenshot, void());
119e0dac50fSopenharmony_ci};
120e0dac50fSopenharmony_ci
121e0dac50fSopenharmony_ciclass MockISubWindowCloseListener : public ISubWindowCloseListener {
122e0dac50fSopenharmony_cipublic:
123e0dac50fSopenharmony_ci    MOCK_METHOD1(OnSubWindowClose, void(bool&));
124e0dac50fSopenharmony_ci};
125e0dac50fSopenharmony_ci
126e0dac50fSopenharmony_ciclass MockIMainWindowCloseListener : public IMainWindowCloseListener {
127e0dac50fSopenharmony_cipublic:
128e0dac50fSopenharmony_ci    MOCK_METHOD1(OnMainWindowClose, void(bool&));
129e0dac50fSopenharmony_ci};
130e0dac50fSopenharmony_ci
131e0dac50fSopenharmony_ciclass MockISwitchFreeMultiWindowListener : public ISwitchFreeMultiWindowListener {
132e0dac50fSopenharmony_cipublic:
133e0dac50fSopenharmony_ci    MOCK_METHOD1(OnSwitchFreeMultiWindow, void(bool));
134e0dac50fSopenharmony_ci};
135e0dac50fSopenharmony_ci} // Rosen
136e0dac50fSopenharmony_ci} // OHOS
137e0dac50fSopenharmony_ci
138e0dac50fSopenharmony_ci#endif