better abstraction of BacklogRequester to support different requesting methods
[quassel.git] / src / client / clientbacklogmanager.h
index 5ead663..2fb6a2d 100644 (file)
@@ -22,6 +22,9 @@
 #define CLIENTBACKLOGMANAGER_H
 
 #include "backlogmanager.h"
+#include "message.h"
+
+class BacklogRequester;
 
 class ClientBacklogManager : public BacklogManager {
   Q_OBJECT
@@ -33,9 +36,18 @@ public:
 
 public slots:
   virtual void receiveBacklog(BufferId bufferId, int lastMsgs, int offset, QVariantList msgs);
+  void requestInitialBacklog();
 
 signals:
-  void backlog(BufferId bufferId, const QVariantList &msgs);
+  void messagesProcessed(const QString &);
+
+private:
+  bool isBuffering();
+  void stopBuffering();
+
+  void dispatchMessages(const MessageList &messages, bool sort = false);
+
+  BacklogRequester *_requester;
 };
 
 #endif // CLIENTBACKLOGMANAGER_H