SSLClient  v1.3.0
Add TLS 1.2 functionality to any network library.
SSLClientImpl Class Referenceabstract

Implementation code to be inherited by SSLClient. More...

#include <SSLClientImpl.h>

Inheritance diagram for SSLClientImpl:
SSLClient< C, SessionCache >

Public Member Functions

 SSLClientImpl (const br_x509_trust_anchor *trust_anchors, const size_t trust_anchors_num, const int analog_pin, const DebugLevel debug)
 
 SSLClientImpl (const br_x509_trust_anchor *trust_anchors, const size_t trust_anchors_num, const int analog_pin, const DebugLevel debug, const SSLClientParameters *mutual_auth_params)
 
int connect_impl (IPAddress ip, uint16_t port)
 
int connect_impl (const char *host, uint16_t port)
 
size_t write_impl (const uint8_t *buf, size_t size)
 
int available_impl ()
 
int read_impl (uint8_t *buf, size_t size)
 
int peek_impl ()
 
void flush_impl ()
 
void stop_impl ()
 
uint8_t connected_impl ()
 
SSLSessionget_session_impl (const char *host, const IPAddress &addr)
 
void remove_session_impl (const char *host, const IPAddress &addr)
 
void set_mutual_impl (const SSLClientParameters *params)
 
virtual uint16_t localPort ()=0
 
virtual IPAddress remoteIP ()=0
 
virtual uint16_t remotePort ()=0
 
virtual size_t getSessionCount () const =0
 

Protected Member Functions

virtual Client & get_arduino_client ()=0
 
virtual const Client & get_arduino_client () const =0
 
virtual SSLSessionget_session_array ()=0
 
virtual const SSLSessionget_session_array () const =0
 
void m_print_prefix (const char *func_name, const DebugLevel level) const
 Prints a debugging prefix to all logs, so we can attatch them to useful information. More...
 
void m_print_ssl_error (const int ssl_error, const DebugLevel level) const
 Prints the string associated with a write error. More...
 
void m_print_br_error (const unsigned br_error_code, const DebugLevel level) const
 Print the text string associated with a BearSSL error code. More...
 
template<typename T >
void m_print (const T str, const char *func_name, const DebugLevel level) const
 debugging print function, only prints if m_debug is true More...
 
template<typename T >
void m_info (const T str, const char *func_name) const
 Prints a info message to serial, if info messages are enabled. More...
 
template<typename T >
void m_warn (const T str, const char *func_name) const
 
template<typename T >
void m_error (const T str, const char *func_name) const
 

Detailed Description

Implementation code to be inherited by SSLClient.

Constructor & Destructor Documentation

◆ SSLClientImpl() [1/2]

SSLClientImpl::SSLClientImpl ( const br_x509_trust_anchor *  trust_anchors,
const size_t  trust_anchors_num,
const int  analog_pin,
const DebugLevel  debug 
)
explicit

◆ SSLClientImpl() [2/2]

SSLClientImpl::SSLClientImpl ( const br_x509_trust_anchor *  trust_anchors,
const size_t  trust_anchors_num,
const int  analog_pin,
const DebugLevel  debug,
const SSLClientParameters mutual_auth_params 
)
explicit

Member Function Documentation

◆ available_impl()

int SSLClientImpl::available_impl ( )

◆ connect_impl() [1/2]

int SSLClientImpl::connect_impl ( IPAddress  ip,
uint16_t  port 
)

◆ connect_impl() [2/2]

int SSLClientImpl::connect_impl ( const char *  host,
uint16_t  port 
)

◆ connected_impl()

uint8_t SSLClientImpl::connected_impl ( )

◆ flush_impl()

void SSLClientImpl::flush_impl ( )

◆ get_arduino_client() [1/2]

virtual Client& SSLClientImpl::get_arduino_client ( )
protectedpure virtual

◆ get_arduino_client() [2/2]

virtual const Client& SSLClientImpl::get_arduino_client ( ) const
protectedpure virtual

◆ get_session_array() [1/2]

virtual SSLSession* SSLClientImpl::get_session_array ( )
protectedpure virtual

◆ get_session_array() [2/2]

virtual const SSLSession* SSLClientImpl::get_session_array ( ) const
protectedpure virtual

◆ get_session_impl()

SSLSession & SSLClientImpl::get_session_impl ( const char *  host,
const IPAddress &  addr 
)

◆ getSessionCount()

virtual size_t SSLClientImpl::getSessionCount ( ) const
pure virtual

◆ localPort()

virtual uint16_t SSLClientImpl::localPort ( )
pure virtual

◆ m_error()

template<typename T >
void SSLClientImpl::m_error ( const T  str,
const char *  func_name 
) const
inlineprotected

◆ m_info()

template<typename T >
void SSLClientImpl::m_info ( const T  str,
const char *  func_name 
) const
inlineprotected

Prints a info message to serial, if info messages are enabled.

◆ m_print()

template<typename T >
void SSLClientImpl::m_print ( const T  str,
const char *  func_name,
const DebugLevel  level 
) const
inlineprotected

debugging print function, only prints if m_debug is true

◆ m_print_br_error()

void SSLClientImpl::m_print_br_error ( const unsigned  br_error_code,
const DebugLevel  level 
) const
protected

Print the text string associated with a BearSSL error code.

◆ m_print_prefix()

void SSLClientImpl::m_print_prefix ( const char *  func_name,
const DebugLevel  level 
) const
protected

Prints a debugging prefix to all logs, so we can attatch them to useful information.

◆ m_print_ssl_error()

void SSLClientImpl::m_print_ssl_error ( const int  ssl_error,
const DebugLevel  level 
) const
protected

Prints the string associated with a write error.

◆ m_warn()

template<typename T >
void SSLClientImpl::m_warn ( const T  str,
const char *  func_name 
) const
inlineprotected

◆ peek_impl()

int SSLClientImpl::peek_impl ( )
See also
SSLClient::peek

◆ read_impl()

int SSLClientImpl::read_impl ( uint8_t *  buf,
size_t  size 
)

◆ remoteIP()

virtual IPAddress SSLClientImpl::remoteIP ( )
pure virtual

◆ remotePort()

virtual uint16_t SSLClientImpl::remotePort ( )
pure virtual

◆ remove_session_impl()

void SSLClientImpl::remove_session_impl ( const char *  host,
const IPAddress &  addr 
)

◆ set_mutual_impl()

void SSLClientImpl::set_mutual_impl ( const SSLClientParameters params)

◆ stop_impl()

void SSLClientImpl::stop_impl ( )
See also
SSLClient::stop

◆ write_impl()

size_t SSLClientImpl::write_impl ( const uint8_t *  buf,
size_t  size 
)

The documentation for this class was generated from the following files: