X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fclient.h;h=2496c6680fb8ed77da8c1967b8a7531337900f04;hp=9bb606ac061e14a41ed152341c51672562fd1e29;hb=06a46322b6107fe4a38c310a6292cc1ef3330950;hpb=44b22c4419f478a20f6324f9f3a700a2dec56302 diff --git a/src/client/client.h b/src/client/client.h index 9bb606ac..2496c668 100644 --- a/src/client/client.h +++ b/src/client/client.h @@ -24,15 +24,16 @@ #include #include #include +#include #include "buffer.h" #include "message.h" -#include "proxy_common.h" + class AbstractUi; -class ClientProxy; class BufferTreeModel; class QtGui; +class SignalProxy; class QTimer; @@ -50,6 +51,7 @@ class Client : public QObject { static BufferId bufferId(QString net, QString buf); static BufferTreeModel *bufferModel(); + static SignalProxy *signalProxy(); static AbstractUiMsg *layoutMsg(const Message &); @@ -59,6 +61,9 @@ class Client : public QObject { 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 *); @@ -70,7 +75,7 @@ class Client : public QObject { 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); @@ -85,19 +90,18 @@ class Client : public QObject { public slots: //void selectBuffer(Buffer *); //void connectToLocalCore(); - void connectToCore(const VarMap &); + void connectToCore(const QVariantMap &); 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 coreSocketError(QAbstractSocket::SocketError); + void coreHasData(); + void coreSocketConnected(); + void coreSocketDisconnected(); + void coreSocketStateChanged(QAbstractSocket::SocketState); void userInput(BufferId, QString); void networkConnected(QString); @@ -106,14 +110,16 @@ class Client : public QObject { void recvMessage(const Message &message); void recvStatusMsg(QString network, QString message); void setTopic(QString net, QString buf, QString); - void addNick(QString net, QString nick, VarMap props); + void addNick(QString net, QString nick, QVariantMap props); void removeNick(QString net, QString nick); void renameNick(QString net, QString oldnick, QString newnick); - void updateNick(QString net, QString nick, VarMap props); + void updateNick(QString net, QString nick, QVariantMap props); void setOwnNick(QString net, QString nick); - void recvBacklogData(BufferId, const QList &, bool); + void recvBacklogData(BufferId, QVariantList, bool); void updateBufferId(BufferId); + void removeBuffer(Buffer *); + void layoutMsg(); private: @@ -122,25 +128,22 @@ class Client : public QObject { 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; + SignalProxy *_signalProxy; BufferTreeModel *_bufferModel; - QTcpSocket socket; + QPointer socket; quint32 blockSize; static bool connectedToCore; - static VarMap coreConnectionInfo; + static QVariantMap coreConnectionInfo; static QHash buffers; static QHash bufferIds; - static QHash > nicks; + static QHash > nicks; static QHash netConnected; static QStringList netsAwaitingInit; static QHash ownNick; @@ -148,7 +151,7 @@ class Client : public QObject { QTimer *layoutTimer; QList layoutQueue; - VarMap sessionData; + QVariantMap sessionData; }; #endif