Botan 2.19.5 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
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*/
26 class BOTAN_PUBLIC_API(2,0) Handshake_Message
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() {}
45 };
46
47}
48
49}
50
51#endif
Botan::TLS::Handshake_Message
Definition: tls_handshake_msg.h:27
Botan::TLS::Handshake_Message::type
virtual Handshake_Type type() const =0
Botan::TLS::Handshake_Message::serialize
virtual std::vector< uint8_t > serialize() const =0
Botan::TLS::Handshake_Message::~Handshake_Message
virtual ~Handshake_Message()
Definition: tls_handshake_msg.h:44
BOTAN_PUBLIC_API
#define BOTAN_PUBLIC_API(maj, min)
Definition: compiler.h:31
Botan::TLS::Handshake_Type
Handshake_Type
Definition: tls_magic.h:45
Botan
Definition: alg_id.cpp:13