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

Method Start

Plugins/Telnet/OperateTelnet.cpp:42–92  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

40}
41
42int COperateTelnet::Start()
43{
44 if(!m_pTerminal)
45 return -1;
46
47 slotUpdateParameter(this);
48
49 slotSetSecurityLevel(CSecurityLevel::Level::Risk);
50
51 bool check = false;
52 check = connect(&m_Telnet, &QTelnet::stateChanged,
53 this, [=](QAbstractSocket::SocketState socketState){
54 if(socketState == QAbstractSocket::ConnectedState) {
55 emit sigRunning();
56 } else if(socketState == QAbstractSocket::UnconnectedState) {
57 emit sigStop();
58 }
59 });
60 Q_ASSERT(check);
61 check = connect(&m_Telnet, &QTelnet::error,
62 this, [=](QAbstractSocket::SocketError err){
63 QString szErr = tr("Telnet error:\n%1.").arg(m_Telnet.errorString());
64 emit sigError(err, szErr);
65 emit sigStop();
66 });
67 Q_ASSERT(check);
68 check = connect(&m_Telnet, SIGNAL(newData(const char*, int)),
69 this, SLOT(slotNewData(const char*, int)));
70 Q_ASSERT(check);
71 check = connect(m_pTerminal, &QTermWidget::sendData,
72 this, [&](const char* buf, int len){
73 QByteArray data(buf, len);
74 //qDebug(log) << "Send data:" << data << data.toHex(':');
75 m_Telnet.sendData(data);
76 if(GetStats())
77 GetStats()->AddSends(len);
78 });
79 Q_ASSERT(check);
80 check = connect(&m_Telnet, SIGNAL(stateChanged(QAbstractSocket::SocketState)),
81 this, SLOT(slotStateChanged(QAbstractSocket::SocketState)));
82 Q_ASSERT(check);
83
84 auto &net = m_Parameters.m_Net;
85 m_Telnet.setCustomCR();
86 m_Telnet.connectToHost(net.GetHost(), net.GetPort());
87
88 m_pTerminal->startTerminalTeletype();
89
90 emit sigRunning();
91 return 0;
92}
93
94int COperateTelnet::Stop()
95{

Callers

nothing calls this directly

Calls 7

errorStringMethod · 0.80
sendDataMethod · 0.80
AddSendsMethod · 0.80
setCustomCRMethod · 0.80
connectToHostMethod · 0.80
GetHostMethod · 0.80
GetPortMethod · 0.45

Tested by

no test coverage detected