projects
/
quassel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Enable plain old QTimer-based asynchronous message processing. More fancy stuff will...
[quassel.git]
/
src
/
qtui
/
qtuimessageprocessor.h
diff --git
a/src/qtui/qtuimessageprocessor.h
b/src/qtui/qtuimessageprocessor.h
index
91cc577
..
cfbc139
100644
(file)
--- a/
src/qtui/qtuimessageprocessor.h
+++ b/
src/qtui/qtuimessageprocessor.h
@@
-21,19
+21,39
@@
#ifndef QTUIMESSAGEPROCESSOR_H_
#define QTUIMESSAGEPROCESSOR_H_
#ifndef QTUIMESSAGEPROCESSOR_H_
#define QTUIMESSAGEPROCESSOR_H_
+#include <QTimer>
+
#include "abstractmessageprocessor.h"
class QtUiMessageProcessor : public AbstractMessageProcessor {
Q_OBJECT
public:
#include "abstractmessageprocessor.h"
class QtUiMessageProcessor : public AbstractMessageProcessor {
Q_OBJECT
public:
+ enum Mode {
+ TimerBased,
+ Concurrent
+ };
+
QtUiMessageProcessor(QObject *parent);
QtUiMessageProcessor(QObject *parent);
+ inline bool isProcessing() const { return _processing; }
+ inline Mode processMode() const { return _processMode; }
+
+ public slots:
+ void process(Message &msg);
+ void process(QList<Message> &msgs);
+ private slots:
+ void processNextMessage();
- pr
otected
:
- void
processMessage
(Message &msg);
- void
processMessages(QList<Message> &msgs
);
+ pr
ivate
:
+ void
checkForHighlight
(Message &msg);
+ void
startProcessing(
);
+ QList<QList<Message> > _processQueue;
+ QList<Message> _currentBatch;
+ QTimer _processTimer;
+ bool _processing;
+ Mode _processMode;
};
#endif
};
#endif