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