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 sptr<IRemoteObject> remote = Remote();
36 if (remote == nullptr) {
37 WLOGFE("remote is null");
38 return nullptr;
39 }
40 if (remote->SendRequest(static_cast<uint32_t>(
41 MockSessionManagerServiceMessage::TRANS_ID_GET_SESSION_MANAGER_SERVICE),
42 data, reply, option) != ERR_NONE) {
43 WLOGFE("SendRequest failed");
44 return nullptr;
45 }
46 sptr<IRemoteObject> remoteObject = reply.ReadRemoteObject();
47 return remoteObject;
48 }
49
50
GetScreenSessionManagerLite()51 sptr<IRemoteObject> MockSessionManagerServiceProxy::GetScreenSessionManagerLite()
52 {
53 MessageParcel data;
54 MessageParcel reply;
55 MessageOption option;
56 if (!data.WriteInterfaceToken(GetDescriptor())) {
57 WLOGFE("WriteInterfaceToken failed");
58 return nullptr;
59 }
60 sptr<IRemoteObject> remote = Remote();
61 if (remote == nullptr) {
62 WLOGFE("remote is null");
63 return nullptr;
64 }
65 if (remote->SendRequest(static_cast<uint32_t>(
66 MockSessionManagerServiceMessage::TRANS_ID_GET_SCREEN_SESSION_MANAGER),
67 data, reply, option) != ERR_NONE) {
68 return nullptr;
69 }
70 sptr<IRemoteObject> remoteObject = reply.ReadRemoteObject();
71 return remoteObject;
72 }
73
NotifySceneBoardAvailable()74 void MockSessionManagerServiceProxy::NotifySceneBoardAvailable()
75 {
76 MessageParcel data;
77 MessageParcel reply;
78 MessageOption option = { MessageOption::TF_ASYNC };
79 if (!data.WriteInterfaceToken(GetDescriptor())) {
80 TLOGE(WmsLogTag::WMS_RECOVER, "WriteInterfaceToken failed");
81 return;
82 }
83
84 sptr<IRemoteObject> remote = Remote();
85 if (remote == nullptr) {
86 TLOGE(WmsLogTag::WMS_RECOVER, "remote is null");
87 return;
88 }
89 if (remote->SendRequest(static_cast<uint32_t>(
90 MockSessionManagerServiceMessage::TRANS_ID_NOTIFY_SCENE_BOARD_AVAILABLE),
91 data, reply, option) != ERR_NONE) {
92 TLOGE(WmsLogTag::WMS_RECOVER, "SendRequest failed");
93 return;
94 }
95 }
96
RegisterSMSRecoverListener(const sptr<IRemoteObject> & listener)97 void MockSessionManagerServiceProxy::RegisterSMSRecoverListener(const sptr<IRemoteObject>& listener)
98 {
99 TLOGD(WmsLogTag::WMS_RECOVER, "Register");
100 MessageParcel data;
101 MessageParcel reply;
102 MessageOption option;
103 if (!data.WriteInterfaceToken(GetDescriptor())) {
104 TLOGE(WmsLogTag::WMS_RECOVER, "WriteInterfaceToken failed");
105 return;
106 }
107
108 if (!data.WriteRemoteObject(listener)) {
109 TLOGE(WmsLogTag::WMS_RECOVER, "WriteRemoteObject listener failed");
110 return;
111 }
112
113 sptr<IRemoteObject> remote = Remote();
114 if (remote == nullptr) {
115 TLOGE(WmsLogTag::WMS_RECOVER, "remote is null");
116 return;
117 }
118 if (remote->SendRequest(static_cast<uint32_t>(
119 MockSessionManagerServiceMessage::TRANS_ID_REGISTER_SMS_RECOVER_LISTENER),
120 data, reply, option) != ERR_NONE) {
121 TLOGE(WmsLogTag::WMS_RECOVER, "SendRequest failed");
122 return;
123 }
124 }
125
UnregisterSMSRecoverListener()126 void MockSessionManagerServiceProxy::UnregisterSMSRecoverListener()
127 {
128 TLOGD(WmsLogTag::WMS_RECOVER, "UnRegister");
129 MessageParcel data;
130 MessageParcel reply;
131 MessageOption option;
132 if (!data.WriteInterfaceToken(GetDescriptor())) {
133 TLOGE(WmsLogTag::WMS_RECOVER, "WriteInterfaceToken failed");
134 }
135 sptr<IRemoteObject> remote = Remote();
136 if (remote == nullptr) {
137 TLOGE(WmsLogTag::WMS_RECOVER, "remote is null");
138 return;
139 }
140 if (remote->SendRequest(static_cast<uint32_t>(
141 MockSessionManagerServiceMessage::TRANS_ID_UNREGISTER_SMS_RECOVER_LISTENER),
142 data, reply, option) != ERR_NONE) {
143 TLOGE(WmsLogTag::WMS_RECOVER, "SendRequest failed");
144 return;
145 }
146 }
147
RegisterSMSLiteRecoverListener(const sptr<IRemoteObject> & listener)148 void MockSessionManagerServiceProxy::RegisterSMSLiteRecoverListener(const sptr<IRemoteObject>& listener)
149 {
150 TLOGD(WmsLogTag::WMS_RECOVER, "Register");
151 MessageParcel data;
152 MessageParcel reply;
153 MessageOption option;
154 if (!data.WriteInterfaceToken(GetDescriptor())) {
155 TLOGE(WmsLogTag::WMS_RECOVER, "WriteInterfaceToken failed");
156 return;
157 }
158
159 if (!data.WriteRemoteObject(listener)) {
160 TLOGE(WmsLogTag::WMS_RECOVER, "WriteRemoteObject listener failed");
161 return;
162 }
163
164 sptr<IRemoteObject> remote = Remote();
165 if (remote == nullptr) {
166 TLOGE(WmsLogTag::WMS_RECOVER, "remote is null");
167 return;
168 }
169 if (remote->SendRequest(static_cast<uint32_t>(
170 MockSessionManagerServiceMessage::TRANS_ID_REGISTER_SMS_LITE_RECOVER_LISTENER),
171 data, reply, option) != ERR_NONE) {
172 TLOGE(WmsLogTag::WMS_RECOVER, "SendRequest failed");
173 return;
174 }
175 }
176
UnregisterSMSLiteRecoverListener()177 void MockSessionManagerServiceProxy::UnregisterSMSLiteRecoverListener()
178 {
179 TLOGD(WmsLogTag::WMS_RECOVER, "Unregister");
180 MessageParcel data;
181 MessageParcel reply;
182 MessageOption option;
183 if (!data.WriteInterfaceToken(GetDescriptor())) {
184 TLOGE(WmsLogTag::WMS_RECOVER, "WriteInterfaceToken failed");
185 return;
186 }
187 sptr<IRemoteObject> remote = Remote();
188 if (remote == nullptr) {
189 TLOGE(WmsLogTag::WMS_RECOVER, "remote is null");
190 return;
191 }
192 if (remote->SendRequest(static_cast<uint32_t>(
193 MockSessionManagerServiceMessage::TRANS_ID_UNREGISTER_SMS_LITE_RECOVER_LISTENER),
194 data, reply, option) != ERR_NONE) {
195 TLOGE(WmsLogTag::WMS_RECOVER, "SendRequest failed");
196 return;
197 }
198 }
199
200 } // namespace Rosen
201 } // namespace OHOS