1e0dac50fSopenharmony_ci/* 2e0dac50fSopenharmony_ci * Copyright (c) 2021 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#ifndef OHOS_WINDOW_MANAGER_INTERFACE_H 17e0dac50fSopenharmony_ci#define OHOS_WINDOW_MANAGER_INTERFACE_H 18e0dac50fSopenharmony_ci 19e0dac50fSopenharmony_ci#include <iremote_broker.h> 20e0dac50fSopenharmony_ci#include <rs_iwindow_animation_finished_callback.h> 21e0dac50fSopenharmony_ci 22e0dac50fSopenharmony_ci#include "common/include/window_session_property.h" 23e0dac50fSopenharmony_ci#include "interfaces/include/ws_common_inner.h" 24e0dac50fSopenharmony_ci#include "pixel_map.h" 25e0dac50fSopenharmony_ci#include "session/container/include/zidl/session_stage_interface.h" 26e0dac50fSopenharmony_ci#include "session/container/include/zidl/window_event_channel_interface.h" 27e0dac50fSopenharmony_ci#include "window_property.h" 28e0dac50fSopenharmony_ci#include "window_transition_info.h" 29e0dac50fSopenharmony_ci#include "mission_snapshot.h" 30e0dac50fSopenharmony_ci#include "zidl/window_interface.h" 31e0dac50fSopenharmony_ci#include "zidl/window_manager_agent_interface.h" 32e0dac50fSopenharmony_ci#include "interfaces/include/ws_common.h" 33e0dac50fSopenharmony_ci 34e0dac50fSopenharmony_cinamespace OHOS { 35e0dac50fSopenharmony_cinamespace Rosen { 36e0dac50fSopenharmony_ciclass RSIWindowAnimationController; 37e0dac50fSopenharmony_ciclass RSSurfaceNode; 38e0dac50fSopenharmony_ci 39e0dac50fSopenharmony_ciclass IWindowManager : public IRemoteBroker { 40e0dac50fSopenharmony_cipublic: 41e0dac50fSopenharmony_ci DECLARE_INTERFACE_DESCRIPTOR(u"OHOS.IWindowManager"); 42e0dac50fSopenharmony_ci 43e0dac50fSopenharmony_ci enum class WindowManagerMessage : uint32_t { 44e0dac50fSopenharmony_ci TRANS_ID_CREATE_WINDOW, 45e0dac50fSopenharmony_ci TRANS_ID_ADD_WINDOW, 46e0dac50fSopenharmony_ci TRANS_ID_REMOVE_WINDOW, 47e0dac50fSopenharmony_ci TRANS_ID_DESTROY_WINDOW, 48e0dac50fSopenharmony_ci TRANS_ID_REQUEST_FOCUS, 49e0dac50fSopenharmony_ci TRANS_ID_REGISTER_FOCUS_CHANGED_LISTENER, 50e0dac50fSopenharmony_ci TRANS_ID_UNREGISTER_FOCUS_CHANGED_LISTENER, 51e0dac50fSopenharmony_ci TRANS_ID_REGISTER_WINDOW_MANAGER_AGENT, 52e0dac50fSopenharmony_ci TRANS_ID_UNREGISTER_WINDOW_MANAGER_AGENT, 53e0dac50fSopenharmony_ci TRANS_ID_GET_AVOID_AREA, 54e0dac50fSopenharmony_ci TRANS_ID_GET_TOP_WINDOW_ID, 55e0dac50fSopenharmony_ci TRANS_ID_PROCESS_POINT_DOWN, 56e0dac50fSopenharmony_ci TRANS_ID_PROCESS_POINT_UP, 57e0dac50fSopenharmony_ci TRANS_ID_MINIMIZE_ALL_APP_WINDOWS, 58e0dac50fSopenharmony_ci TRANS_ID_TOGGLE_SHOWN_STATE_FOR_ALL_APP_WINDOWS, 59e0dac50fSopenharmony_ci TRANS_ID_SET_BACKGROUND_BLUR, 60e0dac50fSopenharmony_ci TRANS_ID_SET_ALPHA, 61e0dac50fSopenharmony_ci TRANS_ID_UPDATE_LAYOUT_MODE, 62e0dac50fSopenharmony_ci TRANS_ID_UPDATE_PROPERTY, 63e0dac50fSopenharmony_ci TRANS_ID_GET_ACCESSIBILITY_WINDOW_INFO_ID, 64e0dac50fSopenharmony_ci TRANS_ID_GET_VISIBILITY_WINDOW_INFO_ID, 65e0dac50fSopenharmony_ci TRANS_ID_ANIMATION_SET_CONTROLLER, 66e0dac50fSopenharmony_ci TRANS_ID_GET_SYSTEM_CONFIG, 67e0dac50fSopenharmony_ci TRANS_ID_NOTIFY_WINDOW_TRANSITION, 68e0dac50fSopenharmony_ci TRANS_ID_GET_FULLSCREEN_AND_SPLIT_HOT_ZONE, 69e0dac50fSopenharmony_ci TRANS_ID_GET_ANIMATION_CALLBACK, 70e0dac50fSopenharmony_ci TRANS_ID_UPDATE_AVOIDAREA_LISTENER, 71e0dac50fSopenharmony_ci TRANS_ID_UPDATE_RS_TREE, 72e0dac50fSopenharmony_ci TRANS_ID_BIND_DIALOG_TARGET, 73e0dac50fSopenharmony_ci TRANS_ID_NOTIFY_READY_MOVE_OR_DRAG, 74e0dac50fSopenharmony_ci TRANS_ID_SET_ANCHOR_AND_SCALE, 75e0dac50fSopenharmony_ci TRANS_ID_SET_ANCHOR_OFFSET, 76e0dac50fSopenharmony_ci TRANS_ID_OFF_WINDOW_ZOOM, 77e0dac50fSopenharmony_ci TRANS_ID_RAISE_WINDOW_Z_ORDER, 78e0dac50fSopenharmony_ci TRANS_ID_GET_SNAPSHOT, 79e0dac50fSopenharmony_ci TRANS_ID_GESTURE_NAVIGATION_ENABLED, 80e0dac50fSopenharmony_ci TRANS_ID_SET_WINDOW_GRAVITY, 81e0dac50fSopenharmony_ci TRANS_ID_DISPATCH_KEY_EVENT, 82e0dac50fSopenharmony_ci TRANS_ID_NOTIFY_DUMP_INFO_RESULT, 83e0dac50fSopenharmony_ci TRANS_ID_GET_WINDOW_ANIMATION_TARGETS, 84e0dac50fSopenharmony_ci TRANS_ID_SET_MAXIMIZE_MODE, 85e0dac50fSopenharmony_ci TRANS_ID_GET_MAXIMIZE_MODE, 86e0dac50fSopenharmony_ci TRANS_ID_GET_FOCUS_WINDOW_INFO, 87e0dac50fSopenharmony_ci TRANS_ID_ADD_EXTENSION_WINDOW_STAGE_TO_SCB, 88e0dac50fSopenharmony_ci TRANS_ID_UPDATE_MODALEXTENSION_RECT_TO_SCB, 89e0dac50fSopenharmony_ci TRANS_ID_PROCESS_MODALEXTENSION_POINTDOWN_TO_SCB, 90e0dac50fSopenharmony_ci TRANS_ID_UPDATE_EXTENSION_WINDOW_FLAGS, 91e0dac50fSopenharmony_ci TRANS_ID_GET_HOST_WINDOW_RECT, 92e0dac50fSopenharmony_ci TRANS_ID_GET_UNRELIABLE_WINDOW_INFO_ID, 93e0dac50fSopenharmony_ci TRANS_ID_GET_FREE_MULTI_WINDOW_ENABLE_STATE, 94e0dac50fSopenharmony_ci }; 95e0dac50fSopenharmony_ci virtual WMError CreateWindow(sptr<IWindow>& window, sptr<WindowProperty>& property, 96e0dac50fSopenharmony_ci const std::shared_ptr<RSSurfaceNode>& surfaceNode, 97e0dac50fSopenharmony_ci uint32_t& windowId, sptr<IRemoteObject> token) = 0; 98e0dac50fSopenharmony_ci virtual WMError AddWindow(sptr<WindowProperty>& property) = 0; 99e0dac50fSopenharmony_ci virtual WMError RemoveWindow(uint32_t windowId, bool isFromInnerkits) = 0; 100e0dac50fSopenharmony_ci virtual WMError DestroyWindow(uint32_t windowId, bool onlySelf = false) = 0; 101e0dac50fSopenharmony_ci virtual WMError RequestFocus(uint32_t windowId) = 0; 102e0dac50fSopenharmony_ci virtual AvoidArea GetAvoidAreaByType(uint32_t windowId, AvoidAreaType type) = 0; 103e0dac50fSopenharmony_ci virtual WMError GetTopWindowId(uint32_t mainWinId, uint32_t& topWinId) = 0; 104e0dac50fSopenharmony_ci virtual void NotifyServerReadyToMoveOrDrag(uint32_t windowId, sptr<WindowProperty>& windowProperty, 105e0dac50fSopenharmony_ci sptr<MoveDragProperty>& moveDragProperty) = 0; 106e0dac50fSopenharmony_ci virtual void ProcessPointDown(uint32_t windowId, bool isPointDown) = 0; 107e0dac50fSopenharmony_ci virtual void ProcessPointUp(uint32_t windowId) = 0; 108e0dac50fSopenharmony_ci virtual WMError MinimizeAllAppWindows(DisplayId displayId) = 0; 109e0dac50fSopenharmony_ci virtual WMError ToggleShownStateForAllAppWindows() = 0; 110e0dac50fSopenharmony_ci virtual WMError SetWindowLayoutMode(WindowLayoutMode mode) = 0; 111e0dac50fSopenharmony_ci virtual WMError UpdateProperty(sptr<WindowProperty>& windowProperty, PropertyChangeAction action, 112e0dac50fSopenharmony_ci bool isAsyncTask = false) = 0; 113e0dac50fSopenharmony_ci virtual WMError SetWindowGravity(uint32_t windowId, WindowGravity gravity, uint32_t percent) = 0; 114e0dac50fSopenharmony_ci virtual WMError RegisterWindowManagerAgent(WindowManagerAgentType type, 115e0dac50fSopenharmony_ci const sptr<IWindowManagerAgent>& windowManagerAgent) = 0; 116e0dac50fSopenharmony_ci virtual WMError UnregisterWindowManagerAgent(WindowManagerAgentType type, 117e0dac50fSopenharmony_ci const sptr<IWindowManagerAgent>& windowManagerAgent) = 0; 118e0dac50fSopenharmony_ci virtual WMError GetAccessibilityWindowInfo(std::vector<sptr<AccessibilityWindowInfo>>& infos) = 0; 119e0dac50fSopenharmony_ci virtual WMError GetUnreliableWindowInfo(int32_t windowId, std::vector<sptr<UnreliableWindowInfo>>& infos) = 0; 120e0dac50fSopenharmony_ci virtual WMError GetVisibilityWindowInfo(std::vector<sptr<WindowVisibilityInfo>>& infos) = 0; 121e0dac50fSopenharmony_ci virtual WMError SetWindowAnimationController(const sptr<RSIWindowAnimationController>& controller) = 0; 122e0dac50fSopenharmony_ci virtual WMError GetSystemConfig(SystemConfig& systemConfig) = 0; 123e0dac50fSopenharmony_ci virtual WMError NotifyWindowTransition(sptr<WindowTransitionInfo>& from, sptr<WindowTransitionInfo>& to, 124e0dac50fSopenharmony_ci bool isFromClient = false) = 0; 125e0dac50fSopenharmony_ci virtual WMError GetModeChangeHotZones(DisplayId displayId, ModeChangeHotZones& hotZones) = 0; 126e0dac50fSopenharmony_ci virtual void MinimizeWindowsByLauncher(std::vector<uint32_t> windowIds, bool isAnimated, 127e0dac50fSopenharmony_ci sptr<RSIWindowAnimationFinishedCallback>& finishCallback) = 0; 128e0dac50fSopenharmony_ci virtual WMError UpdateAvoidAreaListener(uint32_t windowId, bool haveListener) = 0; 129e0dac50fSopenharmony_ci virtual WMError UpdateRsTree(uint32_t windowId, bool isAdd) = 0; 130e0dac50fSopenharmony_ci virtual WMError BindDialogTarget(uint32_t& windowId, sptr<IRemoteObject> targetToken) = 0; 131e0dac50fSopenharmony_ci virtual void SetAnchorAndScale(int32_t x, int32_t y, float scale) = 0; 132e0dac50fSopenharmony_ci virtual void SetAnchorOffset(int32_t deltaX, int32_t deltaY) = 0; 133e0dac50fSopenharmony_ci virtual void OffWindowZoom() = 0; 134e0dac50fSopenharmony_ci virtual WMError RaiseToAppTop(uint32_t windowId) = 0; 135e0dac50fSopenharmony_ci virtual std::shared_ptr<Media::PixelMap> GetSnapshot(int32_t windowId) = 0; 136e0dac50fSopenharmony_ci virtual WMError SetGestureNavigationEnabled(bool enable) = 0; 137e0dac50fSopenharmony_ci virtual void DispatchKeyEvent(uint32_t windowId, std::shared_ptr<MMI::KeyEvent> event) = 0; 138e0dac50fSopenharmony_ci virtual void NotifyDumpInfoResult(const std::vector<std::string>& info) {}; 139e0dac50fSopenharmony_ci virtual WSError DumpSessionAll(std::vector<std::string>& infos) { return WSError::WS_OK; } 140e0dac50fSopenharmony_ci virtual WSError DumpSessionWithId(int32_t persistentId, std::vector<std::string>& infos) { return WSError::WS_OK; } 141e0dac50fSopenharmony_ci virtual WSError GetUIContentRemoteObj(int32_t persistentId, sptr<IRemoteObject>& uiContentRemoteObj) 142e0dac50fSopenharmony_ci { 143e0dac50fSopenharmony_ci return WSError::WS_OK; 144e0dac50fSopenharmony_ci } 145e0dac50fSopenharmony_ci virtual WMError GetWindowAnimationTargets(std::vector<uint32_t> missionIds, 146e0dac50fSopenharmony_ci std::vector<sptr<RSWindowAnimationTarget>>& targets) = 0; 147e0dac50fSopenharmony_ci virtual void SetMaximizeMode(MaximizeMode maximizeMode) = 0; 148e0dac50fSopenharmony_ci virtual MaximizeMode GetMaximizeMode() = 0; 149e0dac50fSopenharmony_ci virtual void GetFocusWindowInfo(FocusChangeInfo& focusInfo) = 0; 150e0dac50fSopenharmony_ci virtual WMError CheckWindowId(int32_t windowId, int32_t& pid) { return WMError::WM_OK; } 151e0dac50fSopenharmony_ci virtual WSError UpdateSessionAvoidAreaListener(int32_t& persistentId, bool haveListener) { return WSError::WS_OK; } 152e0dac50fSopenharmony_ci virtual WSError UpdateSessionTouchOutsideListener(int32_t& persistentId, bool haveListener) 153e0dac50fSopenharmony_ci { 154e0dac50fSopenharmony_ci return WSError::WS_OK; 155e0dac50fSopenharmony_ci } 156e0dac50fSopenharmony_ci virtual WSError NotifyWindowExtensionVisibilityChange(int32_t pid, int32_t uid, bool visible) 157e0dac50fSopenharmony_ci { 158e0dac50fSopenharmony_ci return WSError::WS_OK; 159e0dac50fSopenharmony_ci } 160e0dac50fSopenharmony_ci virtual WSError RaiseWindowToTop(int32_t persistentId) { return WSError::WS_OK; } 161e0dac50fSopenharmony_ci virtual WSError UpdateSessionWindowVisibilityListener(int32_t persistentId, bool haveListener) 162e0dac50fSopenharmony_ci { 163e0dac50fSopenharmony_ci return WSError::WS_OK; 164e0dac50fSopenharmony_ci } 165e0dac50fSopenharmony_ci virtual WSError ShiftAppWindowFocus(int32_t sourcePersistentId, int32_t targetPersistentId) 166e0dac50fSopenharmony_ci { 167e0dac50fSopenharmony_ci return WSError::WS_ERROR_DEVICE_NOT_SUPPORT; 168e0dac50fSopenharmony_ci } 169e0dac50fSopenharmony_ci virtual WSError CreateAndConnectSpecificSession(const sptr<ISessionStage>& sessionStage, 170e0dac50fSopenharmony_ci const sptr<IWindowEventChannel>& eventChannel, const std::shared_ptr<RSSurfaceNode>& surfaceNode, 171e0dac50fSopenharmony_ci sptr<WindowSessionProperty> property, int32_t& persistentId, sptr<ISession>& session, 172e0dac50fSopenharmony_ci SystemSessionConfig& systemConfig, sptr<IRemoteObject> token = nullptr) { return WSError::WS_OK; } 173e0dac50fSopenharmony_ci virtual WSError RecoverAndConnectSpecificSession(const sptr<ISessionStage>& sessionStage, 174e0dac50fSopenharmony_ci const sptr<IWindowEventChannel>& eventChannel, const std::shared_ptr<RSSurfaceNode>& surfaceNode, 175e0dac50fSopenharmony_ci sptr<WindowSessionProperty> property, sptr<ISession>& session, sptr<IRemoteObject> token = nullptr) 176e0dac50fSopenharmony_ci { 177e0dac50fSopenharmony_ci return WSError::WS_OK; 178e0dac50fSopenharmony_ci } 179e0dac50fSopenharmony_ci virtual WSError DestroyAndDisconnectSpecificSession(const int32_t persistentId) { return WSError::WS_OK; } 180e0dac50fSopenharmony_ci virtual WSError DestroyAndDisconnectSpecificSessionWithDetachCallback(const int32_t persistentId, 181e0dac50fSopenharmony_ci const sptr<IRemoteObject>& callback) { return WSError::WS_OK; } 182e0dac50fSopenharmony_ci virtual WSError RecoverAndReconnectSceneSession(const sptr<ISessionStage>& sessionStage, 183e0dac50fSopenharmony_ci const sptr<IWindowEventChannel>& eventChannel, const std::shared_ptr<RSSurfaceNode>& surfaceNode, 184e0dac50fSopenharmony_ci sptr<ISession>& session, sptr<WindowSessionProperty> property, sptr<IRemoteObject> token = nullptr) 185e0dac50fSopenharmony_ci { 186e0dac50fSopenharmony_ci return WSError::WS_OK; 187e0dac50fSopenharmony_ci } 188e0dac50fSopenharmony_ci virtual WSError BindDialogSessionTarget(uint64_t persistentId, sptr<IRemoteObject> targetToken) 189e0dac50fSopenharmony_ci { 190e0dac50fSopenharmony_ci return WSError::WS_OK; 191e0dac50fSopenharmony_ci } 192e0dac50fSopenharmony_ci virtual WSError SetSessionGravity(int32_t persistentId, SessionGravity gravity, uint32_t percent) 193e0dac50fSopenharmony_ci { 194e0dac50fSopenharmony_ci return WSError::WS_OK; 195e0dac50fSopenharmony_ci } 196e0dac50fSopenharmony_ci virtual WMError RequestFocusStatus(int32_t persistentId, bool isFocused, bool byForeground = true, 197e0dac50fSopenharmony_ci FocusChangeReason reason = FocusChangeReason::DEFAULT) 198e0dac50fSopenharmony_ci { 199e0dac50fSopenharmony_ci return WMError::WM_OK; 200e0dac50fSopenharmony_ci } 201e0dac50fSopenharmony_ci virtual WMError GetSnapshotByWindowId(int32_t persistentId, std::shared_ptr<Media::PixelMap>& pixelMap) 202e0dac50fSopenharmony_ci { 203e0dac50fSopenharmony_ci return WMError::WM_OK; 204e0dac50fSopenharmony_ci } 205e0dac50fSopenharmony_ci virtual void AddExtensionWindowStageToSCB(const sptr<ISessionStage>& sessionStage, 206e0dac50fSopenharmony_ci const sptr<IRemoteObject>& token, uint64_t surfaceNodeId) {} 207e0dac50fSopenharmony_ci virtual void RemoveExtensionWindowStageFromSCB(const sptr<ISessionStage>& sessionStage, 208e0dac50fSopenharmony_ci const sptr<IRemoteObject>& token) {} 209e0dac50fSopenharmony_ci virtual void UpdateModalExtensionRect(const sptr<IRemoteObject>& token, Rect rect) {} 210e0dac50fSopenharmony_ci virtual void ProcessModalExtensionPointDown(const sptr<IRemoteObject>& token, int32_t posX, int32_t posY) {} 211e0dac50fSopenharmony_ci virtual WSError AddOrRemoveSecureSession(int32_t persistentId, bool shouldHide) 212e0dac50fSopenharmony_ci { 213e0dac50fSopenharmony_ci return WSError::WS_OK; 214e0dac50fSopenharmony_ci } 215e0dac50fSopenharmony_ci virtual WSError UpdateExtWindowFlags(const sptr<IRemoteObject>& token, uint32_t extWindowFlags, 216e0dac50fSopenharmony_ci uint32_t extWindowActions) 217e0dac50fSopenharmony_ci { 218e0dac50fSopenharmony_ci return WSError::WS_OK; 219e0dac50fSopenharmony_ci } 220e0dac50fSopenharmony_ci virtual WSError GetHostWindowRect(int32_t hostWindowId, Rect& rect) 221e0dac50fSopenharmony_ci { 222e0dac50fSopenharmony_ci return WSError::WS_OK; 223e0dac50fSopenharmony_ci } 224e0dac50fSopenharmony_ci virtual WSError GetFreeMultiWindowEnableState(bool& enable) 225e0dac50fSopenharmony_ci { 226e0dac50fSopenharmony_ci return WSError::WS_OK; 227e0dac50fSopenharmony_ci } 228e0dac50fSopenharmony_ci virtual WMError GetCallingWindowWindowStatus(int32_t persistentId, WindowStatus& windowStatus) 229e0dac50fSopenharmony_ci { 230e0dac50fSopenharmony_ci return WMError::WM_OK; 231e0dac50fSopenharmony_ci } 232e0dac50fSopenharmony_ci virtual WMError GetCallingWindowRect(int32_t persistentId, Rect& rect) 233e0dac50fSopenharmony_ci { 234e0dac50fSopenharmony_ci return WMError::WM_OK; 235e0dac50fSopenharmony_ci } 236e0dac50fSopenharmony_ci virtual WMError GetWindowModeType(WindowModeType& windowModeType) 237e0dac50fSopenharmony_ci { 238e0dac50fSopenharmony_ci return WMError::WM_OK; 239e0dac50fSopenharmony_ci }; 240e0dac50fSopenharmony_ci virtual WMError GetWindowStyleType(WindowStyleType& windowStyleType) 241e0dac50fSopenharmony_ci { 242e0dac50fSopenharmony_ci return WMError::WM_OK; 243e0dac50fSopenharmony_ci }; 244e0dac50fSopenharmony_ci virtual WMError SkipSnapshotForAppProcess(int32_t pid, bool skip) { return WMError::WM_OK; } 245e0dac50fSopenharmony_ci virtual WMError SetProcessWatermark(int32_t pid, const std::string& watermarkName, 246e0dac50fSopenharmony_ci bool isEnabled) { return WMError::WM_OK; } 247e0dac50fSopenharmony_ci virtual WMError GetWindowIdsByCoordinate(DisplayId displayId, int32_t windowNumber, 248e0dac50fSopenharmony_ci int32_t x, int32_t y, std::vector<int32_t>& windowIds) { return WMError::WM_ERROR_DEVICE_NOT_SUPPORT; } 249e0dac50fSopenharmony_ci virtual WMError GetParentMainWindowId(int32_t windowId, int32_t& mainWindowId) { return WMError::WM_OK; } 250e0dac50fSopenharmony_ci virtual WMError ReleaseForegroundSessionScreenLock() { return WMError::WM_OK; } 251e0dac50fSopenharmony_ci virtual WMError GetDisplayIdByPersistentId(int32_t persistentId, int32_t& displayId) 252e0dac50fSopenharmony_ci { 253e0dac50fSopenharmony_ci return WMError::WM_OK; 254e0dac50fSopenharmony_ci } 255e0dac50fSopenharmony_ci virtual WMError IsPcOrPadFreeMultiWindowMode(bool& isPcOrPadFreeMultiWindowMode) { return WMError::WM_OK; } 256e0dac50fSopenharmony_ci}; 257e0dac50fSopenharmony_ci} 258e0dac50fSopenharmony_ci} 259e0dac50fSopenharmony_ci#endif // OHOS_WINDOW_MANAGER_INTERFACE_H 260