From: Scott Cantor Date: Tue, 31 Aug 2010 20:40:43 +0000 (+0000) Subject: Add a reset method. X-Git-Tag: 1.4RC1~39 X-Git-Url: http://www.project-moonshot.org/gitweb/?a=commitdiff_plain;ds=sidebyside;h=213b5a5ce28837fa8966376a3f46a3eef96be329;p=shibboleth%2Fcpp-xmltooling.git Add a reset method. --- diff --git a/xmltooling/security/CredentialCriteria.h b/xmltooling/security/CredentialCriteria.h index f163985..131f9a6 100644 --- a/xmltooling/security/CredentialCriteria.h +++ b/xmltooling/security/CredentialCriteria.h @@ -221,6 +221,11 @@ namespace xmltooling { */ void setSignature(const xmlsignature::Signature& sig, int extraction=0); + /** + * Resets object to a default state. + */ + virtual void reset(); + private: unsigned int m_keyUsage; unsigned int m_keySize,m_maxKeySize; diff --git a/xmltooling/security/impl/CredentialCriteria.cpp b/xmltooling/security/impl/CredentialCriteria.cpp index b52e4d3..fb1dc19 100644 --- a/xmltooling/security/impl/CredentialCriteria.cpp +++ b/xmltooling/security/impl/CredentialCriteria.cpp @@ -200,6 +200,17 @@ void CredentialCriteria::setSignature(const Signature& sig, int extraction) setNativeKeyInfo(dsig->getKeyInfoList(), extraction); } +void CredentialCriteria::reset() +{ + setUsage(Credential::UNSPECIFIED_CREDENTIAL); + setKeySize(0); + setMaxKeySize(0); + setKeyAlgorithm(nullptr); + getKeyNames().clear(); + setKeyInfo(nullptr); + setNativeKeyInfo(nullptr); +} + bool CredentialCriteria::matches(const Credential& credential) const { Category& log = Category::getInstance(XMLTOOLING_LOGCAT".CredentialCriteria");