Botan 2.19.1
Crypto and TLS for C&
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
16namespace Botan {
17
18namespace TLS {
19
20class Handshake_IO;
21class 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
virtual ~Handshake_Message()=default
virtual Handshake_Type type() const =0
virtual std::vector< uint8_t > serialize() const =0
#define BOTAN_PUBLIC_API(maj, min)
Definition: compiler.h:31
Definition: alg_id.cpp:13