X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Fremotepeer.cpp;h=fcfc7ee442af7c253d0657811437597ab609e340;hb=0e80eb98d55efe53d280b38984426318317bcb1a;hp=e405758aba4bf6a760726e309d85c4cbadd9720d;hpb=549c1ec98e255d23ebabe1eaa9558a03dfbc7bc4;p=quassel.git diff --git a/src/common/remotepeer.cpp b/src/common/remotepeer.cpp index e405758a..fcfc7ee4 100644 --- a/src/common/remotepeer.cpp +++ b/src/common/remotepeer.cpp @@ -31,8 +31,8 @@ using namespace Protocol; -RemotePeer::RemotePeer(QTcpSocket *socket, QObject *parent) - : Peer(parent), +RemotePeer::RemotePeer(::AuthHandler *authHandler, QTcpSocket *socket, QObject *parent) + : Peer(authHandler, parent), _socket(socket), _signalProxy(0), _heartBeatTimer(new QTimer(this)), @@ -41,7 +41,8 @@ RemotePeer::RemotePeer(QTcpSocket *socket, QObject *parent) { socket->setParent(this); connect(socket, SIGNAL(disconnected()), SIGNAL(disconnected())); - connect(socket, SIGNAL(error(QAbstractSocket::SocketError)), SIGNAL(error(QAbstractSocket::SocketError))); + connect(socket, SIGNAL(stateChanged(QAbstractSocket::SocketState)), SIGNAL(socketStateChanged(QAbstractSocket::SocketState))); + connect(socket, SIGNAL(error(QAbstractSocket::SocketError)), SLOT(onSocketError(QAbstractSocket::SocketError))); #ifdef HAVE_SSL QSslSocket *sslSocket = qobject_cast(socket); @@ -53,6 +54,12 @@ RemotePeer::RemotePeer(QTcpSocket *socket, QObject *parent) } +void RemotePeer::onSocketError(QAbstractSocket::SocketError error) +{ + emit socketError(error, socket()->errorString()); +} + + QString RemotePeer::description() const { if (socket()) @@ -161,14 +168,18 @@ void RemotePeer::close(const QString &reason) void RemotePeer::handle(const HeartBeat &heartBeat) { - dispatch(HeartBeatReply(heartBeat.timestamp())); + dispatch(HeartBeatReply(heartBeat.timestamp)); } void RemotePeer::handle(const HeartBeatReply &heartBeatReply) { _heartBeatCount = 0; - emit lagUpdated(heartBeatReply.timestamp().msecsTo(QDateTime::currentDateTime().toUTC()) / 2); +#if QT_VERSION >= 0x040900 + emit lagUpdated(heartBeatReply.timestamp.msecsTo(QDateTime::currentDateTime().toUTC()) / 2); +#else + emit lagUpdated(heartBeatReply.timestamp.time().msecsTo(QDateTime::currentDateTime().toUTC().time()) / 2); +#endif }