Mixes for Privacy and Anonymity in the Internet
Public Member Functions
CAAbstractXMLEncodable Class Reference

Abstract base class for classes which can be converted to an XML structure. More...

Inheritance diagram for CAAbstractXMLEncodable:
CAAbstractXMLSignable CAXMLBI CAXMLErrorMessage CAXMLPriceCert

List of all members.

Public Member Functions

 CAAbstractXMLEncodable ()
virtual ~CAAbstractXMLEncodable ()
 pure virtual destructor.
virtual SINT32 toXmlElement (XERCES_CPP_NAMESPACE::DOMDocument *a_pDoc, DOMElement *&pElemRoot)=0
 Creates the XML structure inside an existing DOM_Document, but does not append it to any node.
SINT32 toXmlDocument (XERCES_CPP_NAMESPACE::DOMDocument *&pDoc)
 returns a pointer to the tagname of this XML structure's top level element.
UINT8toXmlString (UINT32 *pSize)
 Converts the XML structure to a null-terminated C-String representation.

Detailed Description

Abstract base class for classes which can be converted to an XML structure.

This corresponds to anon.util.IXMLEncodable in the Java implementation

Author:
Bastian Voigt

Constructor & Destructor Documentation

pure virtual destructor.

Define real destructor in your derived class


Member Function Documentation

SINT32 CAAbstractXMLEncodable::toXmlDocument ( XERCES_CPP_NAMESPACE::DOMDocument *&  pDoc)

returns a pointer to the tagname of this XML structure's top level element.

The buffer is allocated dynamically, the caller must delete[] it !! This is commented out because virtual static functions are not allowed, but should be implemented by subclasses nevertheless.. Creates a new XML document, then calls toXmlElement and appends the element as DocumentElement.

References createDOMDocument(), E_SUCCESS, and toXmlElement().

Referenced by CAAccountingInstance::finishLoginProcess(), CAAccountingInstance::handleAccountCertificate_internal(), CAAccountingInstance::handleChallengeResponse_internal(), CAAccountingInstance::handleCostConfirmation_internal(), CAAccountingInstance::processJapMessageLoginHelper(), CAAccountingInstance::returnPrepareKickout(), and toXmlString().

virtual SINT32 CAAbstractXMLEncodable::toXmlElement ( XERCES_CPP_NAMESPACE::DOMDocument *  a_pDoc,
DOMElement *&  pElemRoot 
) [pure virtual]

Creates the XML structure inside an existing DOM_Document, but does not append it to any node.

Parameters:
a_docan existing DOM_Document
elemRooton return contains the root element of the created XML structure. Note that the element is not appended to any node in the document

Implemented in CAXMLErrorMessage, CAXMLBI, and CAXMLPriceCert.

Referenced by toXmlDocument(), and CAXMLErrorMessage::toXmlElement().

Converts the XML structure to a null-terminated C-String representation.

Parameters:
sizeon return contains the size of the allocated buffer
Returns:
a newly allocated buffer which must be delete[] by the caller

References DOM_Output::dumpToMem(), and toXmlDocument().