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 #ifndef OHOS_ROSEN_WINDOW_SCENE_SESSION_MANAGER_STUB_H
17 #define OHOS_ROSEN_WINDOW_SCENE_SESSION_MANAGER_STUB_H
18 
19 #include <map>
20 #include <iremote_stub.h>
21 
22 #include "session_manager/include/zidl/scene_session_manager_interface.h"
23 
24 namespace OHOS::Rosen {
25 class SceneSessionManagerStub;
26 
27 class SceneSessionManagerStub : public IRemoteStub<ISceneSessionManager> {
28 public:
29     SceneSessionManagerStub() = default;
30     virtual ~SceneSessionManagerStub() = default;
31 
32     int OnRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option) override;
33 
34 private:
35     int HandleGetAccessibilityWindowInfo(MessageParcel& data, MessageParcel& reply);
36     int HandleGetUnreliableWindowInfo(MessageParcel& data, MessageParcel& reply);
37     int HandleRequestFocusStatus(MessageParcel& data, MessageParcel& reply);
38     int HandleCreateAndConnectSpecificSession(MessageParcel& data, MessageParcel& reply);
39     int HandleRecoverAndConnectSpecificSession(MessageParcel& data, MessageParcel& reply);
40     int HandleRecoverAndReconnectSceneSession(MessageParcel& data, MessageParcel& reply);
41     int HandleDestroyAndDisconnectSpcificSession(MessageParcel& data, MessageParcel& reply);
42     int HandleDestroyAndDisconnectSpcificSessionWithDetachCallback(MessageParcel& data, MessageParcel& reply);
43     int HandleRegisterWindowManagerAgent(MessageParcel& data, MessageParcel& reply);
44     int HandleUnregisterWindowManagerAgent(MessageParcel& data, MessageParcel& reply);
45     int HandleGetFocusSessionInfo(MessageParcel& data, MessageParcel& reply);
46     int HandleSetSessionLabel(MessageParcel& data, MessageParcel& reply);
47     int HandleSetSessionIcon(MessageParcel& data, MessageParcel& reply);
48     int HandleIsValidSessionIds(MessageParcel& data, MessageParcel& reply);
49     int HandlePendingSessionToForeground(MessageParcel& data, MessageParcel& reply);
50     int HandlePendingSessionToBackgroundForDelegator(MessageParcel& data, MessageParcel& reply);
51     int HandleGetFocusSessionToken(MessageParcel& data, MessageParcel& reply);
52     int HandleGetFocusSessionElement(MessageParcel& data, MessageParcel& reply);
53     int HandleSetGestureNavigationEnabled(MessageParcel& data, MessageParcel& reply);
54     int HandleCheckWindowId(MessageParcel& data, MessageParcel& reply);
55 
56     int HandleRegisterSessionListener(MessageParcel& data, MessageParcel& reply);
57     int HandleUnRegisterSessionListener(MessageParcel& data, MessageParcel& reply);
58     int HandleGetSessionInfos(MessageParcel& data, MessageParcel& reply);
59     int HandleGetSessionInfo(MessageParcel& data, MessageParcel& reply);
60     int HandleGetSessionInfoByContinueSessionId(MessageParcel& data, MessageParcel& reply);
61 
62     int HandleDumpSessionAll(MessageParcel& data, MessageParcel& reply);
63     int HandleDumpSessionWithId(MessageParcel& data, MessageParcel& reply);
64     int HandleSetSessionContinueState(MessageParcel& data, MessageParcel& reply);
65     int HandleTerminateSessionNew(MessageParcel& data, MessageParcel& reply);
66     int HandleGetSessionDump(MessageParcel& data, MessageParcel& reply);
67     int HandleUpdateSessionAvoidAreaListener(MessageParcel& data, MessageParcel& reply);
68     int HandleGetSessionSnapshot(MessageParcel& data, MessageParcel& reply);
69     int HandleGetSessionSnapshotById(MessageParcel& data, MessageParcel& reply);
70     int HandleGetUIContentRemoteObj(MessageParcel& data, MessageParcel& reply);
71     int HandleBindDialogTarget(MessageParcel& data, MessageParcel& reply);
72     int HandleNotifyDumpInfoResult(MessageParcel& data, MessageParcel& reply);
73     int HandleClearSession(MessageParcel& data, MessageParcel& reply);
74     int HandleClearAllSessions(MessageParcel& data, MessageParcel& reply);
75     int HandleLockSession(MessageParcel& data, MessageParcel& reply);
76     int HandleUnlockSession(MessageParcel& data, MessageParcel& reply);
77     int HandleMoveSessionsToForeground(MessageParcel& data, MessageParcel& reply);
78     int HandleMoveSessionsToBackground(MessageParcel& data, MessageParcel& reply);
79     int HandleRegisterCollaborator(MessageParcel& data, MessageParcel& reply);
80     int HandleUnregisterCollaborator(MessageParcel& data, MessageParcel& reply);
81     int HandleUpdateSessionTouchOutsideListener(MessageParcel& data, MessageParcel& reply);
82     int HandleRaiseWindowToTop(MessageParcel& data, MessageParcel& reply);
83     int HandleNotifyWindowExtensionVisibilityChange(MessageParcel& data, MessageParcel& reply);
84     int HandleGetTopWindowId(MessageParcel& data, MessageParcel& reply);
85     int HandleGetParentMainWindowId(MessageParcel& data, MessageParcel& reply);
86     int HandleUpdateSessionWindowVisibilityListener(MessageParcel& data, MessageParcel& reply);
87     int HandleShiftAppWindowFocus(MessageParcel& data, MessageParcel& reply);
88     int HandleGetVisibilityWindowInfo(MessageParcel& data, MessageParcel& reply);
89     int HandleAddExtensionWindowStageToSCB(MessageParcel& data, MessageParcel& reply);
90     int HandleRemoveExtensionWindowStageFromSCB(MessageParcel& data, MessageParcel& reply);
91     int HandleUpdateModalExtensionRect(MessageParcel& data, MessageParcel& reply);
92     int HandleProcessModalExtensionPointDown(MessageParcel& data, MessageParcel& reply);
93     int HandleAddOrRemoveSecureSession(MessageParcel& data, MessageParcel& reply);
94     int HandleUpdateExtWindowFlags(MessageParcel& data, MessageParcel& reply);
95     int HandleGetHostWindowRect(MessageParcel& data, MessageParcel& reply);
96     int HandleGetFreeMultiWindowEnableState(MessageParcel& data, MessageParcel& reply);
97     int HandleGetCallingWindowWindowStatus(MessageParcel& data, MessageParcel& reply);
98     int HandleGetCallingWindowRect(MessageParcel& data, MessageParcel& reply);
99     int HandleGetWindowModeType(MessageParcel& data, MessageParcel& reply);
100     int HandleGetWindowStyleType(MessageParcel& data, MessageParcel& reply);
101     int HandleGetProcessSurfaceNodeIdByPersistentId(MessageParcel& data, MessageParcel& reply);
102     int HandleGetWindowIdsByCoordinate(MessageParcel& data, MessageParcel& reply);
103     int HandleReleaseForegroundSessionScreenLock(MessageParcel& data, MessageParcel& reply);
104     int HandleIsPcWindow(MessageParcel& data, MessageParcel& reply);
105     int HandleIsWindowRectAutoSave(MessageParcel& data, MessageParcel& reply);
106     int HandleGetDisplayIdByWindowId(MessageParcel& data, MessageParcel& reply);
107     int HandleIsPcOrPadFreeMultiWindowMode(MessageParcel& data, MessageParcel& reply);
108     int HandleSetGlobalDragResizeType(MessageParcel& data, MessageParcel& reply);
109     int HandleGetGlobalDragResizeType(MessageParcel& data, MessageParcel& reply);
110     int HandleSetAppDragResizeType(MessageParcel& data, MessageParcel& reply);
111     int HandleGetAppDragResizeType(MessageParcel& data, MessageParcel& reply);
112 
113     int ProcessRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option);
114 };
115 } // namespace OHOS::Rosen
116 #endif // OHOS_ROSEN_WINDOW_SCENE_SESSION_MANAGER_STUB_H