Merged changes from branch "sput" r56:61 back into trunk.
[quassel.git] / core / core.h
index b87bc23..6417825 100644 (file)
@@ -24,6 +24,7 @@
 #include <QMap>
 #include <QString>
 #include <QVariant>
+#include <QSqlDatabase>
 
 #include "server.h"
 
@@ -33,26 +34,46 @@ class Core : public QObject {
   public:
 
     Core();
-    //~Core();
+    ~Core();
+    QHash<QString, QList<Message> > getBackLog() { return backLog; };
 
   public slots:
     void connectToIrc(QStringList);
 
   signals:
     void msgFromGUI(QString network, QString channel, QString message);
-    void sendMessage(QString network, QString channel, Message message);
-    void sendStatusMsg(QString, QString);
+    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(QString buffer, Message 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;
+
+    QSqlDatabase logDb;
+
+    //uint getNetIdx(QString net);
+    void initBackLog();
+    void initBackLogOld();
+    void logMessage(QString, Message);
+    void logMessageOld(QString, Message);
 
 };