diff options
Diffstat (limited to 'Swiften/Client/ClientError.h')
-rw-r--r-- | Swiften/Client/ClientError.h | 109 |
1 files changed, 59 insertions, 50 deletions
diff --git a/Swiften/Client/ClientError.h b/Swiften/Client/ClientError.h index a4dc040..3453611 100644 --- a/Swiften/Client/ClientError.h +++ b/Swiften/Client/ClientError.h @@ -1,57 +1,66 @@ /* - * Copyright (c) 2010 Remko Tronçon - * Licensed under the GNU General Public License v3. - * See Documentation/Licenses/GPLv3.txt for more information. + * Copyright (c) 2010-2016 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. */ #pragma once +#include <memory> + +#include <boost/system/system_error.hpp> + namespace Swift { - class ClientError { - public: - enum Type { - UnknownError, - DomainNameResolveError, - ConnectionError, - ConnectionReadError, - ConnectionWriteError, - XMLError, - AuthenticationFailedError, - CompressionFailedError, - ServerVerificationFailedError, - NoSupportedAuthMechanismsError, - UnexpectedElementError, - ResourceBindError, - SessionStartError, - StreamError, - TLSError, - ClientCertificateLoadError, - ClientCertificateError, - - // Certifate on smartcard was removed - CertificateCardRemoved, - - // Certificate verification errors - UnknownCertificateError, - CertificateExpiredError, - CertificateNotYetValidError, - CertificateSelfSignedError, - CertificateRejectedError, - CertificateUntrustedError, - InvalidCertificatePurposeError, - CertificatePathLengthExceededError, - InvalidCertificateSignatureError, - InvalidCAError, - InvalidServerIdentityError, - RevokedError, - RevocationCheckFailedError - }; - - ClientError(Type type = UnknownError) : type_(type) {} - - Type getType() const { return type_; } - - private: - Type type_; - }; + class ClientError { + public: + enum Type { + UnknownError, + DomainNameResolveError, + ConnectionError, + ConnectionReadError, + ConnectionWriteError, + XMLError, + AuthenticationFailedError, + CompressionFailedError, + ServerVerificationFailedError, + NoSupportedAuthMechanismsError, + UnexpectedElementError, + ResourceBindError, + SessionStartError, + StreamError, + TLSError, + ClientCertificateLoadError, + ClientCertificateError, + + // Certifate on smartcard was removed + CertificateCardRemoved, + + // Certificate verification errors + UnknownCertificateError, + CertificateExpiredError, + CertificateNotYetValidError, + CertificateSelfSignedError, + CertificateRejectedError, + CertificateUntrustedError, + InvalidCertificatePurposeError, + CertificatePathLengthExceededError, + InvalidCertificateSignatureError, + InvalidCAError, + InvalidServerIdentityError, + RevokedError, + RevocationCheckFailedError + }; + + ClientError(Type type = UnknownError) : type_(type) {} + + Type getType() const { return type_; } + + void setErrorCode(std::shared_ptr<boost::system::error_code> errorCode) { errorCode_ = errorCode; } + + std::shared_ptr<boost::system::error_code> getErrorCode() const { return errorCode_; } + + private: + Type type_; + std::shared_ptr<boost::system::error_code> errorCode_; + }; } |