• 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     return false;
60 }
61 
Send(const char * buf,int32_t nSize)62 bool BaseNetworkSession::Send(const char *buf, int32_t nSize)
63 {
64     SHARING_LOGD("trace.");
65     return false;
66 }
67 
Shutdown()68 void BaseNetworkSession::Shutdown()
69 {
70     SHARING_LOGD("trace.");
71 }
72 
OnReadable(int32_t fd)73 void BaseSessionEventListener::OnReadable(int32_t fd)
74 {
75     SHARING_LOGD("fd: %{public}d, thread_id: %{public}llu.", fd, GetThreadId());
76     auto session = session_.lock();
77     if (session) {
78         session->OnSessionReadble(fd);
79     }
80 }
81 
OnWritable(int32_t fd)82 void BaseSessionEventListener::OnWritable(int32_t fd)
83 {
84     SHARING_LOGD("thread_id: %{public}llu.", GetThreadId());
85     auto session = session_.lock();
86     if (session) {
87         auto callback = session->GetCallback();
88         if (callback) {
89             callback->OnSessionWriteable(fd);
90         }
91     }
92 }
93 
OnShutdown(int32_t fd)94 void BaseSessionEventListener::OnShutdown(int32_t fd)
95 {
96     SHARING_LOGD("thread_id: %{public}llu.", GetThreadId());
97     auto session = session_.lock();
98     if (session) {
99         auto callback = session->GetCallback();
100         if (callback) {
101             callback->OnSessionClose(fd);
102         }
103     }
104 }
105 
OnException(int32_t fd)106 void BaseSessionEventListener::OnException(int32_t fd)
107 {
108     SHARING_LOGD("thread_id: %{public}llu.", GetThreadId());
109     auto session = session_.lock();
110     if (session) {
111         auto callback = session->GetCallback();
112         if (callback) {
113             callback->OnSessionException(fd);
114         }
115     }
116 }
117 
118 } // namespace Sharing
119 } // namespace OHOS