Mixes for Privacy and Anonymity in the Internet
Public Member Functions | List of all members
CAAbstractXMLEncodable Class Referenceabstract

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

Inheritance diagram for CAAbstractXMLEncodable:
CAAbstractXMLSignable CAXMLErrorMessage

Public Member Functions

 CAAbstractXMLEncodable ()
 
virtual ~CAAbstractXMLEncodable ()
 pure virtual destructor. More...
 
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. More...
 
SINT32 toXmlDocument (XERCES_CPP_NAMESPACE::DOMDocument *&pDoc)
 returns a pointer to the tagname of this XML structure's top level element. More...
 
UINT8toXmlString (UINT32 *pSize)
 Converts the XML structure to a null-terminated C-String representation. More...
 

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

◆ CAAbstractXMLEncodable()

CAAbstractXMLEncodable::CAAbstractXMLEncodable ( )

◆ ~CAAbstractXMLEncodable()

virtual CAAbstractXMLEncodable::~CAAbstractXMLEncodable ( )
virtual

pure virtual destructor.

Define real destructor in your derived class

Member Function Documentation

◆ toXmlDocument()

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().

◆ toXmlElement()

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.

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

◆ toXmlString()

UINT8 * CAAbstractXMLEncodable::toXmlString ( UINT32 pSize)

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().