properly rewind oidentd config file
[quassel.git] / src / common / eventmanager.h
index bc0a1d4..e01b594 100644 (file)
@@ -46,13 +46,14 @@ public:
   };
 
   enum EventFlag {
+    Self     = 0x01, ///< Self-generated (user input) event
     Fake     = 0x08, ///< Ignore this in CoreSessionEventProcessor
     Netsplit = 0x10, ///< Netsplit join/part, ignore on display
     Backlog  = 0x20,
     Silent   = 0x40, ///< Don't generate a MessageEvent
     Stopped  = 0x80
   };
-  Q_DECLARE_FLAGS(EventFlags, EventFlag)
+  Q_DECLARE_FLAGS(EventFlags, EventFlag);
 
   /*
 
@@ -104,13 +105,16 @@ public:
     IrcEventNumericMask         = 0x00000fff, /* for checking if an event is numeric */
 
     MessageEvent                = 0x00040000, ///< Stringified event suitable for converting to Message
+
+    CtcpEvent                   = 0x00050000,
+    CtcpEventFlush,
   };
 
   EventManager(QObject *parent = 0);
-  virtual ~EventManager();
 
   EventType eventTypeByName(const QString &name) const;
   EventType eventGroupByName(const QString &name) const;
+
   QString enumName(EventType type) const;
 
 public slots:
@@ -128,10 +132,9 @@ public slots:
   //! Send an event to the registered handlers
   /**
     The EventManager takes ownership of the event and will delete it once it's processed.
-    NOTE: This method is not threadsafe!
     @param event The event to be dispatched
    */
-  void sendEvent(Event *event);
+  void postEvent(Event *event);
 
 protected:
   virtual void customEvent(QEvent *event);
@@ -164,7 +167,7 @@ private:
 
   int findEventType(const QString &methodSignature, const QString &methodPrefix) const;
 
-  void processEvents();
+  void processEvent(Event *event);
   void dispatchEvent(Event *event);
 
   //! @return the EventType enum
@@ -173,7 +176,6 @@ private:
   HandlerHash _registeredHandlers;
   HandlerHash _registeredFilters;
   mutable QMetaEnum _enum;
-
   QList<Event *> _eventQueue;
 };