Botan  2.7.0
Crypto and TLS for C++11
tls_handshake_msg.h
Go to the documentation of this file.
1 /*
2 * TLS Handshake Message
3 * (C) 2012 Jack Lloyd
4 * 2016 Matthias Gierlings
5 *
6 * Botan is released under the Simplified BSD License (see license.txt)
7 */
8 
9 #ifndef BOTAN_TLS_HANDSHAKE_MSG_H_
10 #define BOTAN_TLS_HANDSHAKE_MSG_H_
11 
12 #include <botan/tls_magic.h>
13 #include <vector>
14 #include <string>
15 
16 namespace Botan {
17 
18 namespace TLS {
19 
20 class Handshake_IO;
21 class Handshake_Hash;
22 
23 /**
24 * TLS Handshake Message Base Class
25 */
27  {
28  public:
29  /**
30  * @return string representation of this message type
31  */
32  std::string type_string() const;
33 
34  /**
35  * @return the message type
36  */
37  virtual Handshake_Type type() const = 0;
38 
39  /**
40  * @return DER representation of this message
41  */
42  virtual std::vector<uint8_t> serialize() const = 0;
43 
44  virtual ~Handshake_Message() = default;
45  };
46 
47 }
48 
49 }
50 
51 #endif
#define BOTAN_PUBLIC_API(maj, min)
Definition: compiler.h:27
MechanismType type
Definition: alg_id.cpp:13