BLOCXX_NAMESPACE::SSLSocketImpl Class Reference

#include <SSLSocketImpl.hpp>

Inheritance diagram for BLOCXX_NAMESPACE::SSLSocketImpl:

BLOCXX_NAMESPACE::SocketBaseImpl BLOCXX_NAMESPACE::SelectableIFC BLOCXX_NAMESPACE::IOIFC BLOCXX_NAMESPACE::IntrusiveCountableBase

List of all members.

Public Member Functions

 SSLSocketImpl (SSLClientCtxRef sslCtx)
 SSLSocketImpl ()
 SSLSocketImpl (SocketHandle_t fd, SocketAddress::AddressType addrType, const SSLServerCtxRef &sslCtx)
 This constructor is to be used only for server sockets.
 SSLSocketImpl (SocketHandle_t fd, SocketAddress::AddressType addrType)
 This constructor is to be used only for server sockets.
 SSLSocketImpl (const SocketAddress &addr)
virtual ~SSLSocketImpl ()
virtual void connect (const SocketAddress &addr)
virtual void disconnect ()
Select_t getSelectObj () const
SSL * getSSL () const
 return the SSL structure associated with the socket
bool peerCertVerified () const
 Did the peer certificate pass verification?

Private Member Functions

virtual int readAux (void *dataIn, int dataInLen)
virtual int writeAux (const void *dataOut, int dataOutLen)
void connectSSL ()
virtual bool waitForInput (const Timeout &timeout)
 SSLSocketImpl (const SSLSocketImpl &arg)
SSLSocketImploperator= (const SSLSocketImpl &arg)

Private Attributes

SSL * m_ssl
BIO * m_sbio
SSLClientCtxRef m_sslCtx
OWSSLContext m_owctx


Detailed Description

Definition at line 56 of file SSLSocketImpl.hpp.


Constructor & Destructor Documentation

BLOCXX_NAMESPACE::SSLSocketImpl::SSLSocketImpl ( SSLClientCtxRef  sslCtx  ) 

Definition at line 59 of file SSLSocketImpl.cpp.

BLOCXX_NAMESPACE::SSLSocketImpl::SSLSocketImpl (  ) 

Definition at line 144 of file SSLSocketImpl.cpp.

BLOCXX_NAMESPACE::SSLSocketImpl::SSLSocketImpl ( SocketHandle_t  fd,
SocketAddress::AddressType  addrType,
const SSLServerCtxRef sslCtx 
)

BLOCXX_NAMESPACE::SSLSocketImpl::SSLSocketImpl ( SocketHandle_t  fd,
SocketAddress::AddressType  addrType 
)

BLOCXX_NAMESPACE::SSLSocketImpl::SSLSocketImpl ( const SocketAddress addr  ) 

Exceptions:
SocketException 

Definition at line 231 of file SSLSocketImpl.cpp.

References connectSSL().

BLOCXX_NAMESPACE::SSLSocketImpl::~SSLSocketImpl (  )  [virtual]

Definition at line 237 of file SSLSocketImpl.cpp.

References disconnect(), and m_ssl.

BLOCXX_NAMESPACE::SSLSocketImpl::SSLSocketImpl ( const SSLSocketImpl arg  )  [private]


Member Function Documentation

void BLOCXX_NAMESPACE::SSLSocketImpl::connect ( const SocketAddress addr  )  [virtual]

Exceptions:
SocketException 

Reimplemented from BLOCXX_NAMESPACE::SocketBaseImpl.

Definition at line 272 of file SSLSocketImpl.cpp.

References BLOCXX_NAMESPACE::SocketBaseImpl::connect(), and connectSSL().

void BLOCXX_NAMESPACE::SSLSocketImpl::disconnect (  )  [virtual]

Select_t BLOCXX_NAMESPACE::SSLSocketImpl::getSelectObj (  )  const [virtual]

Reimplemented from BLOCXX_NAMESPACE::SocketBaseImpl.

Definition at line 256 of file SSLSocketImpl.cpp.

References BLOCXX_NAMESPACE::SocketBaseImpl::m_sockfd.

SSL * BLOCXX_NAMESPACE::SSLSocketImpl::getSSL (  )  const

return the SSL structure associated with the socket

Returns:
the SSL ptr.

Definition at line 344 of file SSLSocketImpl.cpp.

References m_ssl.

bool BLOCXX_NAMESPACE::SSLSocketImpl::peerCertVerified (  )  const

Did the peer certificate pass verification?

Returns:
true if peer cert passed verification

Definition at line 351 of file SSLSocketImpl.cpp.

References m_owctx, BLOCXX_NAMESPACE::OWSSLContext::peerCertPassedVerify, and BLOCXX_NAMESPACE::OWSSLContext::VERIFY_PASS.

int BLOCXX_NAMESPACE::SSLSocketImpl::readAux ( void *  dataIn,
int  dataInLen 
) [private, virtual]

Exceptions:
SocketException 

Implements BLOCXX_NAMESPACE::SocketBaseImpl.

Definition at line 337 of file SSLSocketImpl.cpp.

References m_ssl, and BLOCXX_NAMESPACE::SSLCtxMgr::sslRead().

int BLOCXX_NAMESPACE::SSLSocketImpl::writeAux ( const void *  dataOut,
int  dataOutLen 
) [private, virtual]

Exceptions:
SocketException 

Implements BLOCXX_NAMESPACE::SocketBaseImpl.

Definition at line 330 of file SSLSocketImpl.cpp.

References m_ssl, and BLOCXX_NAMESPACE::SSLCtxMgr::sslWrite().

void BLOCXX_NAMESPACE::SSLSocketImpl::connectSSL (  )  [private]

bool BLOCXX_NAMESPACE::SSLSocketImpl::waitForInput ( const Timeout timeout  )  [private, virtual]

Reimplemented from BLOCXX_NAMESPACE::SocketBaseImpl.

Definition at line 360 of file SSLSocketImpl.cpp.

References m_ssl, and BLOCXX_NAMESPACE::SocketBaseImpl::waitForInput().

SSLSocketImpl& BLOCXX_NAMESPACE::SSLSocketImpl::operator= ( const SSLSocketImpl arg  )  [private]


Member Data Documentation

Definition at line 112 of file SSLSocketImpl.hpp.

Referenced by connectSSL(), and SSLSocketImpl().

Definition at line 119 of file SSLSocketImpl.hpp.

Referenced by connectSSL().

Definition at line 125 of file SSLSocketImpl.hpp.

Referenced by peerCertVerified(), and SSLSocketImpl().


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

Generated on Wed Feb 25 19:05:14 2009 for blocxx by  doxygen 1.5.6