TAO::SSLIOP::OpenSSL_st_var< T > Class Template Reference

"_var" class for the OpenSSL More...

#include <SSLIOP_OpenSSL_st_T.h>

Collaboration diagram for TAO::SSLIOP::OpenSSL_st_var< T >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ~OpenSSL_st_var (void)
 Destructor.

T const * operator-> (void) const
T * operator-> (void)
 operator const T & () const
 operator T & ()
T * in (void) const
T *& inout (void)
T *& out (void)
T * _retn (void)
T * ptr (void) const
Constructors
Constructors.

 OpenSSL_st_var (void)
 OpenSSL_st_var (T *st)
 OpenSSL_st_var (OpenSSL_st_var< T > const &v)
 OpenSSL_st_var (T const &st)
Assignment operators.
Assignment operators.

OpenSSL_st_var< T > & operator= (T *st)
OpenSSL_st_var< T > & operator= (OpenSSL_st_var< T > const &v)
OpenSSL_st_var< T > & operator= (T const &st)

Private Attributes

T * st_
 The OpenSSL structure whose reference count is managed.


Detailed Description

template<typename T>
class TAO::SSLIOP::OpenSSL_st_var< T >

"_var" class for the OpenSSL

Parameters:
T structure.
This class is simply used to make operations on instances of the OpenSSL T structure exception safe. It is only used internally by the SSLIOP pluggable transport.

Definition at line 71 of file SSLIOP_OpenSSL_st_T.h.


Constructor & Destructor Documentation

template<typename T>
ACE_INLINE TAO::SSLIOP::OpenSSL_st_var< T >::OpenSSL_st_var void   ) 
 

Definition at line 42 of file SSLIOP_OpenSSL_st_T.inl.

00043   : st_ (0)
00044 {
00045 }

template<typename T>
ACE_INLINE TAO::SSLIOP::OpenSSL_st_var< T >::OpenSSL_st_var T *  st  ) 
 

Definition at line 48 of file SSLIOP_OpenSSL_st_T.inl.

00049   : st_ (st)
00050 {
00051 }

template<typename T>
ACE_INLINE TAO::SSLIOP::OpenSSL_st_var< T >::OpenSSL_st_var OpenSSL_st_var< T > const &  v  ) 
 

Definition at line 54 of file SSLIOP_OpenSSL_st_T.inl.

00056   : st_ (TAO::SSLIOP::OpenSSL_traits<T>::_duplicate (st.ptr ()))
00057 {
00058 }

template<typename T>
ACE_INLINE TAO::SSLIOP::OpenSSL_st_var< T >::OpenSSL_st_var T const &  st  ) 
 

Definition at line 61 of file SSLIOP_OpenSSL_st_T.inl.

00062   : st_ (TAO::SSLIOP::OpenSSL_traits<T>::copy (st))
00063 {
00064 }

template<typename T>
ACE_INLINE TAO::SSLIOP::OpenSSL_st_var< T >::~OpenSSL_st_var void   ) 
 

Destructor.

Definition at line 67 of file SSLIOP_OpenSSL_st_T.inl.

References TAO::SSLIOP::release().

00068 {
00069   TAO::SSLIOP::OpenSSL_traits<T>::release (this->st_);
00070   //  TAO::SSLIOP::release (this->st_);
00071 }


Member Function Documentation

template<typename T>
ACE_INLINE T * TAO::SSLIOP::OpenSSL_st_var< T >::_retn void   ) 
 

Definition at line 151 of file SSLIOP_OpenSSL_st_T.inl.

References TAO::SSLIOP::OpenSSL_st_var< T >::st_.

Referenced by ACE_RCSID().

00152 {
00153   // Yield ownership of the OpenSSL structure.
00154   T * st = this->st_;
00155   this->st_ = 0;
00156   return st;
00157 }

template<typename T>
ACE_INLINE T * TAO::SSLIOP::OpenSSL_st_var< T >::in void   )  const
 

Definition at line 131 of file SSLIOP_OpenSSL_st_T.inl.

References TAO::SSLIOP::OpenSSL_st_var< T >::st_.

Referenced by ACE_RCSID(), TAO::SSLIOP::CredentialsAcquirer::get_credentials(), TAO::SSLIOP_Credentials::hash(), and TAO::SSLIOP_Credentials::operator==().

00132 {
00133   return this->st_;
00134 }

template<typename T>
ACE_INLINE T *& TAO::SSLIOP::OpenSSL_st_var< T >::inout void   ) 
 

Definition at line 137 of file SSLIOP_OpenSSL_st_T.inl.

References TAO::SSLIOP::OpenSSL_st_var< T >::st_.

00138 {
00139   return this->st_;
00140 }

template<typename T>
TAO::SSLIOP::OpenSSL_st_var< T >::operator const T &  )  const
 

template<typename T>
ACE_INLINE TAO::SSLIOP::OpenSSL_st_var< T >::operator T &  ) 
 

Definition at line 125 of file SSLIOP_OpenSSL_st_T.inl.

References TAO::SSLIOP::OpenSSL_st_var< T >::st_.

00126 {
00127   return *this->st_;
00128 }

template<typename T>
ACE_INLINE T * TAO::SSLIOP::OpenSSL_st_var< T >::operator-> void   ) 
 

Definition at line 113 of file SSLIOP_OpenSSL_st_T.inl.

References TAO::SSLIOP::OpenSSL_st_var< T >::st_.

00114 {
00115   return this->st_;
00116 }

template<typename T>
ACE_INLINE T const * TAO::SSLIOP::OpenSSL_st_var< T >::operator-> void   )  const
 

Definition at line 107 of file SSLIOP_OpenSSL_st_T.inl.

References TAO::SSLIOP::OpenSSL_st_var< T >::st_.

00108 {
00109   return this->st_;
00110 }

template<typename T>
ACE_INLINE TAO::SSLIOP::OpenSSL_st_var< T > & TAO::SSLIOP::OpenSSL_st_var< T >::operator= T const &  st  ) 
 

Definition at line 95 of file SSLIOP_OpenSSL_st_T.inl.

References TAO::SSLIOP::copy(), TAO::SSLIOP::release(), and TAO::SSLIOP::OpenSSL_st_var< T >::st_.

00096 {
00097   if (this->st_ != &st)
00098     {
00099       TAO::SSLIOP::OpenSSL_traits<T>::release (this->st_);
00100       this->st_ = TAO::SSLIOP::OpenSSL_traits<T>::copy (st);
00101     }
00102 
00103   return *this;
00104 }

template<typename T>
ACE_INLINE TAO::SSLIOP::OpenSSL_st_var< T > & TAO::SSLIOP::OpenSSL_st_var< T >::operator= OpenSSL_st_var< T > const &  v  ) 
 

Definition at line 82 of file SSLIOP_OpenSSL_st_T.inl.

References TAO::SSLIOP::_duplicate(), TAO::SSLIOP::OpenSSL_st_var< T >::ptr(), TAO::SSLIOP::release(), and TAO::SSLIOP::OpenSSL_st_var< T >::st_.

00084 {
00085   if (this != &st)
00086     {
00087       TAO::SSLIOP::OpenSSL_traits<T>::release (this->st_);
00088       this->st_ = TAO::SSLIOP::OpenSSL_traits<T>::_duplicate (st.ptr ());
00089     }
00090 
00091   return *this;
00092 }

template<typename T>
ACE_INLINE TAO::SSLIOP::OpenSSL_st_var< T > & TAO::SSLIOP::OpenSSL_st_var< T >::operator= T *  st  ) 
 

Definition at line 74 of file SSLIOP_OpenSSL_st_T.inl.

References TAO::SSLIOP::release(), and TAO::SSLIOP::OpenSSL_st_var< T >::st_.

00075 {
00076   TAO::SSLIOP::OpenSSL_traits<T>::release (this->st_);
00077   this->st_ = st;
00078   return *this;
00079 }

template<typename T>
ACE_INLINE T *& TAO::SSLIOP::OpenSSL_st_var< T >::out void   ) 
 

Definition at line 143 of file SSLIOP_OpenSSL_st_T.inl.

References TAO::SSLIOP::release(), and TAO::SSLIOP::OpenSSL_st_var< T >::st_.

00144 {
00145   TAO::SSLIOP::OpenSSL_traits<T>::release (this->st_);
00146   this->st_ = 0;
00147   return this->st_;
00148 }

template<typename T>
ACE_INLINE T * TAO::SSLIOP::OpenSSL_st_var< T >::ptr void   )  const
 

Definition at line 160 of file SSLIOP_OpenSSL_st_T.inl.

References TAO::SSLIOP::OpenSSL_st_var< T >::st_.

Referenced by TAO::SSLIOP::OpenSSL_st_var< T >::operator=().

00161 {
00162   return this->st_;
00163 }


Member Data Documentation

template<typename T>
T* TAO::SSLIOP::OpenSSL_st_var< T >::st_ [private]
 

The OpenSSL structure whose reference count is managed.

Definition at line 116 of file SSLIOP_OpenSSL_st_T.h.

Referenced by TAO::SSLIOP::OpenSSL_st_var< T >::_retn(), TAO::SSLIOP::OpenSSL_st_var< T >::in(), TAO::SSLIOP::OpenSSL_st_var< T >::inout(), TAO::SSLIOP::OpenSSL_st_var< T >::operator T &(), TAO::SSLIOP::OpenSSL_st_var< T >::operator->(), TAO::SSLIOP::OpenSSL_st_var< T >::operator=(), TAO::SSLIOP::OpenSSL_st_var< T >::out(), and TAO::SSLIOP::OpenSSL_st_var< T >::ptr().


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 13:56:00 2006 for TAO_SSLIOP by doxygen 1.3.6