1 /*
2 * Copyright (c) 2021 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_tcp_direct_callback.h"
17
18 #include <stddef.h>
19
20 #include "softbus_def.h"
21 #include "softbus_errcode.h"
22
23 static IServerChannelCallBack g_channelCb;
24
TransTdcSetCallBack(const IServerChannelCallBack * cb)25 int32_t TransTdcSetCallBack(const IServerChannelCallBack *cb)
26 {
27 if (cb == NULL) {
28 return SOFTBUS_INVALID_PARAM;
29 }
30 g_channelCb = *cb;
31 return SOFTBUS_OK;
32 }
33
TransTdcOnChannelOpened(const char * pkgName,int32_t pid,const char * sessionName,const ChannelInfo * channel)34 int32_t TransTdcOnChannelOpened(const char *pkgName, int32_t pid, const char *sessionName,
35 const ChannelInfo *channel)
36 {
37 return g_channelCb.OnChannelOpened(pkgName, pid, sessionName, channel);
38 }
39
TransTdcOnChannelBind(const char * pkgName,int32_t pid,int32_t channelId)40 int32_t TransTdcOnChannelBind(const char *pkgName, int32_t pid, int32_t channelId)
41 {
42 return g_channelCb.OnChannelBind(pkgName, pid, channelId, CHANNEL_TYPE_TCP_DIRECT);
43 }
44
TransTdcOnChannelClosed(const char * pkgName,int32_t pid,int32_t channelId)45 int32_t TransTdcOnChannelClosed(const char *pkgName, int32_t pid, int32_t channelId)
46 {
47 return g_channelCb.OnChannelClosed(pkgName, pid, channelId, CHANNEL_TYPE_TCP_DIRECT, MESSAGE_TYPE_NOMAL);
48 }
49
TransTdcOnChannelOpenFailed(const char * pkgName,int32_t pid,int32_t channelId,int32_t errCode)50 int32_t TransTdcOnChannelOpenFailed(const char *pkgName, int32_t pid, int32_t channelId,
51 int32_t errCode)
52 {
53 return g_channelCb.OnChannelOpenFailed(pkgName, pid, channelId, CHANNEL_TYPE_TCP_DIRECT, errCode);
54 }
55
TransTdcGetPkgName(const char * sessionName,char * pkgName,uint16_t len)56 int32_t TransTdcGetPkgName(const char *sessionName, char *pkgName, uint16_t len)
57 {
58 return g_channelCb.GetPkgNameBySessionName(sessionName, pkgName, len);
59 }
60
TransTdcGetUidAndPid(const char * sessionName,int32_t * uid,int32_t * pid)61 int32_t TransTdcGetUidAndPid(const char *sessionName, int32_t *uid, int32_t *pid)
62 {
63 return g_channelCb.GetUidAndPidBySessionName(sessionName, uid, pid);
64 }
65
TransTdcOnMsgReceived(const char * pkgName,int32_t pid,int32_t channelId,TransReceiveData * receiveData)66 int32_t TransTdcOnMsgReceived(const char *pkgName, int32_t pid, int32_t channelId, TransReceiveData *receiveData)
67 {
68 return g_channelCb.OnDataReceived(pkgName, pid, channelId, CHANNEL_TYPE_TCP_DIRECT, receiveData);
69 }