Major revamp of credential and trust handling code, PKIX engine still needs work.
[shibboleth/cpp-xmltooling.git] / xmltooling / signature / Signature.h
index 0896ce9..d26ccb8 100644 (file)
@@ -122,8 +122,10 @@ namespace xmlsignature {
         /**
          * Compute and append the signature based on the assigned
          * ContentReference, KeyInfo, and signing key.
+         *
+         * @param credential    optional source of signing key and KeyInfo
          */
-        virtual void sign()=0;
+        virtual void sign(const xmltooling::Credential* credential=NULL)=0;
 
         /**
          * Type-safe clone operation.
@@ -187,7 +189,11 @@ namespace xmlsignature {
     class XMLTOOL_API SignatureBuilder : public xmltooling::XMLObjectBuilder
     {
     public:
+#ifdef HAVE_COVARIANT_RETURNS
         virtual Signature* buildObject(
+#else
+        virtual xmltooling::XMLObject* buildObject(
+#endif
             const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix=NULL, const xmltooling::QName* schemaType=NULL
             ) const;