TAO::SSLIOP::OpenSSL_traits< ::SSL > Struct Template Reference

#include <SSLIOP_SSL.h>

List of all members.

Public Types

 LOCK_ID = CRYPTO_LOCK_SSL
enum  { LOCK_ID = CRYPTO_LOCK_SSL }

Static Public Member Functions

::SSL * _duplicate (::SSL *st)
 Increase the reference count on the given OpenSSL structure.
::SSL * copy (::SSL const &st)
 Perform deep copy of the given OpenSSL structure.
static void release (::SSL *st)


Detailed Description

template<>
struct TAO::SSLIOP::OpenSSL_traits< ::SSL >

Definition at line 40 of file SSLIOP_SSL.h.


Member Enumeration Documentation

anonymous enum

OpenSSL lock ID for use in OpenSSL CRYPTO_add() reference count manipulation function.

Enumerator:
LOCK_ID 

Definition at line 44 of file SSLIOP_SSL.h.

00044 { LOCK_ID = CRYPTO_LOCK_SSL };


Member Function Documentation

::SSL* TAO::SSLIOP::OpenSSL_traits< ::SSL >::_duplicate ( ::SSL *  st  )  [inline, static]

Increase the reference count on the given OpenSSL structure.

Note:
This used to be in a function template but MSVC++ 6 can't handle function templates correctly so reproduce the code in each specialization. *sigh*

Definition at line 52 of file SSLIOP_SSL.h.

00053       {
00054         if (st != 0)
00055           CRYPTO_add (&(st->references),
00056                       1,
00057                       LOCK_ID);
00058 
00059         return st;
00060       }

::SSL* TAO::SSLIOP::OpenSSL_traits< ::SSL >::copy ( ::SSL const &  st  )  [inline, static]

Perform deep copy of the given OpenSSL structure.

Definition at line 63 of file SSLIOP_SSL.h.

00064       {
00065         return ::SSL_dup (const_cast< ::SSL * > (&st));
00066       }

static void TAO::SSLIOP::OpenSSL_traits< ::SSL >::release ( ::SSL *  st  )  [inline, static]

Decrease the reference count on the given OpenSSL structure.

Definition at line 70 of file SSLIOP_SSL.h.

00071       {
00072         ::SSL_free (st);
00073       }


The documentation for this struct was generated from the following file:
Generated on Tue Feb 2 17:48:59 2010 for TAO_SSLIOP by  doxygen 1.4.7