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_interface.h" 18 #include "session/host/include/session.h" 19 #include <gmock/gmock.h> 20 21 namespace OHOS { 22 namespace Rosen { 23 class SessionMocker : public Session { 24 public: SessionMocker(const SessionInfo & info)25 SessionMocker(const SessionInfo& info) : Session(info) {} ~SessionMocker()26 ~SessionMocker() {} 27 MOCK_METHOD7(Connect, WSError(const sptr<ISessionStage>& sessionStage, 28 const sptr<IWindowEventChannel>& eventChannel, const std::shared_ptr<RSSurfaceNode>& surfaceNode, 29 SystemSessionConfig& systemConfig, sptr<WindowSessionProperty> property, sptr<IRemoteObject> token, 30 const std::string& identityToken)); 31 MOCK_METHOD7(CreateAndConnectSpecificSession, WSError(const sptr<ISessionStage>& sessionStage, 32 const sptr<IWindowEventChannel>& eventChannel, const std::shared_ptr<RSSurfaceNode>& surfaceNode, 33 sptr<WindowSessionProperty> property, int32_t& persistentId, sptr<ISession>& session, 34 sptr<IRemoteObject> token)); 35 36 MOCK_METHOD3( 37 Foreground, WSError(sptr<WindowSessionProperty> property, bool isFromClient, const std::string& identityToken)); 38 MOCK_METHOD2(Background, WSError(bool isFromClient, const std::string& identityToken)); 39 MOCK_METHOD2(Disconnect, WSError(bool isFromClient, const std::string& identityToken)); 40 41 MOCK_METHOD6(UpdateSessionRect, WSError(const WSRect& rect, SizeChangeReason reason, 42 bool isGlobal, bool isFromMoveToGlobal, const MoveConfiguration& moveConfiguration, 43 const RectAnimationConfig& rectAnimationConfig)); 44 MOCK_METHOD1(UpdateClientRect, WSError(const WSRect& rect)); 45 MOCK_METHOD(WSError, UpdateGlobalDisplayRectFromClient, (const WSRect& rect, SizeChangeReason reason), (override)); 46 47 MOCK_METHOD0(Recover, WSError(void)); 48 MOCK_METHOD0(Maximize, WSError(void)); 49 MOCK_METHOD1(PendingSessionActivation, WSError(const sptr<AAFwk::SessionInfo> info)); 50 MOCK_METHOD1(UpdateActiveStatus, WSError(bool isActive)); 51 MOCK_METHOD1(OnSessionEvent, WSError(SessionEvent event)); 52 MOCK_METHOD1(RequestSessionBack, WSError(bool needMoveToBackground)); 53 MOCK_METHOD0(RaiseToAppTop, WSError(void)); 54 MOCK_METHOD3(GetAvoidAreaByType, AvoidArea(AvoidAreaType type, const WSRect& rect, int32_t apiVersion)); 55 MOCK_METHOD1(SetAspectRatio, WSError(float ratio)); 56 MOCK_METHOD1(ResetAspectRatio, WSError(float ratio)); 57 MOCK_METHOD1(OnNeedAvoid, WSError(bool status)); 58 MOCK_METHOD1(SetGlobalMaximizeMode, WSError(MaximizeMode mode)); 59 MOCK_METHOD1(NotifyExtensionTimeout, void(int32_t errorCode)); 60 MOCK_METHOD1(GetAppForceLandscapeConfig, WMError(AppForceLandscapeConfig& config)); 61 MOCK_METHOD1(GetAppHookWindowInfoFromServer, WMError(HookWindowInfo& hookWindowInfo)); 62 MOCK_METHOD1(SetDialogSessionBackGestureEnabled, WSError(bool isEnabled)); 63 MOCK_METHOD1(SetActive, WSError(bool active)); 64 MOCK_METHOD1(SyncSessionEvent, WSError(SessionEvent event)); 65 MOCK_METHOD0(RemoveStartingWindow, WSError(void)); 66 MOCK_METHOD1(GetGlobalMaximizeMode, WSError(MaximizeMode& mode)); 67 MOCK_METHOD2(UpdateSessionPropertyByAction, WMError(const sptr<WindowSessionProperty>& property, 68 WSPropertyChangeAction action)); 69 MOCK_METHOD1(TransferExtensionData, int32_t(const AAFwk::WantParams& wantParams)); 70 MOCK_METHOD1(RaiseMainWindowAboveTarget, WSError(int32_t targetId)); 71 MOCK_METHOD(WSError, ProcessPointDownSession, (int32_t x, int32_t y), (override)); SetMockLayoutController(const sptr<LayoutController> & layoutController)72 void SetMockLayoutController(const sptr<LayoutController>& layoutController) 73 { 74 layoutController_ = layoutController; 75 } 76 }; 77 } // namespace Rosen 78 } // namespace OHOS 79