#include <QString>
#include <QVariant>
-typedef QMap<QString, QVariant> VarMap;
+#include "server.h"
-class Core {
+class Core : public QObject {
+ Q_OBJECT
public:
- static void init();
- static VarMap loadNetworks();
- static void storeNetworks(VarMap);
- static VarMap loadIdentities();
- static void storeIdentities(VarMap);
+
+ Core();
+ ~Core();
+ QHash<QString, QList<Message> > getBackLog() { return backLog; };
+
+ public slots:
+ void connectToIrc(QStringList);
+
+ signals:
+ void msgFromGUI(QString network, QString channel, QString message);
+ void displayMsg(QString network, Message message);
+ void displayStatusMsg(QString, QString);
+
+ void connectToIrc(QString net);
+ void disconnectFromIrc(QString net);
+ void serverStateRequested();
+
+ private slots:
+ //void serverStatesRequested();
+ void globalDataUpdated(QString);
+ void recvStatusMsgFromServer(QString msg);
+ void recvMessageFromServer(Message msg);
+ void serverDisconnected(QString net);
+
+ private:
+ QDir backLogDir;
+ bool backLogEnabled;
+ QHash<QString, Server *> servers;
+ QHash<QString, QList<Message> > backLog;
+ //QHash<QString, int> netIdx;
+ QHash<QString, QFile *> logFiles;
+ QHash<QString, QDataStream *> logStreams;
+ QHash<QString, QDate> logFileDates;
+ QHash<QString, QDir> logFileDirs;
+
+ //uint getNetIdx(QString net);
+ void initBackLog();
+ void logMessage(QString, Message);
};
+extern Core *core;
+
#endif