+ class XMLTOOL_DLLLOCAL X509DigestImpl : public virtual X509Digest,
+ public AbstractComplexElement,
+ public AbstractDOMCachingXMLObject,
+ public AbstractXMLObjectMarshaller,
+ public AbstractXMLObjectUnmarshaller
+ {
+ public:
+ virtual ~X509DigestImpl() {
+ XMLString::release(&m_Algorithm);
+ }
+
+ X509DigestImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
+ : AbstractXMLObject(nsURI, localName, prefix, schemaType), m_Algorithm(nullptr) {
+ }
+
+ X509DigestImpl(const X509DigestImpl& src)
+ : AbstractXMLObject(src), AbstractComplexElement(src), AbstractDOMCachingXMLObject(src), m_Algorithm(nullptr) {
+ setAlgorithm(src.getAlgorithm());
+ }
+
+ IMPL_XMLOBJECT_CLONE(X509Digest);
+ IMPL_STRING_ATTRIB(Algorithm);
+
+ protected:
+ void marshallAttributes(DOMElement* domElement) const {
+ MARSHALL_STRING_ATTRIB(Algorithm,ALGORITHM,nullptr);
+ }
+
+ void processAttribute(const DOMAttr* attribute) {
+ PROC_STRING_ATTRIB(Algorithm,ALGORITHM,nullptr);
+ AbstractXMLObjectUnmarshaller::processAttribute(attribute);
+ }
+ };
+
+