public:
AbstractMessageProcessor(QObject *parent);
+ virtual void reset() = 0;
public slots:
virtual void process(Message &msg) = 0;
emit disconnected();
emit coreConnectionStateChanged(false);
+ messageProcessor()->reset();
+
// Clear internal data. Hopefully nothing relies on it at this point.
setCurrentCoreAccount(0);
connect(&_processTimer, SIGNAL(timeout()), this, SLOT(processNextMessage()));
}
+void QtUiMessageProcessor::reset() {
+ if(processMode() == TimerBased) {
+ if(_processTimer.isActive()) _processTimer.stop();
+ _processing = false;
+ _currentBatch.clear();
+ _processQueue.clear();
+ }
+}
+
void QtUiMessageProcessor::process(Message &msg) {
checkForHighlight(msg);
Client::messageModel()->insertMessage(msg);
};
QtUiMessageProcessor(QObject *parent);
+
inline bool isProcessing() const { return _processing; }
inline Mode processMode() const { return _processMode; }
+ void reset();
+
public slots:
void process(Message &msg);
void process(QList<Message> &msgs);