Reducing header overuse, non-inlining selected methods (CPPOST-35).
[shibboleth/xmltooling.git] / xmltooling / security / OpenSSLCryptoX509CRL.h
index 55b40a6..fd243ae 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2001-2007 The Apache Software Foundation.
+ * Copyright 2001-2009 The Apache Software Foundation.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,7 +17,7 @@
 /**
  * @file xmltooling/security/OpenSSLCryptoX509CRL.h
  * 
- * OpenSSL-based class for handling X.509 CRLs
+ * OpenSSL-based class for handling X.509 CRLs.
  */
 
 #if !defined(__xmltooling_opensslx509crl_h__) && !defined(XMLTOOLING_NO_XMLSEC)
@@ -25,7 +25,6 @@
 
 #include <xmltooling/security/XSECCryptoX509CRL.h>
 
-#include <openssl/bio.h>
 #include <openssl/x509v3.h>
 #include <xsec/utils/XSECSafeBuffer.hpp>
 
@@ -35,14 +34,15 @@ namespace xmltooling {
      */
     class XMLTOOL_API OpenSSLCryptoX509CRL : public XSECCryptoX509CRL {
     public:
+        /** Default constructor. */
        OpenSSLCryptoX509CRL() : mp_X509CRL(NULL), m_DERX509CRL("") {}
        virtual ~OpenSSLCryptoX509CRL();
 
-       virtual const XMLCh* getProviderName() const {
+       const XMLCh* getProviderName() const {
             return DSIGConstants::s_unicodeStrPROVOpenSSL;
         }
-       virtual void loadX509CRLBase64Bin(const char* buf, unsigned int len);
-       virtual safeBuffer& getDEREncodingSB(void) {
+       void loadX509CRLBase64Bin(const char* buf, unsigned int len);
+       safeBuffer& getDEREncodingSB(void) {
             return m_DERX509CRL;
         }
     
@@ -62,12 +62,7 @@ namespace xmltooling {
             return mp_X509CRL;
         }
 
-        XSECCryptoX509CRL* clone() const {
-            OpenSSLCryptoX509CRL* copy = new OpenSSLCryptoX509CRL();
-            copy->mp_X509CRL = X509_CRL_dup(mp_X509CRL);
-            copy->m_DERX509CRL = m_DERX509CRL;
-            return copy;
-        }
+        XSECCryptoX509CRL* clone() const;
     
     private:
        X509_CRL* mp_X509CRL;