• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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