Reducing header overuse, non-inlining selected methods (CPPOST-35).
[shibboleth/cpp-opensaml.git] / saml / binding / SAMLArtifact.h
index 9cdd958..9e7aa0d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  Copyright 2001-2007 Internet2
+ *  Copyright 2001-2009 Internet2
  * 
  * 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 saml/binding/SAMLArtifact.h
  * 
- * Base class for SAML 1.x and 2.0 artifacts 
+ * Base class for SAML 1.x and 2.0 artifacts.
  */
 
 #ifndef __saml_artifact_h__
@@ -26,7 +26,6 @@
 #include <saml/base.h>
 
 #include <string>
-#include <xmltooling/unicode.h>
 
 namespace opensaml {
 
@@ -57,9 +56,7 @@ namespace opensaml {
          * 
          * @return the binary artifact data
          */
-        virtual std::string getBytes() const {
-            return m_raw;
-        }
+        virtual std::string getBytes() const;
 
         /**
          * Returns the binary type code of the artifact.
@@ -67,9 +64,7 @@ namespace opensaml {
          * 
          * @return the binary type code
          */
-        virtual std::string getTypeCode() const {
-            return m_raw.substr(0,TYPECODE_LENGTH);
-        }
+        virtual std::string getTypeCode() const;
         
         /**
          * Returns the binary artifact data following the type code.
@@ -77,9 +72,7 @@ namespace opensaml {
          * 
          * @return the binary artifact data
          */
-        virtual std::string getRemainingArtifact() const {
-            return m_raw.substr(TYPECODE_LENGTH);
-        }
+        virtual std::string getRemainingArtifact() const;
         
         /**
          * Returns a string that identifies the source of the artifact.
@@ -118,10 +111,7 @@ namespace opensaml {
          * @param s base64-encoded artifact
          * @return the decoded artifact
          */
-        static SAMLArtifact* parse(const XMLCh* s) {
-            xmltooling::auto_ptr_char temp(s);
-            return parse(temp.get());
-        }
+        static SAMLArtifact* parse(const XMLCh* s);
 
         /**
          * Converts binary data to hex notation.