Still working on the authentification stuff. Technically, now even in the monolithic...
[quassel.git] / src / common / quasselui.h
index 4209cdd..0925b2e 100644 (file)
 #ifndef _QUASSELUI_H_
 #define _QUASSELUI_H_
 
+#include <QObject>
 #include "message.h"
 
 class AbstractUiMsg {
 
   public:
-
+    virtual ~AbstractUiMsg() {};
     virtual QString sender() const = 0;
     virtual QString text() const = 0;
     virtual MsgId msgId() const = 0;
@@ -36,12 +37,22 @@ class AbstractUiMsg {
 };
 
 
-class AbstractUi {
+class AbstractUi : public QObject {
+  Q_OBJECT
 
   public:
-    virtual AbstractUiMsg *layoutMsg(const Message &) = 0;
-
-
+    static void foo() {};
+    virtual ~AbstractUi() {};
+    virtual void init() {};  // called after the client is initialized
+    virtual AbstractUiMsg *layoutMsg(const Message &) { return 0; }
+
+  protected slots:
+    virtual void connectedToCore() {}
+    virtual void disconnectedFromCore() {}
+
+  signals:
+    void connectToCore(const VarMap &connInfo);
+    void disconnectFromCore();
 
 };