玉兔远程控制
0.1.0-bate14
Toggle main menu visibility
载入中...
搜索中...
未找到
Plugins
TigerVnc
OutStreamChannel.cpp
1
#include "OutStreamChannel.h"
2
3
#include <stdexcept>
4
#include <QLoggingCategory>
5
6
Q_DECLARE_LOGGING_CATEGORY(VncStreamChannel)
7
8
COutStreamChannel::COutStreamChannel(
CChannel
* pDataChannel)
9
: rdr::BufferedOutStream(),
10
m_pDataChannel(pDataChannel)
11
{
12
}
13
14
bool
COutStreamChannel::flushBuffer()
15
{
16
//Q_ASSERT(m_pDataChannel);
17
if
(!m_pDataChannel || !m_pDataChannel->isOpen())
return
false
;
18
qint64 n = m_pDataChannel->write((
const
char
*)sentUpTo, ptr - sentUpTo);
19
20
if
(0 == n)
21
return
false
;
22
23
if
(-1 == n)
24
{
25
qCritical(VncStreamChannel) <<
"COutStreamDataChannel::fillBuffer:"
26
<< m_pDataChannel->errorString();
27
return
false
;
28
throw
std::runtime_error(m_pDataChannel->errorString().toStdString());
29
}
30
31
sentUpTo += n;
32
33
return
true
;
34
}
CChannel
通道接口类。此类默认实现一个 TCP 的通道。
定义
Channel.h:28
作者:康林 (kl222@126.com)
版权所有(c) 康林工作室 保留所有权力