1e0dac50fSopenharmony_ci/* 2e0dac50fSopenharmony_ci * Copyright (c) 2023 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 16e0dac50fSopenharmony_ci#include "interfaces/include/ws_common.h" 17e0dac50fSopenharmony_ci#include "session/container/include/zidl/session_stage_interface.h" 18e0dac50fSopenharmony_ci#include "session/host/include/session.h" 19e0dac50fSopenharmony_ci#include <gmock/gmock.h> 20e0dac50fSopenharmony_ci 21e0dac50fSopenharmony_cinamespace OHOS { 22e0dac50fSopenharmony_cinamespace Rosen { 23e0dac50fSopenharmony_ciclass SessionMocker : public Session { 24e0dac50fSopenharmony_cipublic: 25e0dac50fSopenharmony_ci SessionMocker(const SessionInfo& info) : Session(info) {} 26e0dac50fSopenharmony_ci ~SessionMocker() {} 27e0dac50fSopenharmony_ci MOCK_METHOD7(Connect, WSError(const sptr<ISessionStage>& sessionStage, 28e0dac50fSopenharmony_ci const sptr<IWindowEventChannel>& eventChannel, const std::shared_ptr<RSSurfaceNode>& surfaceNode, 29e0dac50fSopenharmony_ci SystemSessionConfig& systemConfig, sptr<WindowSessionProperty> property, sptr<IRemoteObject> token, 30e0dac50fSopenharmony_ci const std::string& identityToken)); 31e0dac50fSopenharmony_ci MOCK_METHOD7(CreateAndConnectSpecificSession, WSError(const sptr<ISessionStage>& sessionStage, 32e0dac50fSopenharmony_ci const sptr<IWindowEventChannel>& eventChannel, const std::shared_ptr<RSSurfaceNode>& surfaceNode, 33e0dac50fSopenharmony_ci sptr<WindowSessionProperty> property, int32_t& persistentId, sptr<ISession>& session, 34e0dac50fSopenharmony_ci sptr<IRemoteObject> token)); 35e0dac50fSopenharmony_ci 36e0dac50fSopenharmony_ci MOCK_METHOD3( 37e0dac50fSopenharmony_ci Foreground, WSError(sptr<WindowSessionProperty> property, bool isFromClient, const std::string& identityToken)); 38e0dac50fSopenharmony_ci MOCK_METHOD2(Background, WSError(bool isFromClient, const std::string& identityToken)); 39e0dac50fSopenharmony_ci MOCK_METHOD2(Disconnect, WSError(bool isFromClient, const std::string& identityToken)); 40e0dac50fSopenharmony_ci 41e0dac50fSopenharmony_ci MOCK_METHOD3(UpdateSessionRect, WSError(const WSRect& rect, const SizeChangeReason reason, bool isGlobal)); 42e0dac50fSopenharmony_ci MOCK_METHOD1(UpdateClientRect, WSError(const WSRect& rect)); 43e0dac50fSopenharmony_ci 44e0dac50fSopenharmony_ci MOCK_METHOD0(Recover, WSError(void)); 45e0dac50fSopenharmony_ci MOCK_METHOD0(Maximize, WSError(void)); 46e0dac50fSopenharmony_ci MOCK_METHOD1(PendingSessionActivation, WSError(const sptr<AAFwk::SessionInfo> info)); 47e0dac50fSopenharmony_ci MOCK_METHOD1(UpdateActiveStatus, WSError(bool isActive)); 48e0dac50fSopenharmony_ci MOCK_METHOD1(OnSessionEvent, WSError(SessionEvent event)); 49e0dac50fSopenharmony_ci MOCK_METHOD1(RequestSessionBack, WSError(bool needMoveToBackground)); 50e0dac50fSopenharmony_ci MOCK_METHOD0(RaiseToAppTop, WSError(void)); 51e0dac50fSopenharmony_ci MOCK_METHOD1(GetAvoidAreaByType, AvoidArea(AvoidAreaType type)); 52e0dac50fSopenharmony_ci MOCK_METHOD1(SetAspectRatio, WSError(float ratio)); 53e0dac50fSopenharmony_ci MOCK_METHOD1(ResetAspectRatio, WSError(float ratio)); 54e0dac50fSopenharmony_ci MOCK_METHOD1(OnNeedAvoid, WSError(bool status)); 55e0dac50fSopenharmony_ci MOCK_METHOD1(SetGlobalMaximizeMode, WSError(MaximizeMode mode)); 56e0dac50fSopenharmony_ci MOCK_METHOD1(NotifyExtensionTimeout, void(int32_t errorCode)); 57e0dac50fSopenharmony_ci MOCK_METHOD1(GetAppForceLandscapeConfig, WMError(AppForceLandscapeConfig& config)); 58e0dac50fSopenharmony_ci MOCK_METHOD1(SetDialogSessionBackGestureEnabled, WSError(bool isEnabled)); 59e0dac50fSopenharmony_ci MOCK_METHOD1(SetActive, WSError(bool active)); 60e0dac50fSopenharmony_ci}; 61e0dac50fSopenharmony_ci} // namespace Rosen 62e0dac50fSopenharmony_ci} // namespace OHOS 63