Regina Calculation Engine
|
An individual task for resolving dangling packet references after an XML data file has been read. More...
#include <packet/xmltreeresolver.h>
Public Member Functions | |
virtual | ~XMLTreeResolutionTask () |
A default construct that does nothing. More... | |
virtual void | resolve (const XMLTreeResolver &resolver)=0 |
Called by XMLTreeResolver after the entire data file has been read. More... | |
An individual task for resolving dangling packet references after an XML data file has been read.
See the XMLTreeResolver class notes for an overview of how dangling references and related issues are resolved, and the role that XMLTreeResolutionTask plays in this process.
Specifically, if an individual XMLPacketReader cannot completely flesh out the internal data for a packet as the packet is being read, it should construct a new XMLTreeResolutionTask and queue it to the master XMLTreeResolver. The XMLTreeResolver will then call resolve() for each queued task after the complete data file has been read, at which point whatever information was missing when the packet was initially read should now be available.
Each packet reader that requires this machinery should subclass XMLTreeResolutionTask, and override resolve() to perform whatever "fleshing out" procedure is required for its particular type of packet.
|
inlinevirtual |
A default construct that does nothing.
|
pure virtual |
Called by XMLTreeResolver after the entire data file has been read.
Subclasses should override this routine to perform whatever "fleshing out" is necessary for a packet whose internal data is not yet complete.
resolver | the master resolver managing the resolution process, as outlined in the XMLTreeResolver class notes. |