#ifndef ACE_IOS_SSLSOCK_IOSTREAM_CPP #define ACE_IOS_SSLSOCK_IOSTREAM_CPP #include "ace/INet/SSLSock_IOStream.h" #include "ace/INet/IOS_util.h" ACE_BEGIN_VERSIONED_NAMESPACE_DECL namespace ACE { namespace IOS { template SSLSock_StreamBufferBase::SSLSock_StreamBufferBase (stream_type* stream) : BidirStreamBuffer > ( stream, BUFFER_SIZE, std::ios::in | std::ios::out) { } template SSLSock_StreamBufferBase::~SSLSock_StreamBufferBase () { } template SSLSock_IOSBase::SSLSock_IOSBase (stream_type* stream) : streambuf_ (stream) { ace_ios_init (&this->streambuf_); } template SSLSock_IOSBase::~SSLSock_IOSBase () { try { this->streambuf_.sync(); } catch (...) { } } template typename SSLSock_IOSBase::buffer_type* SSLSock_IOSBase::rdbuf () { return &this->streambuf_; } template void SSLSock_IOSBase::close () { this->streambuf_.sync (); this->streambuf_.close_stream (); } template const typename SSLSock_IOSBase::stream_type& SSLSock_IOSBase::stream () const { return this->streambuf_.stream (); } template SSLSock_OStreamBase::SSLSock_OStreamBase(stream_type* stream) : SSLSock_IOSBase (stream), std::ostream (SSLSock_IOSBase::rdbuf ()) { } template SSLSock_OStreamBase::~SSLSock_OStreamBase() { } template void SSLSock_OStreamBase::set_interceptor ( typename buffer_type::interceptor_type& interceptor) { this->rdbuf ()->set_interceptor (interceptor); } template SSLSock_IStreamBase::SSLSock_IStreamBase(stream_type* stream) : SSLSock_IOSBase (stream), std::istream (SSLSock_IOSBase::rdbuf ()) { } template SSLSock_IStreamBase::~SSLSock_IStreamBase () { } template void SSLSock_IStreamBase::set_interceptor ( typename buffer_type::interceptor_type& interceptor) { this->rdbuf ()->set_interceptor (interceptor); } template SSLSock_IOStreamBase::SSLSock_IOStreamBase(stream_type* stream) : SSLSock_IOSBase (stream), std::iostream (SSLSock_IOSBase::rdbuf ()) { } template SSLSock_IOStreamBase::~SSLSock_IOStreamBase () { } template void SSLSock_IOStreamBase::set_interceptor ( typename buffer_type::interceptor_type& interceptor) { this->rdbuf ()->set_interceptor (interceptor); } } } ACE_END_VERSIONED_NAMESPACE_DECL #endif /* ACE_IOS_SSLSOCK_IOSTREAM_CPP */