X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fcorenetwork.h;h=d32734f4f57601f3eea36034f37e3a22926b75db;hp=dbb8a5e2244258854f1102fa6d4128e705fbd3e9;hb=ac374ec32612798c230d54665f6bce7faf416602;hpb=50b6749c57fab7941f513087d4209d676ae0f6bf diff --git a/src/core/corenetwork.h b/src/core/corenetwork.h index dbb8a5e2..d32734f4 100644 --- a/src/core/corenetwork.h +++ b/src/core/corenetwork.h @@ -37,10 +37,12 @@ class CoreIdentity; class IrcServerHandler; -class UserInputHandler; +class CoreUserInputHandler; class CtcpHandler; +class CoreIgnoreListManager; class CoreNetwork : public Network { + SYNCABLE_OBJECT Q_OBJECT public: @@ -50,10 +52,12 @@ public: inline CoreIdentity *identityPtr() const { return coreSession()->identity(identity()); } inline CoreSession *coreSession() const { return _coreSession; } + inline CoreNetworkConfig *networkConfig() const { return coreSession()->networkConfig(); } inline IrcServerHandler *ircServerHandler() const { return _ircServerHandler; } - inline UserInputHandler *userInputHandler() const { return _userInputHandler; } + inline CoreUserInputHandler *userInputHandler() const { return _userInputHandler; } inline CtcpHandler *ctcpHandler() const { return _ctcpHandler; } + inline CoreIgnoreListManager *ignoreListManager() { return coreSession()->ignoreListManager(); } //! Decode a string using the server (network) decoding. inline QString serverDecode(const QByteArray &string) const { return decodeServerString(string); } @@ -90,6 +94,8 @@ public slots: virtual void setAutoReconnectInterval(quint32); virtual void setAutoReconnectRetries(quint16); + void setPingInterval(int interval); + void connectToIrc(bool reconnecting = false); void disconnectFromIrc(bool requested = true, const QString &reason = QString(), bool withReconnect = false); @@ -102,6 +108,10 @@ public slots: void addChannelKey(const QString &channel, const QString &key); void removeChannelKey(const QString &channel); + void setAutoWhoEnabled(bool enabled); + void setAutoWhoInterval(int interval); + void setAutoWhoDelay(int delay); + bool setAutoWhoDone(const QString &channel); Server usedServer() const; @@ -138,7 +148,7 @@ private slots: void restoreUserModes(); void doAutoReconnect(); void sendPing(); - void enablePingTimeout(); + void enablePingTimeout(bool enable = true); void disablePingTimeout(); void sendAutoWho(); void startAutoWhoCycle(); @@ -161,7 +171,7 @@ private: #endif IrcServerHandler *_ircServerHandler; - UserInputHandler *_userInputHandler; + CoreUserInputHandler *_userInputHandler; CtcpHandler *_ctcpHandler; QHash _channelKeys; // stores persistent channels and their passwords, if any @@ -182,19 +192,14 @@ private: QTimer _pingTimer; uint _lastPingTime; - uint _maxPingCount; uint _pingCount; - bool _autoWhoEnabled; QStringList _autoWhoQueue; QHash _autoWhoPending; - int _autoWhoInterval; - int _autoWhoNickLimit; - int _autoWhoDelay; QTimer _autoWhoTimer, _autoWhoCycleTimer; QTimer _tokenBucketTimer; - int _messagesPerSecond; // token refill speed + int _messageDelay; // token refill speed in ms int _burstSize; // size of the token bucket int _tokenBucket; // the virtual bucket that holds the tokens QList _msgQueue;