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 */
21 class BOTAN_PUBLIC_API(2,0) TLS_Exception : public Exception
22  {
23  public:
24  Alert::Type type() const { return m_alert_type; }
25 
26  TLS_Exception(Alert::Type type,
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 */
41 class BOTAN_PUBLIC_API(2,0) Unexpected_Message final : public TLS_Exception
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 *)
MechanismType type
class BOTAN_PUBLIC_API(2, 0) Alert final
Definition: tls_alert.h:21
ErrorType
Definition: exceptn.h:20
Definition: alg_id.cpp:13