X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fcoreconnection.h;h=2ef7d1a902b1633c79fe3dd9df97c3f51be461ef;hp=f1afab9f418a2bd35427fb5e7c5e98a55d514310;hb=e4491717487ddbff71b9b5a59d7b4cba3eb67629;hpb=e052c6532456d818b804ce726c8a6e66c81ad8a0 diff --git a/src/client/coreconnection.h b/src/client/coreconnection.h index f1afab9f..2ef7d1a9 100644 --- a/src/client/coreconnection.h +++ b/src/client/coreconnection.h @@ -58,20 +58,25 @@ public: inline bool isConnected() const; inline CoreAccount currentAccount() const; + bool isEncrypted() const; + inline int progressMinimum() const; inline int progressMaximum() const; inline int progressValue() const; inline QString progressText() const; +#ifdef HAVE_SSL + inline const QSslSocket *sslSocket() const; +#endif + public slots: bool connectToCore(AccountId = 0); void reconnectToCore(); void disconnectFromCore(); -// void useInternalCore(); - signals: void stateChanged(CoreConnection::ConnectionState); + void encrypted(bool isEncrypted = true); void synchronized(); void connectionError(const QString &errorMsg); @@ -87,10 +92,13 @@ signals: void startInternalCore(); void connectToInternalCore(SignalProxy *proxy); - // This signal MUST be handled synchronously! + // These signals MUST be handled synchronously! void userAuthenticationRequired(CoreAccount *, bool *valid, const QString &errorMessage = QString()); - - void handleIgnoreWarnings(bool permanently); + void handleNoSslInClient(bool *accepted); + void handleNoSslInCore(bool *accepted); +#ifdef HAVE_SSL + void handleSslErrors(const QSslSocket *socket, bool *accepted, bool *permanently); +#endif private slots: void connectToCurrentAccount(); @@ -111,8 +119,6 @@ private slots: void internalSessionStateReceived(const QVariant &packedState); void sessionStateReceived(const QVariantMap &state); - void setWarningsHandler(const char *slot); - void resetWarningsHandler(); void resetConnection(); void connectionReady(); //void doCoreSetup(const QVariant &setupData); @@ -130,6 +136,11 @@ private slots: void setState(QAbstractSocket::SocketState socketState); void setState(ConnectionState state); +#ifdef HAVE_SSL + void sslSocketEncrypted(); + void sslErrors(); +#endif + private: CoreAccountModel *_model; CoreAccount _account; @@ -162,4 +173,8 @@ bool CoreConnection::isConnected() const { return state() >= Connected; } CoreAccount CoreConnection::currentAccount() const { return _account; } CoreAccountModel *CoreConnection::accountModel() const { return _model; } +#ifdef HAVE_SSL +const QSslSocket *CoreConnection::sslSocket() const { return qobject_cast(_socket); } +#endif + #endif