X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fevent.h;h=85081c596429def74de0f00a60cc47a76a5385ff;hp=a0e82d70c2c37c4d738bc0ca458adb9923887318;hb=3456106b07bfc3000e50df9322ddefd4f872e0fb;hpb=85fb228631cfb087ce80f4b778fae5f1c3877008 diff --git a/src/common/event.h b/src/common/event.h index a0e82d70..85081c59 100644 --- a/src/common/event.h +++ b/src/common/event.h @@ -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,6 +21,9 @@ #ifndef EVENT_H #define EVENT_H +#include +#include + #include "eventmanager.h" class Event { @@ -31,10 +34,35 @@ public: inline EventManager::EventType type() const { return _type; } + 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