<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Colorer-take5 Library: ParserFactory Class Reference</title> <link href="../styles/styles.css" rel="stylesheet" type="text/css"> <link href="../styles/doc.css" rel="stylesheet" type="text/css"> <link rel="icon" href="../images/logo-small-api.png"/> </head> <body> <div align='center'> <a href="../index.html">Home</a> | <a href="modules.html">Modules</a> | <a href="hierarchy.html">Class Hierarchy</a> | <a href="classes.html">Alphabetical List</a> | <a href="annotated.html">Compound List</a> | <a href="pages.html">Related Pages</a> </div> <!-- Generated by Doxygen 1.4.6 --> <h1>ParserFactory Class Reference<br> <small> [<a class="el" href="group__colorer.html">Colorer interfaces</a>]</small> </h1><!-- doxytag: class="ParserFactory" --><hr><a name="_details"></a><h2>Detailed Description</h2> Maintains catalog of HRC and HRD references. <p> This class searches and loads <code>catalog.xml</code> file and creates <a class="el" href="classHRCParser.html">HRCParser</a>, <a class="el" href="classStyledHRDMapper.html">StyledHRDMapper</a>, <a class="el" href="classTextHRDMapper.html">TextHRDMapper</a> and <a class="el" href="classTextParser.html">TextParser</a> instances with information, loaded from specified sources.<p> If no path were passed to it's constructor, it uses the next search order to find 'catalog.xml' file:<p> <ul> <li>win32 systems:<ul> <li>image_start_dir, image_start_dir/../, image_start_dir/../../</li><li>%COLORER5CATALOG%</li><li>%HOME/.colorer5catalog</li><li>%HOMEPATH/.colorer5catalog</li><li>%SYSTEMROOT/.colorer5catalog (or %WINDIR% in w9x)</li></ul> </li></ul> <p> <ul> <li>unix/macos systems:<ul> <li>$COLORER5CATALOG</li><li>$HOME/.colorer5catalog</li><li>$HOMEPATH/.colorer5catalog</li><li>/usr/share/colorer/catalog.xml</li><li>/usr/local/share/colorer/catalog.xml</li></ul> </li></ul> <p> <dl compact><dt><b>Note:</b></dt><dd><ul> <li>%NAME%, $NAME - Environment variable of the current process.</li><li>image_start_dir - Directory, where current image was started. </li></ul> </dd></dl> <p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classParserFactory.html#63df845d2803cb614bba95109b19490b">ParserFactory</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classParserFactory.html">ParserFactory</a> Constructor. <a href="#63df845d2803cb614bba95109b19490b"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classParserFactory.html#ec5239c49d42cc6a63e4d9d062ffd367">ParserFactory</a> (const <a class="el" href="classString.html">String</a> *catalogPath)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classParserFactory.html">ParserFactory</a> Constructor with explicit catalog path. <a href="#ec5239c49d42cc6a63e4d9d062ffd367"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="52835745ae2efed87875dcc2e4434bcc"></a><!-- doxytag: member="ParserFactory::enumerateHRDClasses" ref="52835745ae2efed87875dcc2e4434bcc" args="(int idx)" --> const <a class="el" href="classString.html">String</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classParserFactory.html#52835745ae2efed87875dcc2e4434bcc">enumerateHRDClasses</a> (int idx)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Enumerates all declared hrd classes. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="72cc2ff64855aa5bfb5ea6bc0f09c877"></a><!-- doxytag: member="ParserFactory::enumerateHRDInstances" ref="72cc2ff64855aa5bfb5ea6bc0f09c877" args="(const String &classID, int idx)" --> const <a class="el" href="classString.html">String</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classParserFactory.html#72cc2ff64855aa5bfb5ea6bc0f09c877">enumerateHRDInstances</a> (const <a class="el" href="classString.html">String</a> &classID, int idx)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Enumerates all declared hrd instances of specified class. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2a1bf29a553b05aefad7129f496e53d7"></a><!-- doxytag: member="ParserFactory::getHRDescription" ref="2a1bf29a553b05aefad7129f496e53d7" args="(const String &classID, const String &nameID)" --> const <a class="el" href="classString.html">String</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classParserFactory.html#2a1bf29a553b05aefad7129f496e53d7">getHRDescription</a> (const <a class="el" href="classString.html">String</a> &classID, const <a class="el" href="classString.html">String</a> &nameID)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns description of HRD instance, pointed by classID and nameID parameters. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classHRCParser.html">HRCParser</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classParserFactory.html#502ce5b58b0760ba86405665b3219b05">getHRCParser</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Creates and loads <a class="el" href="classHRCParser.html">HRCParser</a> instance from catalog.xml file. <a href="#502ce5b58b0760ba86405665b3219b05"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="73b222c0ef776c579811156570e59113"></a><!-- doxytag: member="ParserFactory::createTextParser" ref="73b222c0ef776c579811156570e59113" args="()" --> <a class="el" href="classTextParser.html">TextParser</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classParserFactory.html#73b222c0ef776c579811156570e59113">createTextParser</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Creates <a class="el" href="classTextParser.html">TextParser</a> instance. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classStyledHRDMapper.html">StyledHRDMapper</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classParserFactory.html#d62ee2971079b35d95cc4dc56b6be9f8">createStyledMapper</a> (const <a class="el" href="classString.html">String</a> *classID, const <a class="el" href="classString.html">String</a> *nameID)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Creates <a class="el" href="classRegionMapper.html">RegionMapper</a> instance and loads specified hrd files into it. <a href="#d62ee2971079b35d95cc4dc56b6be9f8"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTextHRDMapper.html">TextHRDMapper</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classParserFactory.html#8d14bdb9c40882146c0c9d4ab4e5f8f9">createTextMapper</a> (const <a class="el" href="classString.html">String</a> *nameID)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Creates <a class="el" href="classRegionMapper.html">RegionMapper</a> instance and loads specified hrd files into it. <a href="#8d14bdb9c40882146c0c9d4ab4e5f8f9"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classErrorHandler.html">ErrorHandler</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classParserFactory.html#0015e29cbb169e5c3b447c7da43a2c3d">getErrorHandler</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns currently used global error handler. <a href="#0015e29cbb169e5c3b447c7da43a2c3d"></a><br></td></tr> <tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3250c6515b65837496758e4403e0d5e6"></a><!-- doxytag: member="ParserFactory::getVersion" ref="3250c6515b65837496758e4403e0d5e6" args="()" --> static const char * </td><td class="memItemRight" valign="bottom"><b>getVersion</b> ()</td></tr> </table> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="63df845d2803cb614bba95109b19490b"></a><!-- doxytag: member="ParserFactory::ParserFactory" ref="63df845d2803cb614bba95109b19490b" args="()" --><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">ParserFactory::ParserFactory </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> <a class="el" href="classParserFactory.html">ParserFactory</a> Constructor. <p> Searches for catalog.xml in the set of predefined locations <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classParserFactoryException.html">ParserFactoryException</a></em> </td><td>If can't find catalog at any of standard locations. </td></tr> </table> </dl> </td> </tr> </table> <a class="anchor" name="ec5239c49d42cc6a63e4d9d062ffd367"></a><!-- doxytag: member="ParserFactory::ParserFactory" ref="ec5239c49d42cc6a63e4d9d062ffd367" args="(const String *catalogPath)" --><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">ParserFactory::ParserFactory </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="classString.html">String</a> * </td> <td class="mdname1" valign="top" nowrap> <em>catalogPath</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> <a class="el" href="classParserFactory.html">ParserFactory</a> Constructor with explicit catalog path. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>catalogPath</em> </td><td>Path to catalog.xml file. If null, standard search method is used. </td></tr> </table> </dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classParserFactoryException.html">ParserFactoryException</a></em> </td><td>If can't load specified catalog. </td></tr> </table> </dl> </td> </tr> </table> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="502ce5b58b0760ba86405665b3219b05"></a><!-- doxytag: member="ParserFactory::getHRCParser" ref="502ce5b58b0760ba86405665b3219b05" args="()" --><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="classHRCParser.html">HRCParser</a> * ParserFactory::getHRCParser </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Creates and loads <a class="el" href="classHRCParser.html">HRCParser</a> instance from catalog.xml file. <p> This method can detect directory entries, and sequentally load their contents into created <a class="el" href="classHRCParser.html">HRCParser</a> instance. In other cases it uses <a class="el" href="classInputSource.html#37af3f4ab320c6a0d1e1da11074a1e42">InputSource::newInstance()</a> method to create input data stream. Only one <a class="el" href="classHRCParser.html">HRCParser</a> instance is created for each <a class="el" href="classParserFactory.html">ParserFactory</a> instance. </td> </tr> </table> <a class="anchor" name="d62ee2971079b35d95cc4dc56b6be9f8"></a><!-- doxytag: member="ParserFactory::createStyledMapper" ref="d62ee2971079b35d95cc4dc56b6be9f8" args="(const String *classID, const String *nameID)" --><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="classStyledHRDMapper.html">StyledHRDMapper</a> * ParserFactory::createStyledMapper </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="classString.html">String</a> * </td> <td class="mdname" nowrap> <em>classID</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>const <a class="el" href="classString.html">String</a> * </td> <td class="mdname" nowrap> <em>nameID</em></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Creates <a class="el" href="classRegionMapper.html">RegionMapper</a> instance and loads specified hrd files into it. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>classID</em> </td><td>Class identifier of loaded hrd instance. </td></tr> <tr><td valign="top"></td><td valign="top"><em>nameID</em> </td><td>Name identifier of loaded hrd instances. </td></tr> </table> </dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classParserFactoryException.html">ParserFactoryException</a></em> </td><td>If method can't find specified pair of class and name IDs in catalog.xml file </td></tr> </table> </dl> </td> </tr> </table> <a class="anchor" name="8d14bdb9c40882146c0c9d4ab4e5f8f9"></a><!-- doxytag: member="ParserFactory::createTextMapper" ref="8d14bdb9c40882146c0c9d4ab4e5f8f9" args="(const String *nameID)" --><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="classTextHRDMapper.html">TextHRDMapper</a> * ParserFactory::createTextMapper </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="classString.html">String</a> * </td> <td class="mdname1" valign="top" nowrap> <em>nameID</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Creates <a class="el" href="classRegionMapper.html">RegionMapper</a> instance and loads specified hrd files into it. <p> It uses 'text' class by default. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>nameID</em> </td><td>Name identifier of loaded hrd instances. </td></tr> </table> </dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classParserFactoryException.html">ParserFactoryException</a></em> </td><td>If method can't find specified pair of class and name IDs in catalog.xml file </td></tr> </table> </dl> </td> </tr> </table> <a class="anchor" name="0015e29cbb169e5c3b447c7da43a2c3d"></a><!-- doxytag: member="ParserFactory::getErrorHandler" ref="0015e29cbb169e5c3b447c7da43a2c3d" args="()" --><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="classErrorHandler.html">ErrorHandler</a>* ParserFactory::getErrorHandler </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap><code> [inline]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Returns currently used global error handler. <p> If no error handler were installed, returns null. </td> </tr> </table> <br><br> <center><small> Colorer-take5 Library. Copyright © 1999-2006 Igor Russkih.<br> Generated at Fri Nov 24 17:13:13 2006 by doxygen 1.4.6. </small><center> </BODY> </HTML>