mono: Run the internal core in a separate thread
[quassel.git] / src / qtui / monoapplication.h
index 4b51e9d..59e9549 100644 (file)
 
 #pragma once
 
+#include <QPointer>
+#include <QThread>
+
 #include "qtuiapplication.h"
 
-class CoreApplicationInternal;
+class Core;
+class InternalPeer;
 
 class MonolithicApplication : public QtUiApplication
 {
     Q_OBJECT
+
 public:
     MonolithicApplication(int &, char **);
-    ~MonolithicApplication();
+    ~MonolithicApplication() override;
 
     bool init() override;
 
+signals:
+    void connectInternalPeer(QPointer<InternalPeer> peer);
+
 private slots:
+    void onConnectionRequest(QPointer<InternalPeer> peer);
+
+private:
     void startInternalCore();
 
 private:
-    CoreApplicationInternal *_internal;
-    bool _internalInitDone;
+    QPointer<Core> _core;
+    QThread _coreThread;
 };