1 /*
2 * Copyright (c) 2021-2022 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 "trans_server_proxy_standard.h"
17
18 #include "ipc_skeleton.h"
19 #include "ipc_types.h"
20
21 #include "message_parcel.h"
22 #include "softbus_errcode.h"
23 #include "softbus_ipc_def.h"
24 #include "softbus_log.h"
25
26 namespace OHOS {
27 static uint32_t g_getSystemAbilityId = 2;
28 const std::u16string SAMANAGER_INTERFACE_TOKEN = u"ohos.samgr.accessToken";
GetSystemAbility()29 static sptr<IRemoteObject> GetSystemAbility()
30 {
31 MessageParcel data;
32
33 if (!data.WriteInterfaceToken(SAMANAGER_INTERFACE_TOKEN)) {
34 return nullptr;
35 }
36
37 data.WriteInt32(SOFTBUS_SERVER_SA_ID_INNER);
38 MessageParcel reply;
39 MessageOption option;
40 sptr<IRemoteObject> samgr = IPCSkeleton::GetContextObject();
41 int32_t err = samgr->SendRequest(g_getSystemAbilityId, data, reply, option);
42 if (err != 0) {
43 LOG_ERR("Get GetSystemAbility failed!\n");
44 return nullptr;
45 }
46 return reply.ReadRemoteObject();
47 }
48
StartDiscovery(const char * pkgName,const SubscribeInfo * subInfo)49 int32_t TransServerProxy::StartDiscovery(const char *pkgName, const SubscribeInfo *subInfo)
50 {
51 (void)pkgName;
52 (void)subInfo;
53 return SOFTBUS_OK;
54 }
55
StopDiscovery(const char * pkgName,int subscribeId)56 int32_t TransServerProxy::StopDiscovery(const char *pkgName, int subscribeId)
57 {
58 (void)pkgName;
59 (void)subscribeId;
60 return SOFTBUS_OK;
61 }
62
PublishService(const char * pkgName,const PublishInfo * pubInfo)63 int32_t TransServerProxy::PublishService(const char *pkgName, const PublishInfo *pubInfo)
64 {
65 (void)pkgName;
66 (void)pubInfo;
67 return SOFTBUS_OK;
68 }
69
UnPublishService(const char * pkgName,int publishId)70 int32_t TransServerProxy::UnPublishService(const char *pkgName, int publishId)
71 {
72 (void)pkgName;
73 (void)publishId;
74 return SOFTBUS_OK;
75 }
76
SoftbusRegisterService(const char * clientPkgName,const sptr<IRemoteObject> & object)77 int32_t TransServerProxy::SoftbusRegisterService(const char *clientPkgName, const sptr<IRemoteObject>& object)
78 {
79 (void)clientPkgName;
80 (void)object;
81 return SOFTBUS_OK;
82 }
83
CreateSessionServer(const char * pkgName,const char * sessionName)84 int32_t TransServerProxy::CreateSessionServer(const char *pkgName, const char *sessionName)
85 {
86 if (pkgName == nullptr || sessionName == nullptr) {
87 return SOFTBUS_ERR;
88 }
89 sptr<IRemoteObject> remote = GetSystemAbility();
90 if (remote == nullptr) {
91 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "remote is nullptr!");
92 return SOFTBUS_ERR;
93 }
94
95 MessageParcel data;
96 if (!data.WriteInterfaceToken(GetDescriptor())) {
97 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "CreateSessionServer write InterfaceToken failed!");
98 return SOFTBUS_ERR;
99 }
100 if (!data.WriteCString(pkgName)) {
101 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "CreateSessionServer write pkg name failed!");
102 return SOFTBUS_ERR;
103 }
104 if (!data.WriteCString(sessionName)) {
105 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "CreateSessionServer write session name failed!");
106 return SOFTBUS_ERR;
107 }
108 MessageParcel reply;
109 MessageOption option;
110 if (remote->SendRequest(SERVER_CREATE_SESSION_SERVER, data, reply, option) != 0) {
111 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "CreateSessionServer send request failed!");
112 return SOFTBUS_ERR;
113 }
114 int32_t serverRet = 0;
115 if (!reply.ReadInt32(serverRet)) {
116 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "CreateSessionServer read serverRet failed!");
117 return SOFTBUS_ERR;
118 }
119 return serverRet;
120 }
121
RemoveSessionServer(const char * pkgName,const char * sessionName)122 int32_t TransServerProxy::RemoveSessionServer(const char *pkgName, const char *sessionName)
123 {
124 if (pkgName == nullptr || sessionName == nullptr) {
125 return SOFTBUS_ERR;
126 }
127 sptr<IRemoteObject> remote = GetSystemAbility();
128 if (remote == nullptr) {
129 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "remote is nullptr!");
130 return SOFTBUS_TRANS_PROXY_REMOTE_NULL;
131 }
132
133 MessageParcel data;
134 if (!data.WriteInterfaceToken(GetDescriptor())) {
135 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "RemoveSessionServer write InterfaceToken failed!");
136 return SOFTBUS_TRANS_PROXY_WRITETOKEN_FAILED;
137 }
138 if (!data.WriteCString(pkgName)) {
139 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "RemoveSessionServer write pkg name failed!");
140 return SOFTBUS_TRANS_PROXY_WRITECSTRING_FAILED;
141 }
142 if (!data.WriteCString(sessionName)) {
143 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "RemoveSessionServer session name failed!");
144 return SOFTBUS_TRANS_PROXY_WRITECSTRING_FAILED;
145 }
146 MessageParcel reply;
147 MessageOption option;
148 if (remote->SendRequest(SERVER_REMOVE_SESSION_SERVER, data, reply, option) != 0) {
149 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "RemoveSessionServer send request failed!");
150 return SOFTBUS_TRANS_PROXY_SEND_REQUEST_FAILED;
151 }
152 int32_t serverRet = 0;
153 if (!reply.ReadInt32(serverRet)) {
154 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "RemoveSessionServer read serverRet failed!");
155 return SOFTBUS_TRANS_PROXY_READRAWDATA_FAILED;
156 }
157 return serverRet;
158 }
159
OpenSession(const SessionParam * param,TransInfo * info)160 int32_t TransServerProxy::OpenSession(const SessionParam *param, TransInfo *info)
161 {
162 if (param->sessionName == nullptr || param->peerSessionName == nullptr ||
163 param->peerDeviceId == nullptr || param->groupId == nullptr) {
164 return SOFTBUS_INVALID_PARAM;
165 }
166 sptr<IRemoteObject> remote = GetSystemAbility();
167 if (remote == nullptr) {
168 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "remote is nullptr!");
169 return SOFTBUS_TRANS_PROXY_REMOTE_NULL;
170 }
171
172 MessageParcel data;
173 if (!data.WriteInterfaceToken(GetDescriptor())) {
174 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "OpenSession write InterfaceToken failed!");
175 return SOFTBUS_TRANS_PROXY_WRITETOKEN_FAILED;
176 }
177 if (!data.WriteCString(param->sessionName)) {
178 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "OpenSession write my session name failed!");
179 return SOFTBUS_TRANS_PROXY_WRITECSTRING_FAILED;
180 }
181 if (!data.WriteCString(param->peerSessionName)) {
182 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "OpenSession write peer session name failed!");
183 return SOFTBUS_TRANS_PROXY_WRITECSTRING_FAILED;
184 }
185 if (!data.WriteCString(param->peerDeviceId)) {
186 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "OpenSession write addr type length failed!");
187 return SOFTBUS_TRANS_PROXY_WRITECSTRING_FAILED;
188 }
189 if (!data.WriteCString(param->groupId)) {
190 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "OpenSession write addr type length failed!");
191 return SOFTBUS_TRANS_PROXY_WRITECSTRING_FAILED;
192 }
193
194 if (!data.WriteRawData(param->attr, sizeof(SessionAttribute))) {
195 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "OpenSession write addr type length failed!");
196 return SOFTBUS_TRANS_PROXY_WRITERAWDATA_FAILED;
197 }
198 MessageParcel reply;
199 MessageOption option;
200 if (remote->SendRequest(SERVER_OPEN_SESSION, data, reply, option) != 0) {
201 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "OpenSession send request failed!");
202 return SOFTBUS_TRANS_PROXY_SEND_REQUEST_FAILED;
203 }
204 TransSerializer *transSerializer = (TransSerializer *)reply.ReadRawData(sizeof(TransSerializer));
205 if (transSerializer == nullptr) {
206 SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_ERROR, "OpenSession read TransSerializer failed!");
207 return SOFTBUS_TRANS_PROXY_READRAWDATA_FAILED;
208 }
209 info->channelId = transSerializer->transInfo.channelId;
210 info->channelType = transSerializer->transInfo.channelType;
211 return transSerializer->ret;
212 }
213
OpenAuthSession(const char * sessionName,const ConnectionAddr * addrInfo)214 int32_t TransServerProxy::OpenAuthSession(const char *sessionName, const ConnectionAddr *addrInfo)
215 {
216 if (sessionName == nullptr || addrInfo == nullptr) {
217 return SOFTBUS_INVALID_PARAM;
218 }
219 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_INFO, "%s ServerIpcOpenAuthSession begin", sessionName);
220 sptr<IRemoteObject> remote = Remote();
221 if (remote == nullptr) {
222 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "remote is nullptr!");
223 return SOFTBUS_ERR;
224 }
225
226 MessageParcel data;
227 if (!data.WriteInterfaceToken(GetDescriptor())) {
228 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "OpenSession write InterfaceToken failed!");
229 return SOFTBUS_ERR;
230 }
231 if (!data.WriteCString(sessionName)) {
232 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "OpenSession write my session name failed!");
233 return SOFTBUS_ERR;
234 }
235 if (!data.WriteRawData((void *)addrInfo, sizeof(ConnectionAddr))) {
236 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "OpenSession write ConnectionAddr failed!");
237 return SOFTBUS_ERR;
238 }
239
240 MessageParcel reply;
241 MessageOption option;
242 if (remote->SendRequest(SERVER_OPEN_AUTH_SESSION, data, reply, option) != 0) {
243 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "OpenSession send request failed!");
244 return SOFTBUS_ERR;
245 }
246 int32_t channelId = 0;
247 if (!reply.ReadInt32(channelId)) {
248 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "OpenSession read channelId failed!");
249 return SOFTBUS_ERR;
250 }
251 return channelId;
252 }
253
NotifyAuthSuccess(int32_t channelId,int32_t channelType)254 int32_t TransServerProxy::NotifyAuthSuccess(int32_t channelId, int32_t channelType)
255 {
256 sptr<IRemoteObject> remote = GetSystemAbility();
257 if (remote == nullptr) {
258 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "remote is nullptr!");
259 return SOFTBUS_ERR;
260 }
261 MessageParcel data;
262 if (!data.WriteInterfaceToken(GetDescriptor())) {
263 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "ServerIpcNotifyAuthSuccess write InterfaceToken failed!");
264 return SOFTBUS_ERR;
265 }
266 if (!data.WriteInt32(channelId)) {
267 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "ServerIpcNotifyAuthSuccess write channel id failed!");
268 return SOFTBUS_ERR;
269 }
270 if (!data.WriteInt32(channelType)) {
271 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "ServerIpcNotifyAuthSuccess write channel type failed!");
272 return SOFTBUS_ERR;
273 }
274
275 MessageParcel reply;
276 MessageOption option;
277 if (remote->SendRequest(SERVER_NOTIFY_AUTH_SUCCESS, data, reply, option) != 0) {
278 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "ServerIpcNotifyAuthSuccess send request failed!");
279 return SOFTBUS_ERR;
280 }
281 int32_t serverRet = 0;
282 if (!reply.ReadInt32(serverRet)) {
283 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "ServerIpcNotifyAuthSuccess read serverRet failed!");
284 return SOFTBUS_ERR;
285 }
286 return serverRet;
287 }
288
CloseChannel(int32_t channelId,int32_t channelType)289 int32_t TransServerProxy::CloseChannel(int32_t channelId, int32_t channelType)
290 {
291 sptr<IRemoteObject> remote = GetSystemAbility();
292 if (remote == nullptr) {
293 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "remote is nullptr!");
294 return SOFTBUS_ERR;
295 }
296 MessageParcel data;
297 if (!data.WriteInterfaceToken(GetDescriptor())) {
298 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "CloseChannel write InterfaceToken failed!");
299 return SOFTBUS_ERR;
300 }
301 if (!data.WriteInt32(channelId)) {
302 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "CloseChannel write channel id failed!");
303 return SOFTBUS_ERR;
304 }
305 if (!data.WriteInt32(channelType)) {
306 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "CloseChannel write channel type failed!");
307 return SOFTBUS_ERR;
308 }
309
310 MessageParcel reply;
311 MessageOption option;
312 if (remote->SendRequest(SERVER_CLOSE_CHANNEL, data, reply, option) != 0) {
313 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "CloseChannel send request failed!");
314 return SOFTBUS_ERR;
315 }
316 int32_t serverRet = 0;
317 if (!reply.ReadInt32(serverRet)) {
318 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "CloseChannel read serverRet failed!");
319 return SOFTBUS_ERR;
320 }
321 return serverRet;
322 }
323
SendMessage(int32_t channelId,int32_t channelType,const void * dataInfo,uint32_t len,int32_t msgType)324 int32_t TransServerProxy::SendMessage(int32_t channelId, int32_t channelType, const void *dataInfo,
325 uint32_t len, int32_t msgType)
326 {
327 sptr<IRemoteObject> remote = GetSystemAbility();
328 if (remote == nullptr) {
329 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "remote is nullptr!");
330 return SOFTBUS_ERR;
331 }
332 MessageParcel data;
333 if (!data.WriteInterfaceToken(GetDescriptor())) {
334 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "SendMessage write InterfaceToken failed!");
335 return SOFTBUS_ERR;
336 }
337 if (!data.WriteInt32(channelId)) {
338 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "SendMessage write channel id failed!");
339 return SOFTBUS_ERR;
340 }
341 if (!data.WriteInt32(channelType)) {
342 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "SendMessage write channel type failed!");
343 return SOFTBUS_ERR;
344 }
345 if (!data.WriteUint32(len)) {
346 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "SendMessage write dataInfo len failed!");
347 return SOFTBUS_ERR;
348 }
349 if (!data.WriteRawData(dataInfo, len)) {
350 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "SendMessage write dataInfo failed!");
351 return SOFTBUS_ERR;
352 }
353 if (!data.WriteInt32(msgType)) {
354 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "SendMessage msgType failed!");
355 return SOFTBUS_ERR;
356 }
357
358 MessageParcel reply;
359 MessageOption option;
360 if (remote->SendRequest(SERVER_SESSION_SENDMSG, data, reply, option) != 0) {
361 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "SendMessage send request failed!");
362 return SOFTBUS_ERR;
363 }
364 int32_t serverRet = 0;
365 if (!reply.ReadInt32(serverRet)) {
366 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "SendMessage read serverRet failed!");
367 return SOFTBUS_ERR;
368 }
369 return serverRet;
370 }
371
QosReport(int32_t channelId,int32_t chanType,int32_t appType,int32_t quality)372 int32_t TransServerProxy::QosReport(int32_t channelId, int32_t chanType, int32_t appType, int32_t quality)
373 {
374 sptr<IRemoteObject> remote = GetSystemAbility();
375 if (remote == nullptr) {
376 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "remote is nullptr!");
377 return SOFTBUS_ERR;
378 }
379 MessageParcel data;
380 if (!data.WriteInterfaceToken(GetDescriptor())) {
381 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "QosReport write InterfaceToken failed!");
382 return SOFTBUS_ERR;
383 }
384 if (!data.WriteInt32(channelId)) {
385 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "QosReport channelId failed!");
386 return SOFTBUS_ERR;
387 }
388 if (!data.WriteInt32(chanType)) {
389 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "QosReport chanType failed!");
390 return SOFTBUS_ERR;
391 }
392 if (!data.WriteInt32(appType)) {
393 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "QosReport appType failed!");
394 return SOFTBUS_ERR;
395 }
396 if (!data.WriteInt32(quality)) {
397 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "QosReport quality failed!");
398 return SOFTBUS_ERR;
399 }
400
401 MessageParcel reply;
402 MessageOption option;
403 if (remote->SendRequest(SERVER_QOS_REPORT, data, reply, option) != 0) {
404 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "QosReport send request failed!");
405 return SOFTBUS_ERR;
406 }
407 int32_t serverRet = 0;
408 if (!reply.ReadInt32(serverRet)) {
409 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "QosReport read serverRet failed!");
410 return SOFTBUS_ERR;
411 }
412 return serverRet;
413 }
414
StreamStats(int32_t channelId,int32_t channelType,const StreamSendStats * statsData)415 int32_t TransServerProxy::StreamStats(int32_t channelId, int32_t channelType, const StreamSendStats *statsData)
416 {
417 sptr<IRemoteObject> remote = GetSystemAbility();
418 if (remote == nullptr) {
419 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "remote is nullptr!");
420 return SOFTBUS_ERR;
421 }
422 MessageParcel data;
423 if (!data.WriteInterfaceToken(GetDescriptor())) {
424 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "StreamStats write InterfaceToken failed!");
425 return SOFTBUS_ERR;
426 }
427 if (!data.WriteInt32(channelId)) {
428 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "StreamStats channelId failed!");
429 return SOFTBUS_ERR;
430 }
431 if (!data.WriteInt32(channelType)) {
432 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "StreamStats channelType failed!");
433 return SOFTBUS_ERR;
434 }
435 if (!data.WriteRawData((void *)statsData, sizeof(StreamSendStats))) {
436 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "write streamSendStats failed!");
437 return SOFTBUS_ERR;
438 }
439 MessageParcel reply;
440 MessageOption option;
441 int32_t ret = remote->SendRequest(SERVER_STREAM_STATS, data, reply, option);
442 if (ret != 0) {
443 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "StreamStats send request failed, ret:%d", ret);
444 return SOFTBUS_ERR;
445 }
446 if (!reply.ReadInt32(ret)) {
447 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "StreamStats read serverRet failed");
448 return SOFTBUS_ERR;
449 }
450 return ret;
451 }
452
RippleStats(int32_t channelId,int32_t channelType,const TrafficStats * statsData)453 int32_t TransServerProxy::RippleStats(int32_t channelId, int32_t channelType, const TrafficStats *statsData)
454 {
455 sptr<IRemoteObject> remote = GetSystemAbility();
456 if (remote == nullptr) {
457 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "remote is nullptr!");
458 return SOFTBUS_ERR;
459 }
460 MessageParcel data;
461 if (!data.WriteInterfaceToken(GetDescriptor())) {
462 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "RippleStats write InterfaceToken failed!");
463 return SOFTBUS_ERR;
464 }
465 if (!data.WriteInt32(channelId)) {
466 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "RippleStats channelId failed!");
467 return SOFTBUS_ERR;
468 }
469 if (!data.WriteInt32(channelType)) {
470 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "RippleStats channelType failed!");
471 return SOFTBUS_ERR;
472 }
473 if (!data.WriteRawData((void *)statsData, sizeof(TrafficStats))) {
474 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "write RippleStats failed!");
475 return SOFTBUS_ERR;
476 }
477 MessageParcel reply;
478 MessageOption option;
479 int32_t ret = remote->SendRequest(SERVER_RIPPLE_STATS, data, reply, option);
480 if (ret != 0) {
481 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "RippleStats send request failed, ret:%d", ret);
482 return SOFTBUS_ERR;
483 }
484 if (!reply.ReadInt32(ret)) {
485 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "RippleStats read serverRet failed");
486 return SOFTBUS_ERR;
487 }
488 return ret;
489 }
490
GrantPermission(int uid,int pid,const char * sessionName)491 int32_t TransServerProxy::GrantPermission(int uid, int pid, const char *sessionName)
492 {
493 sptr<IRemoteObject> remote = GetSystemAbility();
494 if (remote == nullptr) {
495 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "remote is nullptr!");
496 return SOFTBUS_ERR;
497 }
498 MessageParcel data;
499 if (!data.WriteInterfaceToken(GetDescriptor())) {
500 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "GrantPermission write InterfaceToken failed!");
501 return SOFTBUS_ERR;
502 }
503 if (!data.WriteInt32(uid)) {
504 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "GrantPermission write uid failed!");
505 return SOFTBUS_ERR;
506 }
507 if (!data.WriteInt32(pid)) {
508 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "GrantPermission write pid failed!");
509 return SOFTBUS_ERR;
510 }
511 if (!data.WriteCString(sessionName)) {
512 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "GrantPermission write sessionName failed!");
513 return SOFTBUS_ERR;
514 }
515
516 MessageParcel reply;
517 MessageOption option;
518 int32_t ret = remote->SendRequest(SERVER_GRANT_PERMISSION, data, reply, option);
519 if (ret != ERR_NONE) {
520 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "GrantPermission send request failed, ret=%d", ret);
521 return SOFTBUS_ERR;
522 }
523 if (!reply.ReadInt32(ret)) {
524 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "GrantPermission read serverRet failed!");
525 return SOFTBUS_ERR;
526 }
527 return ret;
528 }
529
RemovePermission(const char * sessionName)530 int32_t TransServerProxy::RemovePermission(const char *sessionName)
531 {
532 sptr<IRemoteObject> remote = GetSystemAbility();
533 if (remote == nullptr) {
534 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "remote is nullptr!");
535 return SOFTBUS_ERR;
536 }
537 MessageParcel data;
538 if (!data.WriteInterfaceToken(GetDescriptor())) {
539 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "RemovePermission write InterfaceToken failed!");
540 return SOFTBUS_ERR;
541 }
542 if (!data.WriteCString(sessionName)) {
543 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "RemovePermission write sessionName failed!");
544 return SOFTBUS_ERR;
545 }
546
547 MessageParcel reply;
548 MessageOption option;
549 int32_t ret = remote->SendRequest(SERVER_REMOVE_PERMISSION, data, reply, option);
550 if (ret != ERR_NONE) {
551 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "RemovePermission send request failed, ret=%d", ret);
552 return SOFTBUS_ERR;
553 }
554 if (!reply.ReadInt32(ret)) {
555 SoftBusLog(SOFTBUS_LOG_TRAN, SOFTBUS_LOG_ERROR, "RemovePermission read serverRet failed!");
556 return SOFTBUS_ERR;
557 }
558 return ret;
559 }
560
JoinLNN(const char * pkgName,void * addr,uint32_t addrTypeLen)561 int32_t TransServerProxy::JoinLNN(const char *pkgName, void *addr, uint32_t addrTypeLen)
562 {
563 (void)pkgName;
564 (void)addr;
565 (void)addrTypeLen;
566 return SOFTBUS_OK;
567 }
568
JoinMetaNode(const char * pkgName,void * addr,CustomData * customData,uint32_t addrTypeLen)569 int32_t TransServerProxy::JoinMetaNode(const char *pkgName, void *addr, CustomData *customData, uint32_t addrTypeLen)
570 {
571 (void)pkgName;
572 (void)addr;
573 (void)customData;
574 (void)addrTypeLen;
575 return SOFTBUS_OK;
576 }
577
LeaveLNN(const char * pkgName,const char * networkId)578 int32_t TransServerProxy::LeaveLNN(const char *pkgName, const char *networkId)
579 {
580 (void)pkgName;
581 (void)networkId;
582 return SOFTBUS_OK;
583 }
584
LeaveMetaNode(const char * pkgName,const char * networkId)585 int32_t TransServerProxy::LeaveMetaNode(const char *pkgName, const char *networkId)
586 {
587 (void)pkgName;
588 (void)networkId;
589 return SOFTBUS_OK;
590 }
591
GetAllOnlineNodeInfo(const char * pkgName,void ** info,uint32_t infoTypeLen,int * infoNum)592 int32_t TransServerProxy::GetAllOnlineNodeInfo(const char *pkgName, void **info, uint32_t infoTypeLen, int *infoNum)
593 {
594 (void)pkgName;
595 (void)info;
596 (void)infoTypeLen;
597 (void)infoNum;
598 return SOFTBUS_OK;
599 }
600
GetLocalDeviceInfo(const char * pkgName,void * info,uint32_t infoTypeLen)601 int32_t TransServerProxy::GetLocalDeviceInfo(const char *pkgName, void *info, uint32_t infoTypeLen)
602 {
603 (void)pkgName;
604 (void)info;
605 (void)infoTypeLen;
606 return SOFTBUS_OK;
607 }
608
GetNodeKeyInfo(const char * pkgName,const char * networkId,int key,unsigned char * buf,uint32_t len)609 int32_t TransServerProxy::GetNodeKeyInfo(const char *pkgName, const char *networkId, int key, unsigned char *buf,
610 uint32_t len)
611 {
612 (void)pkgName;
613 (void)networkId;
614 (void)key;
615 (void)buf;
616 (void)len;
617 return SOFTBUS_OK;
618 }
619
SetNodeDataChangeFlag(const char * pkgName,const char * networkId,uint16_t dataChangeFlag)620 int32_t TransServerProxy::SetNodeDataChangeFlag(const char *pkgName, const char *networkId, uint16_t dataChangeFlag)
621 {
622 (void)pkgName;
623 (void)networkId;
624 (void)dataChangeFlag;
625 return SOFTBUS_OK;
626 }
627
StartTimeSync(const char * pkgName,const char * targetNetworkId,int32_t accuracy,int32_t period)628 int32_t TransServerProxy::StartTimeSync(const char *pkgName, const char *targetNetworkId, int32_t accuracy,
629 int32_t period)
630 {
631 (void)pkgName;
632 (void)targetNetworkId;
633 (void)accuracy;
634 (void)period;
635 return SOFTBUS_OK;
636 }
637
StopTimeSync(const char * pkgName,const char * targetNetworkId)638 int32_t TransServerProxy::StopTimeSync(const char *pkgName, const char *targetNetworkId)
639 {
640 (void)pkgName;
641 (void)targetNetworkId;
642 return SOFTBUS_OK;
643 }
644 } // namespace OHOS
645