Coverage Report

Created: 2020-02-14 15:38

/src/botan/build/include/botan/tls_exceptn.h
Line
Count
Source (jump to first uncovered line)
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
2.83k
      Alert::Type type() const { return m_alert_type; }
25
26
      TLS_Exception(Alert::Type type,
27
                    const std::string& err_msg = "Unknown error") :
28
3.62k
         Exception(err_msg), m_alert_type(type) {}
29
30
0
      int error_code() const noexcept override { return static_cast<int>(m_alert_type); }
31
32
0
      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
346
         TLS_Exception(Alert::UNEXPECTED_MESSAGE, err) {}
46
   };
47
48
}
49
50
}
51
52
#endif