X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fcorenetwork.h;h=f50717b0f06804a75d0a34813a28bc601b46236d;hp=f227de4f24bb546a781480893fb6cd5a9f8f55b4;hb=dc2aa39d20b60e7cd8e0ba66ca6c9ed729add008;hpb=a5dfcc8ecf8b81025d24b3c5c816169e3e030ea4 diff --git a/src/core/corenetwork.h b/src/core/corenetwork.h index f227de4f..f50717b0 100644 --- a/src/core/corenetwork.h +++ b/src/core/corenetwork.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 by the Quassel Project * + * Copyright (C) 2005-09 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -35,7 +35,7 @@ #include "coresession.h" -class Identity; +class CoreIdentity; class IrcServerHandler; class UserInputHandler; class CtcpHandler; @@ -48,7 +48,7 @@ public: ~CoreNetwork(); inline virtual const QMetaObject *syncMetaObject() const { return &Network::staticMetaObject; } - inline Identity *identityPtr() const { return coreSession()->identity(identity()); } + inline CoreIdentity *identityPtr() const { return coreSession()->identity(identity()); } inline CoreSession *coreSession() const { return _coreSession; } inline IrcServerHandler *ircServerHandler() const { return _ircServerHandler; } @@ -74,7 +74,6 @@ public: QByteArray userEncode(const QString &userNick, const QString &string) const; inline QString channelKey(const QString &channel) const { return _channelKeys.value(channel.toLower(), QString()); } - inline QStringList persistentChannels() const { return _channelKeys.keys(); } inline bool isAutoWhoInProgress(const QString &channel) const { return _autoWhoInProgress.value(channel.toLower(), 0); } @@ -92,7 +91,7 @@ public slots: virtual void setAutoReconnectRetries(quint16); void connectToIrc(bool reconnecting = false); - void disconnectFromIrc(bool requested = true, const QString &reason = QString()); + void disconnectFromIrc(bool requested = true, const QString &reason = QString(), bool withReconnect = false); void userInput(BufferInfo bufferInfo, QString msg); void putRawLine(QByteArray input); @@ -105,7 +104,10 @@ public slots: bool setAutoWhoDone(const QString &channel); - inline const Server &usedServer() const { return serverList()[_lastUsedServerIndex]; } + Server usedServer() const; + + inline void resetPong() { _gotPong = true; } + inline bool gotPong() { return _gotPong; } signals: void recvRawServerMsg(QString); @@ -130,13 +132,13 @@ private slots: void networkInitialized(); void sendPerform(); + void restoreUserModes(); void doAutoReconnect(); void sendPing(); void sendAutoWho(); void startAutoWhoCycle(); #ifdef HAVE_SSL - void sslSocketConnected(); void sslErrors(const QList &errors); #endif @@ -168,11 +170,13 @@ private: * it is needed to determine whether or not the connection needs to be * in the automatic session restore. */ bool _quitRequested; + QString _quitReason; bool _previousConnectionAttemptFailed; int _lastUsedServerIndex; QTimer _pingTimer; + bool _gotPong; bool _autoWhoEnabled; QStringList _autoWhoQueue;