/***************************************************************************
- * Copyright (C) 2005-08 by the Quassel IRC Team *
+ * Copyright (C) 2005-09 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
ClientSyncer(QObject *parent = 0);
~ClientSyncer();
+ inline const QIODevice *currentDevice() { return _socket; }
+
signals:
void recvPartialItem(quint32 avail, quint32 size);
void connectionError(const QString &errorMsg);
+ void connectionWarnings(const QStringList &warnings);
void connectionMsg(const QString &msg);
void sessionProgress(quint32 part, quint32 total);
void networksProgress(quint32 part, quint32 total);
void coreSetupSuccess();
void coreSetupFailed(const QString &error);
- void encrypted(bool);
+ void encrypted(); // relaying encrypted signal of the encapsulated SslSocket
void startInternalCore(ClientSyncer *syncer);
void connectToInternalCore(SignalProxy *proxy);
+ void handleIgnoreWarnings(bool permanently);
+
public slots:
void connectToCore(const QVariantMap &);
void loginToCore(const QString &user, const QString &passwd);
void disconnectFromCore();
void useInternalCore();
+ inline void ignoreWarnings(bool permanently) { emit handleIgnoreWarnings(permanently); }
+
private slots:
void coreSocketError(QAbstractSocket::SocketError);
void coreHasData();
void internalSessionStateReceived(const QVariant &packedState);
void sessionStateReceived(const QVariantMap &state);
+ void connectionReady();
void doCoreSetup(const QVariant &setupData);
+
+ void setWarningsHandler(const char *slot);
+ void resetWarningsHandler();
+ void resetConnection();
+
#ifdef HAVE_SSL
- void sslErrors(const QList<QSslError> &errors);
+ void ignoreSslWarnings(bool permanently);
+ void sslSocketEncrypted();
+ void sslErrors(const QList<QSslError> &errors);
#endif
private:
- QPointer<QIODevice> socket;
- quint32 blockSize;
+ QPointer<QIODevice> _socket;
+ quint32 _blockSize;
+
QVariantMap coreConnectionInfo;
+ QVariantMap _coreMsgBuffer;
QSet<QObject *> netsToSync;
int numNetsToSync;