#include "quassel.h"
#include "logger.h"
+//#include "proxy.h"
+#include "core.h"
-#include <QIcon>
#include <QString>
#include <QDomDocument>
-void Quassel::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() {
+// Do not depend on GUI in core!
+/*
QDomDocument doc("IconMap");
QFile file("images/iconmap.xml");
if(!file.open(QIODevice::ReadOnly)) {
file.close();
}
+*/
}
* @param symbol Symbol of requested icon
* @return Pointer to a newly created QIcon
*/
-QIcon *Quassel::getIcon(QString /*symbol*/) {
+//
+//QIcon *Quassel::getIcon(QString /*symbol*/) {
//if(symbol == "connect"
- return 0;
-}
+// return 0;
+//}
+
+Quassel *quassel = 0;
+Quassel::RunMode Quassel::runMode;
+QMutex Quassel::mutex;
+QHash<QString, QVariant> Quassel::data;