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_METHOD4(UpdateSessionRect, WSError(const WSRect& rect, const SizeChangeReason reason, 42 bool isGlobal, bool isFromMoveToGlobal)); 43 MOCK_METHOD1(UpdateClientRect, WSError(const WSRect& rect)); 44 45 MOCK_METHOD0(Recover, WSError(void)); 46 MOCK_METHOD0(Maximize, WSError(void)); 47 MOCK_METHOD1(PendingSessionActivation, WSError(const sptr<AAFwk::SessionInfo> info)); 48 MOCK_METHOD1(UpdateActiveStatus, WSError(bool isActive)); 49 MOCK_METHOD1(OnSessionEvent, WSError(SessionEvent event)); 50 MOCK_METHOD1(RequestSessionBack, WSError(bool needMoveToBackground)); 51 MOCK_METHOD0(RaiseToAppTop, WSError(void)); 52 MOCK_METHOD1(GetAvoidAreaByType, AvoidArea(AvoidAreaType type)); 53 MOCK_METHOD1(SetAspectRatio, WSError(float ratio)); 54 MOCK_METHOD1(ResetAspectRatio, WSError(float ratio)); 55 MOCK_METHOD1(OnNeedAvoid, WSError(bool status)); 56 MOCK_METHOD1(SetGlobalMaximizeMode, WSError(MaximizeMode mode)); 57 MOCK_METHOD1(NotifyExtensionTimeout, void(int32_t errorCode)); 58 MOCK_METHOD1(SetDialogSessionBackGestureEnabled, WSError(bool isEnabled)); 59 MOCK_METHOD1(SetActive, WSError(bool active)); 60 MOCK_METHOD1(GetAppForceLandscapeConfig, WMError(AppForceLandscapeConfig& config)); 61 }; 62 } // namespace Rosen 63 } // namespace OHOS 64