gloox 1.0.28
tlsopensslclient.h
1/*
2 Copyright (c) 2007-2023 by Jakob Schröter <js@camaya.net>
3 This file is part of the gloox library. http://camaya.net/gloox
4
5 This software is distributed under a license. The full license
6 agreement can be found in the file LICENSE in this distribution.
7 This software may not be copied, modified, sold or distributed
8 other than expressed in the named license agreement.
9
10 This software is distributed without any warranty.
11*/
12
13
14
15#ifndef TLSOPENSSLCLIENT_H__
16#define TLSOPENSSLCLIENT_H__
17
18#include "tlsopensslbase.h"
19
20#include "config.h"
21
22#ifdef HAVE_OPENSSL
23
24#include <openssl/ssl.h>
25
26namespace gloox
27{
28
36 {
37 public:
43 OpenSSLClient( TLSHandler* th, const std::string& server );
44
48 virtual ~OpenSSLClient();
49
50 // reimplemented from TLSBase
51 virtual bool hasChannelBinding() const;
52
53 // reimplemented from TLSBase
54 virtual const std::string channelBinding() const;
55
56 // reimplemented from TLSBase
57 virtual const std::string channelBindingType() const;
58
59 private:
60 // reimplemented from OpenSSLBase
61 virtual bool setType();
62
63 // reimplemented from OpenSSLBase
64 virtual int handshakeFunction();
65
66 };
67
68}
69
70#endif // HAVE_OPENSSL
71
72#endif // TLSOPENSSLCLIENT_H__
virtual const std::string channelBinding() const
virtual bool hasChannelBinding() const
virtual const std::string channelBindingType() const
An interface that allows for interacting with TLS implementations derived from TLSBase.
Definition tlshandler.h:35
The namespace for the gloox library.
Definition adhoc.cpp:28