Fix includes
[quassel.git] / src / core / eventstringifier.h
index 7bfd1f2..14fd29e 100644 (file)
@@ -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  *
 #ifndef EVENTSTRINGIFIER_H
 #define EVENTSTRINGIFIER_H
 
-#include <QObject>
-
+#include "basichandler.h"
 #include "ircevent.h"
 #include "message.h"
 
 class CoreSession;
+class CtcpEvent;
 class MessageEvent;
 
 //! Generates user-visible MessageEvents from incoming IrcEvents
 
 /* replaces the string-generating parts of the old IrcServerHandler */
-class EventStringifier : public QObject {
+class EventStringifier : public BasicHandler {
   Q_OBJECT
 
 public:
@@ -93,6 +93,13 @@ public:
 
   // Q_INVOKABLE void processIrcEvent(IrcEvent *event);
 
+  /* CTCP handlers */
+  Q_INVOKABLE void processCtcpEvent(CtcpEvent *event);
+
+  Q_INVOKABLE void handleCtcpAction(CtcpEvent *event);
+  Q_INVOKABLE void handleCtcpPing(CtcpEvent *event);
+  Q_INVOKABLE void defaultHandler(const QString &cmd, CtcpEvent *event);
+
 public slots:
   //! Creates and sends a MessageEvent
   void displayMsg(NetworkEvent *event,
@@ -102,9 +109,11 @@ public slots:
                   const QString &target = QString(),
                   Message::Flags msgFlags = Message::None);
 
+signals:
+  void newMessageEvent(Event *event);
+
 private:
   bool checkParamCount(IrcEvent *event, int minParams);
-  void sendMessageEvent(MessageEvent *event);
 
   CoreSession *_coreSession;
   bool _whois;