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 <cinttypes>
17 #include "zidl/mock_session_manager_service_proxy.h"
18 #include "window_manager_hilog.h"
19
20 namespace OHOS {
21 namespace Rosen {
22 namespace {
23 constexpr HiviewDFX::HiLogLabel LABEL = {LOG_CORE, HILOG_DOMAIN_WINDOW, "MockSessionManagerServiceProxy"};
24 }
25
GetSessionManagerService()26 sptr<IRemoteObject> MockSessionManagerServiceProxy::GetSessionManagerService()
27 {
28 MessageParcel data;
29 MessageParcel reply;
30 MessageOption option;
31 if (!data.WriteInterfaceToken(GetDescriptor())) {
32 WLOGFE("WriteInterfaceToken failed");
33 return nullptr;
34 }
35 if (Remote()->SendRequest(static_cast<uint32_t>(
36 MockSessionManagerServiceMessage::TRANS_ID_GET_SESSION_MANAGER_SERVICE),
37 data, reply, option) != ERR_NONE) {
38 WLOGFE("SendRequest failed");
39 return nullptr;
40 }
41 sptr<IRemoteObject> remoteObject = reply.ReadRemoteObject();
42 return remoteObject;
43 }
44
45
GetScreenSessionManagerLite()46 sptr<IRemoteObject> MockSessionManagerServiceProxy::GetScreenSessionManagerLite()
47 {
48 MessageParcel data;
49 MessageParcel reply;
50 MessageOption option;
51 if (!data.WriteInterfaceToken(GetDescriptor())) {
52 WLOGFE("WriteInterfaceToken failed");
53 return nullptr;
54 }
55 if (Remote()->SendRequest(static_cast<uint32_t>(
56 MockSessionManagerServiceMessage::TRANS_ID_GET_SCREEN_SESSION_MANAGER),
57 data, reply, option) != ERR_NONE) {
58 return nullptr;
59 }
60 sptr<IRemoteObject> remoteObject = reply.ReadRemoteObject();
61 return remoteObject;
62 }
63
NotifySceneBoardAvailable()64 void MockSessionManagerServiceProxy::NotifySceneBoardAvailable()
65 {
66 MessageParcel data;
67 MessageParcel reply;
68 MessageOption option = { MessageOption::TF_ASYNC };
69 if (!data.WriteInterfaceToken(GetDescriptor())) {
70 WLOGFE("[WMSRecover] WriteInterfaceToken failed");
71 return;
72 }
73
74 if (Remote()->SendRequest(static_cast<uint32_t>(
75 MockSessionManagerServiceMessage::TRANS_ID_NOTIFY_SCENE_BOARD_AVAILABLE),
76 data, reply, option) != ERR_NONE) {
77 WLOGFE("[WMSRecover] SendRequest failed");
78 return;
79 }
80 }
81
RegisterSMSRecoverListener(const sptr<IRemoteObject> & listener)82 void MockSessionManagerServiceProxy::RegisterSMSRecoverListener(const sptr<IRemoteObject>& listener)
83 {
84 WLOGFD("[WMSRecover] Register");
85 MessageParcel data;
86 MessageParcel reply;
87 MessageOption option;
88 if (!data.WriteInterfaceToken(GetDescriptor())) {
89 WLOGFE("[WMSRecover] WriteInterfaceToken failed");
90 return;
91 }
92
93 if (!data.WriteRemoteObject(listener)) {
94 WLOGFE("[WMSRecover] WriteRemoteObject listener failed");
95 return;
96 }
97
98 if (Remote()->SendRequest(static_cast<uint32_t>(
99 MockSessionManagerServiceMessage::TRANS_ID_REGISTER_SMS_RECOVER_LISTENER),
100 data, reply, option) != ERR_NONE) {
101 WLOGFE("[WMSRecover] SendRequest failed");
102 return;
103 }
104 }
105
UnregisterSMSRecoverListener()106 void MockSessionManagerServiceProxy::UnregisterSMSRecoverListener()
107 {
108 WLOGFD("[WMSRecover] UnRegister");
109 MessageParcel data;
110 MessageParcel reply;
111 MessageOption option;
112 if (!data.WriteInterfaceToken(GetDescriptor())) {
113 WLOGFE("[WMSRecover] WriteInterfaceToken failed");
114 }
115 if (Remote()->SendRequest(static_cast<uint32_t>(
116 MockSessionManagerServiceMessage::TRANS_ID_UNREGISTER_SMS_RECOVER_LISTENER),
117 data, reply, option) != ERR_NONE) {
118 WLOGFE("[WMSRecover] SendRequest failed");
119 return;
120 }
121 }
122
RegisterSMSLiteRecoverListener(const sptr<IRemoteObject> & listener)123 void MockSessionManagerServiceProxy::RegisterSMSLiteRecoverListener(const sptr<IRemoteObject>& listener)
124 {
125 WLOGFD("[WMSRecover] Register");
126 MessageParcel data;
127 MessageParcel reply;
128 MessageOption option;
129 if (!data.WriteInterfaceToken(GetDescriptor())) {
130 WLOGFE("[WMSRecover] WriteInterfaceToken failed");
131 return;
132 }
133
134 if (!data.WriteRemoteObject(listener)) {
135 WLOGFE("[WMSRecover] WriteRemoteObject listener failed");
136 return;
137 }
138
139 if (Remote()->SendRequest(static_cast<uint32_t>(
140 MockSessionManagerServiceMessage::TRANS_ID_REGISTER_SMS_LITE_RECOVER_LISTENER),
141 data, reply, option) != ERR_NONE) {
142 WLOGFE("[WMSRecover] SendRequest failed");
143 return;
144 }
145 }
146
UnregisterSMSLiteRecoverListener()147 void MockSessionManagerServiceProxy::UnregisterSMSLiteRecoverListener()
148 {
149 WLOGFD("[WMSRecover] Unregister");
150 MessageParcel data;
151 MessageParcel reply;
152 MessageOption option;
153 if (!data.WriteInterfaceToken(GetDescriptor())) {
154 WLOGFE("[WMSRecover] WriteInterfaceToken failed");
155 return;
156 }
157 if (Remote()->SendRequest(static_cast<uint32_t>(
158 MockSessionManagerServiceMessage::TRANS_ID_UNREGISTER_SMS_LITE_RECOVER_LISTENER),
159 data, reply, option) != ERR_NONE) {
160 WLOGFE("[WMSRecover] SendRequest failed");
161 return;
162 }
163 }
164
165 } // namespace Rosen
166 } // namespace OHOS