X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fnetworkconnection.h;h=57fd9d25648fe1eb8e64c51266342df6715b487e;hb=4d159822323116d1a7c7464b2624da7b65035fd6;hp=83dcdec7842f8caabdc91eccb518dec1ac1d98c2;hpb=bd1a18355495899b5ce3003599a67e1ea7ca01cc;p=quassel.git diff --git a/src/core/networkconnection.h b/src/core/networkconnection.h index 83dcdec7..57fd9d25 100644 --- a/src/core/networkconnection.h +++ b/src/core/networkconnection.h @@ -43,7 +43,7 @@ class NetworkConnection : public QObject { Q_OBJECT public: - NetworkConnection(Network *network, CoreSession *session, const QVariant &previousState = QVariant()); + NetworkConnection(Network *network, CoreSession *session); ~NetworkConnection(); NetworkId networkId() const; @@ -59,9 +59,6 @@ public: UserInputHandler *userInputHandler() const; CtcpHandler *ctcpHandler() const; - //! Return data necessary to restore the connection state upon core restart - QVariant state() const; - //! Decode a string using the server (network) decoding. QString serverDecode(const QByteArray &string) const; @@ -80,6 +77,8 @@ public: //! Encode a string using the user-specific encoding, if set, and use the standard encoding else. QByteArray userEncode(const QString &userNick, const QString &string) const; + inline QString channelKey(const QString &channel) const { return _channelKeys.value(channel, QString()); } + public slots: // void setServerOptions(); void connectToIrc(bool reconnecting = false); @@ -89,11 +88,14 @@ public slots: void putRawLine(QByteArray input); void putCmd(const QString &cmd, const QVariantList ¶ms, const QByteArray &prefix = QByteArray()); + void addChannelKey(const QString &channel, const QString &key); + void removeChannelKey(const QString &channel); private slots: void sendPerform(); void autoReconnectSettingsChanged(); void doAutoReconnect(); + void sendWho(); void nickChanged(const QString &newNick, const QString &oldNick); // this signal is inteded to rename query buffers in the storage backend signals: @@ -128,16 +130,18 @@ private: Network *_network; CoreSession *_coreSession; + BufferInfo _statusBufferInfo; IrcServerHandler *_ircServerHandler; UserInputHandler *_userInputHandler; CtcpHandler *_ctcpHandler; - QVariant _previousState; - + QHash _channelKeys; QTimer _autoReconnectTimer; int _autoReconnectCount; + QTimer _whoTimer; + class ParseError : public Exception { public: ParseError(QString cmd, QString prefix, QStringList params);