Fixing a bug where the unread messages backlog requester wouldn't
[quassel.git] / src / core / corenetwork.h
index a0e8c17..d263f3f 100644 (file)
@@ -50,6 +50,7 @@ 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; }
@@ -90,6 +91,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,11 +105,15 @@ 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;
 
-  inline void resetPingTimeout() { _lastPingTime = 0; }
+  inline void resetPingTimeout() { _pingCount = 0; }
 
   inline void displayMsg(Message::Type msgType, BufferInfo::Type bufferType, const QString &target, const QString &text, const QString &sender = "", Message::Flags flags = Message::None) {
     emit displayMsg(networkId(), msgType, bufferType, target, text, sender, flags);
@@ -138,7 +145,7 @@ private slots:
   void restoreUserModes();
   void doAutoReconnect();
   void sendPing();
-  void enablePingTimeout();
+  void enablePingTimeout(bool enable = true);
   void disablePingTimeout();
   void sendAutoWho();
   void startAutoWhoCycle();
@@ -182,17 +189,14 @@ private:
 
   QTimer _pingTimer;
   uint _lastPingTime;
+  uint _pingCount;
 
-  bool _autoWhoEnabled;
   QStringList _autoWhoQueue;
   QHash<QString, int> _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<QByteArray> _msgQueue;