MCPcopy Create free account
hub / github.com/KangLin/RabbitRemoteControl / SocketInit

Method SocketInit

Plugins/TigerVnc/Client/BackendVnc.cpp:264–371  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

262}
263
264int CBackendVnc::SocketInit()
265{
266 int nRet = 0;
267 try{
268 QTcpSocket* pSock = new QTcpSocket(this);
269 if(!pSock)
270 return -1;
271 m_DataChannel = QSharedPointer<CChannel>(new CChannel(pSock));
272 if(!m_DataChannel) {
273 qCritical(log) << "New CChannel fail";
274 return -1;
275 }
276
277 SetChannelConnect(m_DataChannel);
278
279 if(!m_DataChannel->open(QIODevice::ReadWrite))
280 {
281 qCritical(log) << "Open channel fail";
282 return -1;
283 }
284
285 QNetworkProxy::ProxyType type = QNetworkProxy::NoProxy;
286 // Set sock
287 switch(m_pPara->m_Proxy.GetUsedType())
288 {
289 case CParameterProxy::TYPE::SockesV5:
290 type = QNetworkProxy::Socks5Proxy;
291 break;
292 case CParameterProxy::TYPE::System:
293 type = QNetworkProxy::DefaultProxy;
294 break;
295 case CParameterProxy::TYPE::Http:
296 type = QNetworkProxy::HttpProxy;
297 break;
298 case CParameterProxy::TYPE::None:
299 default:
300 break;
301 }
302
303 switch(type) {
304 case QNetworkProxy::DefaultProxy:
305 {
306 pSock->setProxy(QNetworkProxy::applicationProxy());
307 break;
308 }
309 case QNetworkProxy::HttpProxy:
310 case QNetworkProxy::Socks5Proxy:
311 {
312 QNetworkProxy proxy;
313 auto net = &m_pPara->m_Proxy.m_SockesV5;
314 if(QNetworkProxy::HttpProxy == type) {
315 net = &m_pPara->m_Proxy.m_Http;
316 }
317 if(net->GetHost().isEmpty())
318 {
319 QString szErr;
320 szErr = tr("The proxy server is empty, please input it");
321 qCritical(log) << szErr;

Callers

nothing calls this directly

Calls 13

GetHostMethod · 0.80
setPortMethod · 0.80
GetPassphraseMethod · 0.80
setPasswordMethod · 0.80
setTypeMethod · 0.80
connectToHostMethod · 0.80
peerNameMethod · 0.80
openMethod · 0.45
GetUsedTypeMethod · 0.45
isEmptyMethod · 0.45
GetPortMethod · 0.45
GetPasswordMethod · 0.45

Tested by

no test coverage detected