1 /*
2  * Copyright (c) 2023 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 #include "interfaces/include/ws_common.h"
17 #include "session/container/include/zidl/session_stage_stub.h"
18 #include "session/host/include/session.h"
19 #include "wm_common.h"
20 #include <gmock/gmock.h>
21 
22 namespace OHOS {
23 namespace Rosen {
24 class SessionStageMocker : public SessionStageStub {
25 public:
SessionStageMocker()26     SessionStageMocker() {};
~SessionStageMocker()27     ~SessionStageMocker() {};
28 
29     MOCK_METHOD1(SetActive, WSError(bool active));
30     MOCK_METHOD3(UpdateRect, WSError(const WSRect& rect, SizeChangeReason reason,
31         const SceneAnimationConfig& config));
32     MOCK_METHOD0(UpdateDensity, void(void));
33     MOCK_METHOD0(UpdateOrientation, WSError(void));
34     MOCK_METHOD0(HandleBackEvent, WSError(void));
35     MOCK_METHOD0(NotifyDestroy, WSError(void));
36     MOCK_METHOD1(UpdateFocus, WSError(bool isFocused));
37     MOCK_METHOD1(NotifyTransferComponentData, WSError(const AAFwk::WantParams& wantParams));
38     MOCK_METHOD2(NotifyTransferComponentDataSync, WSErrorCode(const AAFwk::WantParams& wantParams,
39         AAFwk::WantParams& reWantParams));
40     MOCK_METHOD1(MarkProcessed, WSError(int32_t eventId));
41     MOCK_METHOD2(NotifyOccupiedAreaChangeInfo, void(sptr<OccupiedAreaChangeInfo> info,
42         const std::shared_ptr<RSTransaction>& rsTransaction));
43     MOCK_METHOD2(UpdateAvoidArea, WSError(const sptr<AvoidArea>& avoidArea, AvoidAreaType type));
44     MOCK_METHOD1(DumpSessionElementInfo, void(const std::vector<std::string>& params));
45     MOCK_METHOD0(NotifyScreenshot, void(void));
46     MOCK_METHOD0(NotifyTouchOutside, WSError(void));
47     MOCK_METHOD1(UpdateWindowMode, WSError(WindowMode mode));
48     MOCK_METHOD1(NotifyForegroundInteractiveStatus, void(bool interactive));
49     MOCK_METHOD1(UpdateMaximizeMode, WSError(MaximizeMode mode));
50     MOCK_METHOD0(NotifyCloseExistPipWindow, WSError(void));
51     MOCK_METHOD2(NotifySessionForeground, void(uint32_t reason, bool withAnimation));
52     MOCK_METHOD3(NotifySessionBackground, void(uint32_t reason, bool withAnimation, bool isFromInnerkits));
53     MOCK_METHOD2(UpdateTitleInTargetPos, WSError(bool isShow, int32_t height));
54     MOCK_METHOD2(NotifyDensityFollowHost, WSError(bool isFollowHost, float densityValue));
55     MOCK_METHOD1(NotifyWindowVisibility, WSError(bool isVisible));
56     MOCK_METHOD1(NotifyTransformChange, void(const Transform& transform));
57     MOCK_METHOD1(NotifyDialogStateChange, WSError(bool isForeground));
58     MOCK_METHOD1(UpdateDisplayId, WSError(uint64_t displayId));
59     MOCK_METHOD2(SetPipActionEvent, WSError(const std::string& action, int32_t status));
60     MOCK_METHOD2(SetPiPControlEvent, WSError(WsPiPControlType controlType, WsPiPControlStatus status));
61     MOCK_METHOD2(NotifyDisplayMove, void(DisplayId from, DisplayId to));
62     MOCK_METHOD1(SwitchFreeMultiWindow, WSError(bool enable));
63     MOCK_METHOD1(NotifyCompatibleModeEnableInPad, WSError(bool enable));
64     MOCK_METHOD2(SetUniqueVirtualPixelRatio, void(bool useUniqueDensity, float virtualPixelRatio));
65     MOCK_METHOD1(NotifySessionFullScreen, void(bool fullScreen));
66     MOCK_METHOD1(GetUIContentRemoteObj, WSError(sptr<IRemoteObject>& uiContentRemoteObj));
67     MOCK_METHOD2(NotifyDumpInfo, WSError(const std::vector<std::string>& params,
68         std::vector<std::string>& info));
69     MOCK_METHOD1(SetEnableDragBySystem, WSError(bool enableDrag));
70 };
71 } // namespace Rosen
72 } // namespace OHOS
73