diff options
Diffstat (limited to 'Swiften/Session')
-rw-r--r-- | Swiften/Session/BOSHSessionStream.cpp | 2 | ||||
-rw-r--r-- | Swiften/Session/BasicSessionStream.cpp | 16 | ||||
-rw-r--r-- | Swiften/Session/BasicSessionStream.h | 3 | ||||
-rw-r--r-- | Swiften/Session/SessionStream.h | 4 |
4 files changed, 13 insertions, 12 deletions
diff --git a/Swiften/Session/BOSHSessionStream.cpp b/Swiften/Session/BOSHSessionStream.cpp index ce5df35..237a394 100644 --- a/Swiften/Session/BOSHSessionStream.cpp +++ b/Swiften/Session/BOSHSessionStream.cpp @@ -163,7 +163,7 @@ void BOSHSessionStream::handleElementReceived(boost::shared_ptr<Element> element void BOSHSessionStream::handleXMPPError() { available = false; - onClosed(boost::make_shared<Error>(Error::ParseError)); + onClosed(boost::make_shared<SessionStreamError>(SessionStreamError::ParseError)); } void BOSHSessionStream::handlePoolSessionStarted() { diff --git a/Swiften/Session/BasicSessionStream.cpp b/Swiften/Session/BasicSessionStream.cpp index f50c5d5..b49ffc9 100644 --- a/Swiften/Session/BasicSessionStream.cpp +++ b/Swiften/Session/BasicSessionStream.cpp @@ -111,11 +111,11 @@ void BasicSessionStream::addTLSEncryption() { assert(available); tlsLayer = new TLSLayer(tlsContextFactory); if (hasTLSCertificate() && !tlsLayer->setClientCertificate(getTLSCertificate())) { - onClosed(boost::make_shared<Error>(Error::InvalidTLSCertificateError)); + onClosed(boost::make_shared<SessionStreamError>(SessionStreamError::InvalidTLSCertificateError)); } else { streamStack->addLayer(tlsLayer); - tlsLayer->onError.connect(boost::bind(&BasicSessionStream::handleTLSError, this)); + tlsLayer->onError.connect(boost::bind(&BasicSessionStream::handleTLSError, this, _1)); tlsLayer->onConnected.connect(boost::bind(&BasicSessionStream::handleTLSConnected, this)); tlsLayer->connect(); } @@ -173,28 +173,28 @@ void BasicSessionStream::handleElementReceived(boost::shared_ptr<Element> elemen void BasicSessionStream::handleXMPPError() { available = false; - onClosed(boost::make_shared<Error>(Error::ParseError)); + onClosed(boost::make_shared<SessionStreamError>(SessionStreamError::ParseError)); } void BasicSessionStream::handleTLSConnected() { onTLSEncrypted(); } -void BasicSessionStream::handleTLSError() { +void BasicSessionStream::handleTLSError(boost::shared_ptr<TLSError> error) { available = false; - onClosed(boost::make_shared<Error>(Error::TLSError)); + onClosed(error); } void BasicSessionStream::handleConnectionFinished(const boost::optional<Connection::Error>& error) { available = false; if (error == Connection::ReadError) { - onClosed(boost::make_shared<Error>(Error::ConnectionReadError)); + onClosed(boost::make_shared<SessionStreamError>(SessionStreamError::ConnectionReadError)); } else if (error) { - onClosed(boost::make_shared<Error>(Error::ConnectionWriteError)); + onClosed(boost::make_shared<SessionStreamError>(SessionStreamError::ConnectionWriteError)); } else { - onClosed(boost::shared_ptr<Error>()); + onClosed(boost::shared_ptr<SessionStreamError>()); } } diff --git a/Swiften/Session/BasicSessionStream.h b/Swiften/Session/BasicSessionStream.h index b0c4331..e1f32f4 100644 --- a/Swiften/Session/BasicSessionStream.h +++ b/Swiften/Session/BasicSessionStream.h @@ -12,6 +12,7 @@ #include <Swiften/Network/Connection.h> #include <Swiften/Session/SessionStream.h> #include <Swiften/Elements/StreamType.h> +#include <Swiften/TLS/TLSError.h> namespace Swift { class TLSContextFactory; @@ -65,7 +66,7 @@ namespace Swift { void handleConnectionFinished(const boost::optional<Connection::Error>& error); void handleXMPPError(); void handleTLSConnected(); - void handleTLSError(); + void handleTLSError(boost::shared_ptr<TLSError>); void handleStreamStartReceived(const ProtocolHeader&); void handleElementReceived(boost::shared_ptr<Element>); void handleDataRead(const SafeByteArray& data); diff --git a/Swiften/Session/SessionStream.h b/Swiften/Session/SessionStream.h index 2ff2a56..32cb6b6 100644 --- a/Swiften/Session/SessionStream.h +++ b/Swiften/Session/SessionStream.h @@ -21,7 +21,7 @@ namespace Swift { class SessionStream { public: - class Error : public Swift::Error { + class SessionStreamError : public Swift::Error { public: enum Type { ParseError, @@ -31,7 +31,7 @@ namespace Swift { ConnectionWriteError }; - Error(Type type) : type(type) {} + SessionStreamError(Type type) : type(type) {} Type type; }; |