Big refactoring completed. Everything prepared for the separation of core and gui.
[quassel.git] / main / quassel.cpp
similarity index 75%
rename from core/quassel.cpp
rename to main/quassel.cpp
index b650b21..6e90e13 100644 (file)
 
 #include "quassel.h"
 #include "logger.h"
-#include "proxy.h"
+//#include "proxy.h"
+#include "core.h"
 
 #include <QString>
 #include <QDomDocument>
 
-void Quassel::init() {
-  Core::init();
+extern void messageHandler(QtMsgType type, const char *msg);
 
+Quassel * Quassel::init() {
+  if(quassel) return quassel;
+  qInstallMsgHandler(messageHandler);
+  quassel = new Quassel();
   //initIconMap();
+  return quassel;
 }
 
+/*
 void Quassel::setLogger(Logger *) {
 
 
 };
+*/
+
+QVariant Quassel::getData(QString key) {
+  mutex.lock();
+  QVariant d = data[key];
+  mutex.unlock();
+  qDebug() << "getData("<<key<<"): " << d;
+  return d;
+}
 
+void Quassel::putData(QString key, const QVariant &d) {
+  mutex.lock();
+  data[key] = d;
+  mutex.unlock();
+  emit dataChanged(key, d);
+  qDebug() << "putData("<<key<<"): " << d;
+  qDebug() << "data: " << data;
+}
 
 /* not done yet */
 void Quassel::initIconMap() {
@@ -69,3 +92,8 @@ void Quassel::initIconMap() {
 
 //  return 0;
 //}
+
+Quassel *quassel = 0;
+Quassel::RunMode Quassel::runMode;
+QMutex Quassel::mutex;
+QHash<QString, QVariant> Quassel::data;