X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fclientsyncer.h;h=aa8d786af7da9eaebb16a587da25208036915e20;hp=7f07de39a5f237551eca22b733dc74446a1ee8ee;hb=46d75f41de7c1aaee605c096da28d4b0d8abf138;hpb=4649188af29520951aa7485c577aa7ab912bef1a diff --git a/src/client/clientsyncer.h b/src/client/clientsyncer.h index 7f07de39..aa8d786a 100644 --- a/src/client/clientsyncer.h +++ b/src/client/clientsyncer.h @@ -1,5 +1,5 @@ /*************************************************************************** - * 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 * @@ -44,9 +44,12 @@ public: 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); @@ -61,16 +64,20 @@ signals: void coreSetupSuccess(); void coreSetupFailed(const QString &error); - void encrypted(bool); + void encrypted(); // relaying encrypted signal of the encapsulated SslSocket - void startInternalCore(); + 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(AccountId internalAccountId); + void useInternalCore(); + + inline void ignoreWarnings(bool permanently) { emit handleIgnoreWarnings(permanently); } private slots: void coreSocketError(QAbstractSocket::SocketError); @@ -88,15 +95,25 @@ private slots: 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 &errors); + void ignoreSslWarnings(bool permanently); + void sslSocketEncrypted(); + void sslErrors(const QList &errors); #endif private: - QPointer socket; - quint32 blockSize; + QPointer _socket; + quint32 _blockSize; + QVariantMap coreConnectionInfo; + QVariantMap _coreMsgBuffer; QSet netsToSync; int numNetsToSync;