Fix includes
[quassel.git] / src / common / event.h
index b3fa8f5..85081c5 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-2010 by the Quassel Project                        *
+ *   Copyright (C) 2005-2012 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -21,7 +21,8 @@
 #ifndef EVENT_H
 #define EVENT_H
 
-#include <QStringList>
+#include <QDateTime>
+#include <QDebug>
 
 #include "eventmanager.h"
 
@@ -33,10 +34,35 @@ public:
 
   inline EventManager::EventType type() const { return _type; }
 
-  //virtual QStringList params() const;
+  inline void setFlag(EventManager::EventFlag flag) { _flags |= flag; }
+  inline void setFlags(EventManager::EventFlags flags) { _flags = flags; }
+  inline bool testFlag(EventManager::EventFlag flag) { return _flags.testFlag(flag); }
+  inline EventManager::EventFlags flags() const { return _flags; }
+
+  inline void stop() { setFlag(EventManager::Stopped); }
+  inline bool isStopped() { return _flags.testFlag(EventManager::Stopped); }
+
+  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;
+  QDateTime _timestamp;
+  //QVariant _data;
+
+  friend QDebug operator<<(QDebug dbg, Event *e);
 };
 
+QDebug operator<<(QDebug dbg, Event *e);
+
+/*******/
+
 #endif