#include <QPointer>
#include <QString>
-#include <QTcpSocket>
#include <QVariantMap>
+#ifndef QT_NO_OPENSSL
+#include <QSslSocket>
+#else
+#include <QTcpSocket>
+#endif
+
class IrcUser;
class IrcChannel;
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);
-
-
- 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);
+
+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);
+
// 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);
-
- private:
- QPointer<QIODevice> socket;
- quint32 blockSize;
- QVariantMap coreConnectionInfo;
-
- QSet<QObject *> netsToSync, channelsToSync, usersToSync;
- int numNetsToSync, numChannelsToSync, numUsersToSync;
-
+ void networkInitDone();
+ void checkSyncState();
+
+ void syncToCore(const QVariantMap &sessionState);
+ void sessionStateReceived(const QVariantMap &state);
+
+ void doCoreSetup(const QVariant &setupData);
+#ifndef QT_NO_OPENSSL
+ void sslErrors(const QList<QSslError> &errors);
+#endif
+
+private:
+ QPointer<QIODevice> socket;
+ quint32 blockSize;
+ QVariantMap coreConnectionInfo;
+
+ QSet<QObject *> netsToSync;
+ int numNetsToSync;
};
#endif