Deskflow 1.22.0.197
Keyboard and mouse sharing utility
Loading...
Searching...
No Matches
SecureSocket Class Reference

Secure socket. More...

#include <SecureSocket.h>

Inheritance diagram for SecureSocket:
Collaboration diagram for SecureSocket:

Public Member Functions

 SecureSocket (IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::AddressFamily family, SecurityLevel securityLevel=SecurityLevel::Encrypted)
 SecureSocket (IEventQueue *events, SocketMultiplexer *socketMultiplexer, ArchSocket socket, SecurityLevel securityLevel=SecurityLevel::Encrypted)
 SecureSocket (SecureSocket const &)=delete
 SecureSocket (SecureSocket &&)=delete
 ~SecureSocket () override
SecureSocketoperator= (SecureSocket const &)=delete
SecureSocketoperator= (SecureSocket &&)=delete
void close () override
 Close socket.
void connect (const NetworkAddress &) override
 Connect socket.
ISocketMultiplexerJobnewJob () override
bool isFatal () const override
void isFatal (bool b)
bool isSecureReady () const
void secureConnect ()
void secureAccept ()
int secureRead (void *buffer, int size, int &read)
int secureWrite (const void *buffer, int size, int &wrote)
JobResult doRead () override
JobResult doWrite () override
void initSsl (bool server)
bool loadCertificates (const std::string &CertFile)
Public Member Functions inherited from TCPSocket
 TCPSocket (IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::AddressFamily family=IArchNetwork::AddressFamily::INet)
 TCPSocket (IEventQueue *events, SocketMultiplexer *socketMultiplexer, ArchSocket socket)
 TCPSocket (TCPSocket const &)=delete
 TCPSocket (TCPSocket &&)=delete
 ~TCPSocket () override
TCPSocketoperator= (TCPSocket const &)=delete
TCPSocketoperator= (TCPSocket &&)=delete
void bind (const NetworkAddress &) override
 Bind socket to address.
void close () override
 Close socket.
void * getEventTarget () const override
 Get event target.
uint32_t read (void *buffer, uint32_t n) override
 Read from stream.
void write (const void *buffer, uint32_t n) override
 Write to stream.
void flush () override
 Flush the stream.
void shutdownInput () override
 Shutdown input.
void shutdownOutput () override
 Shutdown output.
bool isReady () const override
 Test if read() will succeed.
bool isFatal () const override
uint32_t getSize () const override
 Get bytes available to read.
void connect (const NetworkAddress &) override
 Connect socket.
Public Member Functions inherited from IDataSocket
 IDataSocket (const IEventQueue *events)
Public Member Functions inherited from ISocket
Public Member Functions inherited from IInterface
virtual ~IInterface ()=default
 Interface destructor does nothing.
Public Member Functions inherited from deskflow::IStream
 IStream ()=default

Additional Inherited Members

Protected Types inherited from TCPSocket
enum class  JobResult { Break = -1 , Retry , New }
Protected Member Functions inherited from TCPSocket
ArchSocket getSocket ()
IEventQueuegetEvents ()
void setJob (ISocketMultiplexerJob *)
bool isConnected () const
void setConnected (bool connected)
bool isReadable () const
void setReadable (bool readable)
bool isWritable () const
void setWritable (bool canWrite)
MutexgetMutex ()
void sendEvent (EventTypes)
void discardWrittenData (int bytesWrote)
Protected Attributes inherited from TCPSocket
IEventQueuem_events
StreamBuffer m_inputBuffer
StreamBuffer m_outputBuffer

Detailed Description

Secure socket.

A secure socket using SSL.

Constructor & Destructor Documentation

◆ SecureSocket() [1/4]

SecureSocket::SecureSocket ( IEventQueue * events,
SocketMultiplexer * socketMultiplexer,
IArchNetwork::AddressFamily family,
SecurityLevel securityLevel = SecurityLevel::Encrypted )

◆ SecureSocket() [2/4]

SecureSocket::SecureSocket ( IEventQueue * events,
SocketMultiplexer * socketMultiplexer,
ArchSocket socket,
SecurityLevel securityLevel = SecurityLevel::Encrypted )

◆ SecureSocket() [3/4]

SecureSocket::SecureSocket ( SecureSocket const & )
delete

◆ SecureSocket() [4/4]

SecureSocket::SecureSocket ( SecureSocket && )
delete

◆ ~SecureSocket()

SecureSocket::~SecureSocket ( )
override

Member Function Documentation

◆ close()

void SecureSocket::close ( )
overridevirtual

Close socket.

Closes the socket. This should flush the output stream.

Reimplemented from IDataSocket.

◆ connect()

void SecureSocket::connect ( const NetworkAddress & )
overridevirtual

Connect socket.

Attempt to connect to a remote endpoint. This returns immediately and sends a connected event when successful or a connection failed event when it fails. The stream acts as if shutdown for input and output until the stream connects.

Implements IDataSocket.

◆ doRead()

TCPSocket::JobResult SecureSocket::doRead ( )
overridevirtual

Reimplemented from TCPSocket.

◆ doWrite()

TCPSocket::JobResult SecureSocket::doWrite ( )
overridevirtual

Reimplemented from TCPSocket.

◆ initSsl()

void SecureSocket::initSsl ( bool server)

◆ isFatal() [1/2]

bool SecureSocket::isFatal ( ) const
inlineoverridevirtual

Implements IDataSocket.

◆ isFatal() [2/2]

void SecureSocket::isFatal ( bool b)
inline

◆ isSecureReady()

bool SecureSocket::isSecureReady ( ) const

◆ loadCertificates()

bool SecureSocket::loadCertificates ( const std::string & CertFile)

◆ newJob()

ISocketMultiplexerJob * SecureSocket::newJob ( )
overridevirtual

Reimplemented from TCPSocket.

◆ operator=() [1/2]

SecureSocket & SecureSocket::operator= ( SecureSocket && )
delete

◆ operator=() [2/2]

SecureSocket & SecureSocket::operator= ( SecureSocket const & )
delete

◆ secureAccept()

void SecureSocket::secureAccept ( )

◆ secureConnect()

void SecureSocket::secureConnect ( )

◆ secureRead()

int SecureSocket::secureRead ( void * buffer,
int size,
int & read )

◆ secureWrite()

int SecureSocket::secureWrite ( const void * buffer,
int size,
int & wrote )

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