X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fnetworkconnection.h;h=d9474557f5c06c633b4296c6368740696136e210;hp=c28da180a58383ad3ae88b594d1243bd82a80634;hb=f7379184b7c0ae4e53d7470809f84e2ad3239ec1;hpb=07171f8337e7236c3ac3432352b41ad3c53e077b diff --git a/src/core/networkconnection.h b/src/core/networkconnection.h index c28da180..d9474557 100644 --- a/src/core/networkconnection.h +++ b/src/core/networkconnection.h @@ -26,7 +26,7 @@ #include #include -#ifndef QT_NO_OPENSSL +#ifdef HAVE_SSL # include # include #else @@ -39,8 +39,6 @@ #include "network.h" #include "signalproxy.h" -class Network; - class IrcServerHandler; class UserInputHandler; class CtcpHandler; @@ -91,7 +89,7 @@ public: public slots: // void setServerOptions(); void connectToIrc(bool reconnecting = false); - void disconnectFromIrc(bool requested = true); + void disconnectFromIrc(bool requested = true, const QString &reason = QString()); void userInput(BufferInfo bufferInfo, QString msg); void putRawLine(QByteArray input); @@ -140,11 +138,12 @@ private slots: void sendPerform(); void autoReconnectSettingsChanged(); void doAutoReconnect(); + void sendPing(); void sendAutoWho(); void startAutoWhoCycle(); void nickChanged(const QString &newNick, const QString &oldNick); // this signal is inteded to rename query buffers in the storage backend -#ifndef QT_NO_OPENSSL +#ifdef HAVE_SSL void socketEncrypted(); void sslErrors(const QList &errors); #endif @@ -152,7 +151,7 @@ private slots: void fillBucketAndProcessQueue(); private: -#ifndef QT_NO_OPENSSL +#ifdef HAVE_SSL QSslSocket socket; #else QTcpSocket socket; @@ -176,11 +175,16 @@ private: QTimer _socketCloseTimer; + /* this flag triggers quitRequested() once the socket is closed + * it is needed to determine whether or not the connection needs to be + *in the automatic session restore. */ bool _quitRequested; bool _previousConnectionAttemptFailed; int _lastUsedServerlistIndex; + QTimer _pingTimer; + bool _autoWhoEnabled; QStringList _autoWhoQueue; QHash _autoWhoInProgress; @@ -197,8 +201,6 @@ private: void writeToSocket(QByteArray s); - - class ParseError : public Exception { public: ParseError(QString cmd, QString prefix, QStringList params);