static bool isConnected();
+ static void storeSessionData(const QString &key, const QVariant &data);
+ static QVariant retrieveSessionData(const QString &key, const QVariant &def = QVariant());
+ static QStringList sessionDataKeys();
+
+ enum ClientMode { LocalCore, RemoteCore };
+ static ClientMode clientMode;
+
signals:
void sendInput(BufferId, QString message);
void showBuffer(Buffer *);
void requestBacklog(BufferId, QVariant, QVariant);
void requestNetworkStates();
- void recvPartialItem(quint32 avail, quint32 size);
+ void recvPartialItem(uint avail, uint size);
void coreConnectionError(QString errorMsg);
+ void coreConnectionMsg(const QString &msg);
+ void coreConnectionProgress(uint part, uint total);
void connected();
void disconnected();
+ void sessionDataChanged(const QString &key);
+ void sessionDataChanged(const QString &key, const QVariant &data);
+ void sendSessionData(const QString &key, const QVariant &data);
+
public slots:
//void selectBuffer(Buffer *);
//void connectToLocalCore();
void disconnectFromCore();
private slots:
- void updateCoreData(UserId, QString);
- void updateLocalData(QString, QVariant);
+ void recvCoreState(const QVariant &state);
+ void recvSessionData(const QString &key, const QVariant &data);
void recvProxySignal(ClientSignal sig, QVariant arg1, QVariant arg2, QVariant arg3);
void serverError(QAbstractSocket::SocketError);
void serverHasData();
- void coreConnected();
- void coreDisconnected();
+ void coreSocketConnected();
+ void coreSocketDisconnected();
void userInput(BufferId, QString);
void networkConnected(QString);
void init();
static Client *instanceptr;
- void syncToCore();
+ void syncToCore(const QVariant &coreState);
QVariant connectToLocalCore(QString user, QString passwd); // defined in main.cpp
void disconnectFromLocalCore(); // defined in main.cpp
- enum ClientMode { LocalCore, RemoteCore };
- static ClientMode clientMode;
-
AbstractUi *mainUi;
ClientProxy *clientProxy;
BufferTreeModel *_bufferModel;
quint32 blockSize;
static bool connectedToCore;
+ static VarMap coreConnectionInfo;
static QHash<BufferId, Buffer *> buffers;
static QHash<uint, BufferId> bufferIds;
static QHash<QString, QHash<QString, VarMap> > nicks;
static QHash<QString, bool> netConnected;
+ static QStringList netsAwaitingInit;
static QHash<QString, QString> ownNick;
QTimer *layoutTimer;
QList<Buffer *> layoutQueue;
+
+ VarMap sessionData;
};
#endif