* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
-#ifndef _BUFFER_H_
-#define _BUFFER_H_
+#ifndef BACKLOGREQUESTER_H
+#define BACKLOGREQUESTER_H
-#include <QDateTime>
+#include <QList>
-class AbstractUiMsg;
-class IrcChannel;
-class NickModel;
+#include "client.h"
+#include "networkmodel.h"
+#include "types.h"
-struct BufferState;
+class BacklogManager;
-#include "message.h"
-#include "bufferinfo.h"
+class BacklogRequester {
+public:
+ BacklogRequester(BacklogManager *backlogManger);
+ virtual inline ~BacklogRequester() {}
-/**
- */
-class Buffer : public QObject {
- Q_OBJECT
+ virtual void requestBacklog() = 0;
-public:
- enum Activity {
- NoActivity = 0x00,
- OtherActivity = 0x01,
- NewMessage = 0x02,
- Highlight = 0x40
- };
- Q_DECLARE_FLAGS(ActivityLevel, Activity)
+protected:
+ inline QList<BufferId> allBufferIds() const { return Client::networkModel()->allBufferIds(); }
+ BacklogManager *backlogManager;
+};
- Buffer(BufferInfo, QObject *parent = 0);
- BufferInfo bufferInfo() const;
+class FixedBacklogRequester : public BacklogRequester {
+public:
+ FixedBacklogRequester(BacklogManager *backlogManager);
+
+ virtual void requestBacklog();
private:
- BufferInfo _bufferInfo;
+ static const int backlogCount;
};
-Q_DECLARE_OPERATORS_FOR_FLAGS(Buffer::ActivityLevel)
-#endif
+#endif //BACKLOGREQUESTER_H