* 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 networksProgress(quint32 part, quint32 total);
void socketStateChanged(QAbstractSocket::SocketState);
void socketDisconnected();
-
+
void startLogin();
void loginFailed(const QString &error);
void loginSuccess();
void startCoreSetup(const QVariantList &);
void coreSetupSuccess();
void coreSetupFailed(const QString &error);
-
+
void encrypted(bool);
-
+
+ void startInternalCore(ClientSyncer *syncer);
+ void connectToInternalCore(SignalProxy *proxy);
+
public slots:
void connectToCore(const QVariantMap &);
void loginToCore(const QString &user, const QString &passwd);
void disconnectFromCore();
-
+ void useInternalCore();
+
private slots:
void coreSocketError(QAbstractSocket::SocketError);
void coreHasData();
void coreSocketDisconnected();
void clientInitAck(const QVariantMap &msg);
-
+
// for sync progress
void networkInitDone();
void checkSyncState();
-
+
void syncToCore(const QVariantMap &sessionState);
+ void internalSessionStateReceived(const QVariant &packedState);
void sessionStateReceived(const QVariantMap &state);
-
+
void doCoreSetup(const QVariant &setupData);
-#ifndef QT_NO_OPENSSL
+#ifdef HAVE_SSL
void sslErrors(const QList<QSslError> &errors);
#endif
-
+
private:
QPointer<QIODevice> socket;
quint32 blockSize;
QVariantMap coreConnectionInfo;
-
+
QSet<QObject *> netsToSync;
int numNetsToSync;
};