X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fevent.h;h=82cd1aca194f4081a88334d402c194a1b3637f1e;hp=ed82f7e80f4da428a5a23c0d8e32ab1a0936c184;hb=46984aca05b2d5f8dddd0c8739e60a1753078123;hpb=d3c9d89989df59c073fc33637ba4e8bbdb6ab397 diff --git a/src/common/event.h b/src/common/event.h index ed82f7e8..82cd1aca 100644 --- a/src/common/event.h +++ b/src/common/event.h @@ -21,16 +21,43 @@ #ifndef EVENT_H #define EVENT_H -#include +#include + +#include "eventmanager.h" class Event { public: - Event(); - virtual ~Event(); + explicit Event(EventManager::EventType type = EventManager::Invalid); + virtual ~Event() {}; + + inline EventManager::EventType type() const { return _type; } + + 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); } - virtual QStringList params() const; + //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; + + friend QDebug operator<<(QDebug dbg, Event *e); }; +QDebug operator<<(QDebug dbg, Event *e); + +/*******/ + #endif