• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2023 Shenzhen Kaihong Digital Industry Development 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 "base_network_session.h"
17 #include "common/media_log.h"
18 #include "utils/utils.h"
19 
20 namespace OHOS {
21 namespace Sharing {
BaseNetworkSession(SocketInfo::Ptr socket)22 BaseNetworkSession::BaseNetworkSession(SocketInfo::Ptr socket) : socket_(std::move(socket))
23 {
24     SHARING_LOGD("trace.");
25 }
26 
~BaseNetworkSession()27 BaseNetworkSession::~BaseNetworkSession()
28 {
29     SHARING_LOGD("trace.");
30 }
31 
RegisterCallback(std::shared_ptr<INetworkSessionCallback> callback)32 void BaseNetworkSession::RegisterCallback(std::shared_ptr<INetworkSessionCallback> callback)
33 {
34     SHARING_LOGD("trace.");
35     callback_ = std::move(callback);
36 }
37 
GetCallback()38 std::shared_ptr<INetworkSessionCallback> &BaseNetworkSession::GetCallback()
39 {
40     SHARING_LOGD("trace.");
41     return callback_;
42 }
43 
GetSocketInfo()44 SocketInfo::Ptr BaseNetworkSession::GetSocketInfo()
45 {
46     SHARING_LOGD("trace.");
47     return socket_;
48 }
49 
Start()50 bool BaseNetworkSession::Start()
51 {
52     SHARING_LOGD("trace.");
53     return true;
54 }
55 
Send(const DataBuffer::Ptr & buf,int32_t nSize)56 bool BaseNetworkSession::Send(const DataBuffer::Ptr &buf, int32_t nSize)
57 {
58     SHARING_LOGD("trace.");
59     (void)buf;
60     (void)nSize;
61     return false;
62 }
63 
Send(const char * buf,int32_t nSize)64 bool BaseNetworkSession::Send(const char *buf, int32_t nSize)
65 {
66     SHARING_LOGD("trace.");
67     (void)buf;
68     (void)nSize;
69     return false;
70 }
71 
Shutdown()72 void BaseNetworkSession::Shutdown()
73 {
74     SHARING_LOGD("trace.");
75 }
76 
OnReadable(int32_t fd)77 void BaseSessionEventListener::OnReadable(int32_t fd)
78 {
79     SHARING_LOGD("fd: %{public}d, thread_id: %{public}llu.", fd, GetThreadId());
80     auto session = session_.lock();
81     if (session) {
82         session->OnSessionReadble(fd);
83     }
84 }
85 
OnWritable(int32_t fd)86 void BaseSessionEventListener::OnWritable(int32_t fd)
87 {
88     SHARING_LOGD("thread_id: %{public}llu.", GetThreadId());
89     auto session = session_.lock();
90     if (session) {
91         auto callback = session->GetCallback();
92         if (callback) {
93             callback->OnSessionWriteable(fd);
94         }
95     }
96 }
97 
OnShutdown(int32_t fd)98 void BaseSessionEventListener::OnShutdown(int32_t fd)
99 {
100     SHARING_LOGD("thread_id: %{public}llu.", GetThreadId());
101     auto session = session_.lock();
102     if (session) {
103         auto callback = session->GetCallback();
104         if (callback) {
105             callback->OnSessionClose(fd);
106         }
107     }
108 }
109 
OnException(int32_t fd)110 void BaseSessionEventListener::OnException(int32_t fd)
111 {
112     SHARING_LOGD("thread_id: %{public}llu.", GetThreadId());
113     auto session = session_.lock();
114     if (session) {
115         auto callback = session->GetCallback();
116         if (callback) {
117             callback->OnSessionException(fd);
118         }
119     }
120 }
121 
122 } // namespace Sharing
123 } // namespace OHOS