eVaf
ieventqueue.h
Go to the documentation of this file.
1 
20 #ifndef __COMMON_IEVENTQUEUE_H
21 #define __COMMON_IEVENTQUEUE_H
22 
23 #include "libcommon.h"
24 
25 #include <QObject>
26 #include <QString>
27 
28 namespace eVaf {
29 namespace Common {
30 
31 class Event;
32 
42 {
43  Q_OBJECT
44 
45 public:
46 
49 
51  virtual ~iEventQueue() {}
52 
57  static iEventQueue * instance();
58 
70  virtual uint registerEvent(QString const & name) = 0;
71 
79  virtual uint queryEvent(QString const & name) const = 0;
80 
87  virtual void unregisterEvent(uint id) = 0;
88 
105  virtual uint subscribeEvent(uint id, QObject * obj) = 0;
106 
115  virtual void unsubscribeEvent(uint id, QObject * obj) = 0;
116 
126  virtual void broadcastEvent(Event * event) = 0;
127 
128 };
129 
130 } // namespace eVaf::Common
131 } // namespace eVaf
132 
133 #endif // ieventqueue.h
#define COMMON_EXPORT
Definition: libcommon.h:27
virtual ~iEventQueue()
Empty virtual destructor.
Definition: ieventqueue.h:51
Event class for all the eVaf events.
Definition: event.h:39
The eVaf event queue interface.
Definition: ieventqueue.h:41
iEventQueue()
Interface constructor.
Definition: ieventqueue.h:48
Global eVaf namespace.
Definition: engine.h:37