* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
-#ifndef _CLIENTSYNCER_H_
-#define _CLIENTSYNCER_H_
+#ifndef CLIENTSYNCER_H_
+#define CLIENTSYNCER_H_
#include <QPointer>
#include <QString>
#include <QVariantMap>
-#ifndef QT_NO_OPENSSL
-#include <QSslSocket>
+#ifdef HAVE_SSL
+# include <QSslSocket>
#else
-#include <QTcpSocket>
+# include <QTcpSocket>
#endif
+#include "types.h"
+
class IrcUser;
class IrcChannel;
+class SignalProxy;
class ClientSyncer : public QObject {
Q_OBJECT
- public:
- ClientSyncer(QObject *parent = 0);
- ~ClientSyncer();
-
- signals:
- void recvPartialItem(quint32 avail, quint32 size);
- void connectionError(const QString &errorMsg);
- void connectionMsg(const QString &msg);
- void sessionProgress(quint32 part, quint32 total);
- void networksProgress(quint32 part, quint32 total);
- void channelsProgress(quint32 part, quint32 total);
- void ircUsersProgress(quint32 part, quint32 total);
- void socketStateChanged(QAbstractSocket::SocketState);
- void socketDisconnected();
-
- void startLogin();
- void loginFailed(const QString &error);
- void loginSuccess();
- void syncFinished();
- void startCoreSetup(const QVariantList &);
- void coreSetupSuccess();
- void coreSetupFailed(const QString &error);
-
- void encrypted(bool);
-
- public slots:
- void connectToCore(const QVariantMap &);
- void loginToCore(const QString &user, const QString &passwd);
- void disconnectFromCore();
-
- private slots:
- void coreSocketError(QAbstractSocket::SocketError);
- void coreHasData();
- void coreSocketConnected();
- void coreSocketDisconnected();
-
- void clientInitAck(const QVariantMap &msg);
+public:
+ ClientSyncer(QObject *parent = 0);
+ ~ClientSyncer();
+
+signals:
+ void recvPartialItem(quint32 avail, quint32 size);
+ void connectionError(const QString &errorMsg);
+ void connectionMsg(const QString &msg);
+ void sessionProgress(quint32 part, quint32 total);
+ void networksProgress(quint32 part, quint32 total);
+ void socketStateChanged(QAbstractSocket::SocketState);
+ void socketDisconnected();
+
+ void startLogin();
+ void loginFailed(const QString &error);
+ void loginSuccess();
+ void syncFinished();
+ void startCoreSetup(const QVariantList &);
+ void coreSetupSuccess();
+ void coreSetupFailed(const QString &error);
+
+ void encrypted(bool);
+
+ void startInternalCore();
+ void connectToInternalCore(SignalProxy *proxy);
+
+public slots:
+ void connectToCore(const QVariantMap &);
+ void loginToCore(const QString &user, const QString &passwd);
+ void disconnectFromCore();
+ void useInternalCore(AccountId internalAccountId);
+
+private slots:
+ void coreSocketError(QAbstractSocket::SocketError);
+ void coreHasData();
+ void coreSocketConnected();
+ void coreSocketDisconnected();
+
+ void clientInitAck(const QVariantMap &msg);
// for sync progress
- void networkInitDone();
- void ircUserAdded(IrcUser *);
- void ircUserRemoved(QObject *);
- void ircUserInitDone(IrcUser *);
- void ircChannelAdded(IrcChannel *);
- void ircChannelRemoved(QObject *);
- void ircChannelInitDone(IrcChannel *);
- void checkSyncState();
-
- void syncToCore(const QVariantMap &sessionState);
- void sessionStateReceived(const QVariantMap &state);
-
- void doCoreSetup(const QVariant &setupData);
-#ifndef QT_NO_OPENSSL
+ void networkInitDone();
+ void checkSyncState();
+
+ void syncToCore(const QVariantMap &sessionState);
+ void internalSessionStateReceived(const QVariant &packedState);
+ void sessionStateReceived(const QVariantMap &state);
+
+ void doCoreSetup(const QVariant &setupData);
+#ifdef HAVE_SSL
void sslErrors(const QList<QSslError> &errors);
#endif
-
- private:
- QPointer<QIODevice> socket;
- quint32 blockSize;
- QVariantMap coreConnectionInfo;
- QSet<QObject *> netsToSync, channelsToSync, usersToSync;
- int numNetsToSync, numChannelsToSync, numUsersToSync;
+private:
+ QPointer<QIODevice> socket;
+ quint32 blockSize;
+ QVariantMap coreConnectionInfo;
+ QSet<QObject *> netsToSync;
+ int numNetsToSync;
};
#endif