Add a timestamp to events
[quassel.git] / src / common / event.h
index 9fd6373..4e4abac 100644 (file)
@@ -21,6 +21,9 @@
 #ifndef EVENT_H
 #define EVENT_H
 
+#include <QDateTime>
+#include <QDebug>
+
 #include "eventmanager.h"
 
 class Event {
@@ -33,21 +36,32 @@ public:
 
   inline void setFlag(EventManager::EventFlag flag) { _flags |= flag; }
   inline void setFlags(EventManager::EventFlags flags) { _flags = flags; }
-
   inline EventManager::EventFlags flags() const { return _flags; }
 
   inline void stop() { setFlag(EventManager::Stopped); }
   inline bool isStopped() { return _flags.testFlag(EventManager::Stopped); }
 
-  inline void setData(const QVariant &data) { _data = data; }
-  inline QVariant data() const { return _data; }
+  inline void setTimestamp(const QDateTime &time) { _timestamp = time; }
+  inline QDateTime timestamp() const { return _timestamp; }
+
+  //inline void setData(const QVariant &data) { _data = data; }
+  //inline QVariant data() const { return _data; }
+
+protected:
+  virtual inline QString className() const { return "Event"; }
+  virtual inline void debugInfo(QDebug &dbg) const { Q_UNUSED(dbg); }
 
 private:
   EventManager::EventType _type;
   EventManager::EventFlags _flags;
-  QVariant _data;
+  QDateTime _timestamp;
+  //QVariant _data;
+
+  friend QDebug operator<<(QDebug dbg, Event *e);
 };
 
+QDebug operator<<(QDebug dbg, Event *e);
+
 /*******/
 
 #endif