00001 // -*- C++ -*- 00002 // 00003 // $Id: SSL_X509Cert.inl 91118 2010-07-17 10:29:57Z mcorino $ 00004 00005 ACE_BEGIN_VERSIONED_NAMESPACE_DECL 00006 00007 namespace ACE 00008 { 00009 namespace INet 00010 { 00011 00012 ACE_INLINE 00013 SSL_X509Cert::SSL_X509Cert () 00014 : ssl_cert_ (0) 00015 { 00016 } 00017 00018 ACE_INLINE 00019 SSL_X509Cert::SSL_X509Cert (::X509* ssl_cert) 00020 : ssl_cert_ (0) 00021 { 00022 *this = ssl_cert; 00023 } 00024 00025 ACE_INLINE 00026 SSL_X509Cert::SSL_X509Cert (const SSL_X509Cert& cert) 00027 { 00028 *this = cert; 00029 } 00030 00031 ACE_INLINE 00032 SSL_X509Cert::~SSL_X509Cert () 00033 { 00034 } 00035 00036 ACE_INLINE 00037 SSL_X509Cert& SSL_X509Cert::operator= (::X509* ssl_cert) 00038 { 00039 if (this->ssl_cert_ != 0) 00040 ::X509_free (this->ssl_cert_); 00041 00042 if (ssl_cert != 0) 00043 CRYPTO_add (&(ssl_cert->references), 00044 1, 00045 CRYPTO_LOCK_X509); 00046 this->ssl_cert_ = ssl_cert; 00047 return *this; 00048 } 00049 00050 ACE_INLINE 00051 SSL_X509Cert& SSL_X509Cert::operator= (const SSL_X509Cert& ssl_cert) 00052 { 00053 return (*this = &(const_cast<SSL_X509Cert&> (ssl_cert))); 00054 } 00055 00056 ACE_INLINE 00057 ::X509* SSL_X509Cert::operator & (void) 00058 { 00059 return this->ssl_cert_; 00060 } 00061 00062 } 00063 } 00064 00065 ACE_END_VERSIONED_NAMESPACE_DECL