Botan  2.11.0
Crypto and TLS for C++11
tls_exceptn.h
Go to the documentation of this file.
1 /*
2 * Exceptions
3 * (C) 2004-2006 Jack Lloyd
4 *
5 * Botan is released under the Simplified BSD License (see license.txt)
6 */
7 
8 #ifndef BOTAN_TLS_EXCEPTION_H_
9 #define BOTAN_TLS_EXCEPTION_H_
10 
11 #include <botan/exceptn.h>
12 #include <botan/tls_alert.h>
13 
14 namespace Botan {
15 
16 namespace TLS {
17 
18 /**
19 * TLS Exception Base Class
20 */
22  {
23  public:
24  Alert::Type type() const { return m_alert_type; }
25 
27  const std::string& err_msg = "Unknown error") :
28  Exception(err_msg), m_alert_type(type) {}
29 
30  int error_code() const noexcept override { return static_cast<int>(m_alert_type); }
31 
32  ErrorType error_type() const noexcept override { return ErrorType::TLSError; }
33 
34  private:
35  Alert::Type m_alert_type;
36  };
37 
38 /**
39 * Unexpected_Message Exception
40 */
42  {
43  public:
44  explicit Unexpected_Message(const std::string& err) :
45  TLS_Exception(Alert::UNEXPECTED_MESSAGE, err) {}
46  };
47 
48 }
49 
50 }
51 
52 #endif
int(* final)(unsigned char *, CTX *)
#define BOTAN_PUBLIC_API(maj, min)
Definition: compiler.h:31
MechanismType type
ErrorType error_type() const noexcept override
Definition: tls_exceptn.h:32
ErrorType
Definition: exceptn.h:20
Unexpected_Message(const std::string &err)
Definition: tls_exceptn.h:44
int error_code() const noexcept override
Definition: tls_exceptn.h:30
Definition: alg_id.cpp:13
Alert::Type type() const
Definition: tls_exceptn.h:24
TLS_Exception(Alert::Type type, const std::string &err_msg="Unknown error")
Definition: tls_exceptn.h:26