Forward socket errors to user
Provide accessors and a signal for socket errors, so that the user can react accordingly. This closes issue #6
This commit is contained in:
parent
7242a64a2f
commit
98f40f5589
|
|
@ -56,6 +56,8 @@ void QAmqpClientPrivate::initSocket()
|
||||||
QObject::connect(socket, SIGNAL(readyRead()), q, SLOT(_q_readyRead()));
|
QObject::connect(socket, SIGNAL(readyRead()), q, SLOT(_q_readyRead()));
|
||||||
QObject::connect(socket, SIGNAL(error(QAbstractSocket::SocketError)),
|
QObject::connect(socket, SIGNAL(error(QAbstractSocket::SocketError)),
|
||||||
q, SLOT(_q_socketError(QAbstractSocket::SocketError)));
|
q, SLOT(_q_socketError(QAbstractSocket::SocketError)));
|
||||||
|
QObject::connect(socket, SIGNAL(error(QAbstractSocket::SocketError)),
|
||||||
|
q, SIGNAL(socketError(QAbstractSocket::SocketError)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void QAmqpClientPrivate::setUsername(const QString &username)
|
void QAmqpClientPrivate::setUsername(const QString &username)
|
||||||
|
|
@ -172,7 +174,7 @@ void QAmqpClientPrivate::_q_socketError(QAbstractSocket::SocketError error)
|
||||||
case QAbstractSocket::ProxyConnectionTimeoutError:
|
case QAbstractSocket::ProxyConnectionTimeoutError:
|
||||||
|
|
||||||
default:
|
default:
|
||||||
qAmqpDebug() << "socket Error: " << socket->errorString();
|
qAmqpDebug() << "socket error: " << socket->errorString();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -756,6 +758,12 @@ QString QAmqpClient::customProperty(const QString &name) const
|
||||||
return d->customProperties.value(name).toString();
|
return d->customProperties.value(name).toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QAbstractSocket::SocketError QAmqpClient::socketError() const
|
||||||
|
{
|
||||||
|
Q_D(const QAmqpClient);
|
||||||
|
return d->socket->error();
|
||||||
|
}
|
||||||
|
|
||||||
QAMQP::Error QAmqpClient::error() const
|
QAMQP::Error QAmqpClient::error() const
|
||||||
{
|
{
|
||||||
Q_D(const QAmqpClient);
|
Q_D(const QAmqpClient);
|
||||||
|
|
|
||||||
|
|
@ -69,6 +69,7 @@ public:
|
||||||
void addCustomProperty(const QString &name, const QString &value);
|
void addCustomProperty(const QString &name, const QString &value);
|
||||||
QString customProperty(const QString &name) const;
|
QString customProperty(const QString &name) const;
|
||||||
|
|
||||||
|
QAbstractSocket::SocketError socketError() const;
|
||||||
QAMQP::Error error() const;
|
QAMQP::Error error() const;
|
||||||
QString errorString() const;
|
QString errorString() const;
|
||||||
|
|
||||||
|
|
@ -88,6 +89,7 @@ Q_SIGNALS:
|
||||||
void connected();
|
void connected();
|
||||||
void disconnected();
|
void disconnected();
|
||||||
void error(QAMQP::Error error);
|
void error(QAMQP::Error error);
|
||||||
|
void socketError(QAbstractSocket::SocketError error);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
QAmqpClient(QAmqpClientPrivate *dd, QObject *parent = 0);
|
QAmqpClient(QAmqpClientPrivate *dd, QObject *parent = 0);
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ private Q_SLOTS:
|
||||||
void connectDisconnect();
|
void connectDisconnect();
|
||||||
void invalidAuthenticationMechanism();
|
void invalidAuthenticationMechanism();
|
||||||
void tune();
|
void tune();
|
||||||
|
void socketError();
|
||||||
void validateUri_data();
|
void validateUri_data();
|
||||||
void validateUri();
|
void validateUri();
|
||||||
|
|
||||||
|
|
@ -124,6 +124,14 @@ void tst_QAMQPClient::tune()
|
||||||
QVERIFY(waitForSignal(&client, SIGNAL(disconnected())));
|
QVERIFY(waitForSignal(&client, SIGNAL(disconnected())));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tst_QAMQPClient::socketError()
|
||||||
|
{
|
||||||
|
QAmqpClient client;
|
||||||
|
client.connectToHost("amqp://127.0.0.1:56725/");
|
||||||
|
QVERIFY(waitForSignal(&client, SIGNAL(socketError(QAbstractSocket::SocketError))));
|
||||||
|
QCOMPARE(client.socketError(), QAbstractSocket::ConnectionRefusedError);
|
||||||
|
}
|
||||||
|
|
||||||
void tst_QAMQPClient::validateUri_data()
|
void tst_QAMQPClient::validateUri_data()
|
||||||
{
|
{
|
||||||
QTest::addColumn<QString>("uri");
|
QTest::addColumn<QString>("uri");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue