projects
/
quassel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
settings: Add Features tab to Network for skipCaps
[quassel.git]
/
src
/
common
/
event.h
diff --git
a/src/common/event.h
b/src/common/event.h
index
82cd1ac
..
4d2c83f
100644
(file)
--- a/
src/common/event.h
+++ b/
src/common/event.h
@@
-1,5
+1,5
@@
/***************************************************************************
/***************************************************************************
- * Copyright (C) 2005-20
1
0 by the Quassel Project *
+ * Copyright (C) 2005-20
2
0 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
@@
-15,49
+15,66
@@
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
- * 5
9 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
+ * 5
1 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
***************************************************************************/
***************************************************************************/
-#ifndef EVENT_H
-#define EVENT_H
+#pragma once
+#include "common-export.h"
+
+#include <QDateTime>
#include <QDebug>
#include "eventmanager.h"
#include <QDebug>
#include "eventmanager.h"
-class
Event {
+class
Network;
+class COMMON_EXPORT Event
+{
public:
public:
- explicit Event(EventManager::EventType type = EventManager::Invalid);
- virtual ~Event() {};
+ explicit Event(EventManager::EventType type = EventManager::Invalid);
+ virtual ~Event() = default;
+
+ inline EventManager::EventType type() const { return _type; }
- 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 setFlag(EventManager::EventFlag flag) { _flags |= flag; }
- inline void setFlags(EventManager::EventFlags flags) { _flags = flags; }
+ inline bool isValid() const { return _valid; }
+ inline void stop() { setFlag(EventManager::Stopped); }
+ inline bool isStopped() { return _flags.testFlag(EventManager::Stopped); }
- inline EventManager::EventFlags flags() const { return _flags; }
+ inline void setTimestamp(const QDateTime& time) { _timestamp = time; }
+ inline QDateTime timestamp() const { return _timestamp; }
-
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 setData(const QVariant &data) { _data = data; }
- //inline QVariant data() const { return _data; }
+ // call EventManager::createEvent(map) instead!
+ static Event* fromVariantMap(QVariantMap& map, Network* network);
+ QVariantMap toVariantMap() const;
protected:
protected:
- virtual inline QString className() const { return "Event"; }
-
virtual inline void debugInfo(QDebug &
dbg) const { Q_UNUSED(dbg); }
+
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;
+ explicit Event(EventManager::EventType type, QVariantMap& map);
- friend QDebug operator<<(QDebug dbg, Event *e);
-};
+ // must only use primitive types: string, int, double, list, hash
+ // we want to convert this to JSON in the future!
+ virtual void toVariantMap(QVariantMap& map) const;
-QDebug operator<<(QDebug dbg, Event *e);
+ inline void setValid(bool valid) { _valid = valid; }
-/*******/
+private:
+ EventManager::EventType _type;
+ EventManager::EventFlags _flags;
+ QDateTime _timestamp;
+ bool _valid{true};
+
+ friend COMMON_EXPORT QDebug operator<<(QDebug dbg, Event* e);
+};
-#endif
+COMMON_EXPORT QDebug operator<<(QDebug dbg, Event* e);