/***************************************************************************
-* Copyright (C) 2005-08 by the Quassel Project *
+* Copyright (C) 2005-09 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
#ifndef ABSTRACTMESSAGEPROCESSOR_H_
#define ABSTRACTMESSAGEPROCESSOR_H_
+#include "client.h"
#include "message.h"
+#include "networkmodel.h"
class AbstractMessageProcessor : public QObject {
Q_OBJECT
public:
AbstractMessageProcessor(QObject *parent);
+ virtual void reset() = 0;
public slots:
- void process(Message &msg);
- void process(QList<Message> &msgs);
+ virtual void process(Message &msg) = 0;
+ virtual void process(QList<Message> &msgs) = 0;
signals:
+ void progressUpdated(int value, int maximum);
protected:
- virtual void processMessage(Message &msg) = 0;
- virtual void processMessages(QList<Message> &msgs) = 0;
+ inline void postProcess(Message &msg) { Client::networkModel()->updateBufferActivity(msg); }
};