Use a variable on the stack to not have a temporary in the call
[ACE_TAO.git] / ACE / protocols / ace / INet / SSL_X509Cert.h
blobd030af4b9ce31cbf816866bee363c553cb2759cf
1 /**
2 * @file SSL_X509Cert.h
4 * @author Martin Corino <mcorino@remedy.nl>
5 */
7 #ifndef ACE_SSL_X509CERT_H
8 #define ACE_SSL_X509CERT_H
10 #include /**/ "ace/pre.h"
12 #include <openssl/x509.h>
13 #include <openssl/crypto.h>
14 #include "ace/INet/INet_SSL_Export.h"
16 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
18 namespace ACE
20 namespace INet
22 /**
23 * @class ACE_INet_SSL_X509Cert
25 * @brief Encapsulates an SSL X509 certificate object.
27 * Provides reference counting for the X509 certificate object.
29 class ACE_INET_SSL_Export SSL_X509Cert
31 public:
32 SSL_X509Cert ();
33 SSL_X509Cert (::X509* ssl_cert);
34 SSL_X509Cert (const SSL_X509Cert& cert);
35 ~SSL_X509Cert ();
37 SSL_X509Cert& operator= (::X509* ssl_cert);
38 SSL_X509Cert& operator= (const SSL_X509Cert& ssl_cert);
40 ::X509* operator & ();
42 private:
43 ::X509* ssl_cert_;
48 ACE_END_VERSIONED_NAMESPACE_DECL
50 #if defined (__ACE_INLINE__)
51 #include "ace/INet/SSL_X509Cert.inl"
52 #endif
54 #include /**/ "ace/post.h"
55 #endif /* ACE_SSL_X509CERT_H */