Public Member Functions

regina::NXMLFilterPacketReader Class Reference
[Normal Surfaces]

An XML packet reader that reads a single surface filter. More...

#include <nxmlfilterreader.h>

Inheritance diagram for regina::NXMLFilterPacketReader:
regina::NXMLPacketReader regina::NXMLElementReader

List of all members.

Public Member Functions

 NXMLFilterPacketReader (NPacket *newParent)
 Creates a new surface filter packet reader.
virtual NPacketgetPacket ()
 Returns the newly allocated packet that has been read by this element reader.
virtual NXMLElementReaderstartContentSubElement (const std::string &subTagName, const regina::xml::XMLPropertyDict &subTagProps)
 Used instead of startSubElement() for XML subelements that are not child packets or packet tags.
virtual void endContentSubElement (const std::string &subTagName, NXMLElementReader *subReader)
 Used instead of endSubElement() for XML subelements that are not child packets or packet tags.

Detailed Description

An XML packet reader that reads a single surface filter.

The filter type will be determined by this class and an appropriate NXMLFilterReader will be used to process the type-specific details.

Precondition:
The parent XML element reader is in fact an NXMLPacketReader.
Python:
Not present.

Constructor & Destructor Documentation

regina::NXMLFilterPacketReader::NXMLFilterPacketReader ( NPacket newParent ) [inline]

Creates a new surface filter packet reader.

Parameters:
newParentthe parent packet of the filter to be read, or 0 if this filter is to be tree matriarch.

Member Function Documentation

virtual void regina::NXMLFilterPacketReader::endContentSubElement ( const std::string &  subTagName,
NXMLElementReader subReader 
) [virtual]

Used instead of endSubElement() for XML subelements that are not child packets or packet tags.

The default implementation does nothing.

Parameters:
subTagNamethe name of the subelement closing tag.
subReaderthe child reader that was used to parse the subelement (this is the reader that was returned by the corresponding startContentSubElement() call). It is guaranteed that endElement() has already been called upon this child reader and that the child reader has not yet been destroyed.

Reimplemented from regina::NXMLPacketReader.

NPacket * regina::NXMLFilterPacketReader::getPacket (  ) [inline, virtual]

Returns the newly allocated packet that has been read by this element reader.

Deallocation of this new packet is not the responsibility of this class. Once this routine gives a non-zero return value, it should continue to give the same non-zero return value from this point onwards.

If this routine is ever to give a non-zero return value, it must be giving that non-zero return value by the time the first child packet or packet tag is encountered; otherwise child packets will not be inserted into the packet tree and/or packet tags will not be added.

The newly allocated packet should not be given a packet label. This will be done by NXMLPacketReader::endSubElement().

The newly allocated packet may or may not be inserted in the packet tree structure; this does not matter (although if it is inserted it must be inserted in the correct place).

The newly allocated packet should not be given any associated packet tags. This will be done by NXMLPacketReader::startSubElement().

The default implementation returns 0.

Returns:
the packet that has been read, or 0 if packet reading is incomplete, the packet should be ignored or an error occurred.

Reimplemented from regina::NXMLPacketReader.

virtual NXMLElementReader* regina::NXMLFilterPacketReader::startContentSubElement ( const std::string &  subTagName,
const regina::xml::XMLPropertyDict subTagProps 
) [virtual]

Used instead of startSubElement() for XML subelements that are not child packets or packet tags.

The default implementation returns a new NXMLElementReader which can be used to ignore the subelement completely.

Parameters:
subTagNamethe name of the subelement opening tag.
subTagPropsthe properties associated with the subelement opening tag.
Returns:
a newly created element reader that will be used to parse the subelement. This class should not take care of the new reader's destruction; that will be done by the parser.

Reimplemented from regina::NXMLPacketReader.


The documentation for this class was generated from the following file:

Copyright © 1999-2009, Ben Burton
This software is released under the GNU General Public License.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@debian.org).