#include <QString>
#include <QVariant>
-#include "coreproxy.h"
+#include "message.h"
class Server;
+class SignalProxy;
class Storage;
class CoreSession : public QObject {
Q_OBJECT
public:
- CoreSession(UserId, Storage *);
+ CoreSession(UserId, Storage *, QObject *parent = 0);
~CoreSession();
QList<BufferId> buffers() const;
//! Store a piece session-wide data and distribute it to connected clients.
void storeSessionData(const QString &key, const QVariant &data);
+ void addClient(QIODevice *connection);
+
public:
//! Retrieve a piece of session-wide data.
QVariant retrieveSessionData(const QString &key, const QVariant &def = QVariant());
- CoreProxy *proxy();
+ SignalProxy *signalProxy() const;
public slots:
- void connectToIrc(QStringList);
- void processSignal(ClientSignal, QVariant, QVariant, QVariant);
+ void connectToNetwork(QString);
+ //void processSignal(ClientSignal, QVariant, QVariant, QVariant);
void sendBacklog(BufferId, QVariant, QVariant);
void msgFromGui(BufferId, QString message);
void sendServerStates();
signals:
- void proxySignal(CoreSignal, QVariant arg1 = QVariant(), QVariant arg2 = QVariant(), QVariant arg3 = QVariant());
-
void msgFromGui(QString net, QString buf, QString message);
void displayMsg(Message message);
void displayStatusMsg(QString, QString);
void disconnectFromIrc(QString net);
void serverStateRequested();
- void backlogData(BufferId, QList<QVariant>, bool done);
+ void backlogData(BufferId, QVariantList, bool done);
void bufferIdUpdated(BufferId);
void sessionDataChanged(const QString &key);
void sessionDataChanged(const QString &key, const QVariant &data);
private slots:
- //void recvProxySignal(CoreSignal, QVariant arg1 = QVariant(), QVariant arg2 = QVariant(), QVariant arg3 = QVariant());
- void globalDataUpdated(UserId, QString);
void recvStatusMsgFromServer(QString msg);
void recvMessageFromServer(Message::Type, QString target, QString text, QString sender = "", quint8 flags = Message::None);
void serverConnected(QString net);
void serverDisconnected(QString net);
private:
- CoreProxy *coreProxy;
+ UserId user;
+
+ SignalProxy *_signalProxy;
Storage *storage;
QHash<QString, Server *> servers;
- UserId user;
- VarMap sessionData;
+ QVariantMap sessionData;
QMutex mutex;
-
};
#endif