24 #define READ_TIMEOUT 250
46 QObject::connect(
_socket, SIGNAL(
error(QAbstractSocket::SocketError)),
47 this, SIGNAL(
error(QAbstractSocket::SocketError)));
108 case QAbstractSocket::ConnectionRefusedError:
109 str =
"Connection refused by peer.";
break;
110 case QAbstractSocket::RemoteHostClosedError:
111 str =
"Remote host closed the connection.";
break;
112 case QAbstractSocket::HostNotFoundError:
113 str =
"Host address not found.";
break;
114 case QAbstractSocket::SocketAccessError:
115 str =
"Insufficient access privileges.";
break;
116 case QAbstractSocket::SocketResourceError:
117 str =
"Insufficient resources.";
break;
118 case QAbstractSocket::SocketTimeoutError:
119 str =
"Socket operation timed out.";
break;
120 case QAbstractSocket::DatagramTooLargeError:
121 str =
"Datagram size exceeded the operating system limit.";
break;
122 case QAbstractSocket::NetworkError:
123 str =
"Network error occurred.";
break;
124 case QAbstractSocket::AddressInUseError:
125 str =
"Specified address already in use.";
break;
126 case QAbstractSocket::SocketAddressNotAvailableError:
127 str =
"Specified address does not belong to the host.";
break;
128 case QAbstractSocket::UnsupportedSocketOperationError:
129 str =
"The requested operation is not supported.";
break;
131 str =
"An unidentified error occurred.";
break;
141 if (event->type() == QEvent::User) {
165 return err(errmsg, tr(
"Control socket is not connected."));
173 if (
_socket->write(strCmd.toLocal8Bit()) != strCmd.length()) {
174 return err(errmsg, tr(
"Error sending control command. [%1]")
220 if (line.length() < 4) {
221 return err(errmsg, tr(
"Invalid control reply. [%1]").arg(line));
225 ReplyLine replyLine(line.mid(0, 3), line.mid(4));
230 if (c == QChar(
'+') &&
231 !line.startsWith(
"250+PROTOCOLINFO")) {
239 if (line.trimmed() ==
".") {
246 }
while (c != QChar(
' '));
256 int bytesRecv =
_socket->readLine(buffer, 1024);
257 while (bytesRecv != -1) {
258 line.append(QString::fromLocal8Bit(buffer, bytesRecv));
259 if (buffer[bytesRecv-1] ==
'\n') {
262 bytesRecv =
_socket->readLine(buffer, 1024);
264 if (bytesRecv == -1) {
278 while (!
_socket->canReadLine()) {
280 return err(errmsg, tr(
"Socket disconnected while attempting "
281 "to read a line of data."));