<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>ost::TypeManager class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body bgcolor="#ffffff"> <!-- Generated by Doxygen 1.2.10 --> <center> <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="namespacemembers.html">Namespace Members</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> </center> <hr><h1>ost::TypeManager Class Reference</h1>This class manages the types for generation of the persistent objects. Type manager for persistence engine. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="persist_8h-source.html">persist.h</a>></code> <p> <a href="classost_1_1_type_manager-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0> <tr><td colspan=2><br><h2>Public Types</h2></td></tr> <tr><td nowrap align=right valign=top>typedef std::map< std::string,<br> <a class="el" href="namespaceost.html#a40">NewBaseObjectFunction</a> > </td><td valign=bottom><a class="el" href="classost_1_1_type_manager.html#s0">StringFunctionMap</a></td></tr> <tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classost_1_1_type_manager.html#d0">Add</a> (const char *name, <a class="el" href="namespaceost.html#a40">NewBaseObjectFunction</a> construction)</td></tr> <tr><td> </td><td><font size=-1><em>This adds a new construction function to the type manager.</em> <a href="#d0">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classost_1_1_type_manager.html#d1">Remove</a> (const char *name)</td></tr> <tr><td> </td><td><font size=-1><em>And this one removes a type from the managers lists.</em> <a href="#d1">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a class="el" href="classost_1_1_base_object.html">BaseObject</a> * </td><td valign=bottom><a class="el" href="classost_1_1_type_manager.html#d2">CreateInstanceOf</a> (const char *name)</td></tr> <tr><td> </td><td><font size=-1><em>This function creates a new object of the required type and returns a pointer to it.</em> <a href="#d2">More...</a><em></em></font><br><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> This class manages the types for generation of the persistent objects. Type manager for persistence engine. <p> Its data structures are managed automatically by the system. They are implicitly filled by the constructors who declare classes to the system. <p> <dl compact><dt><b> Author: </b><dd> Daniel Silverstone </dl> <p> <hr><h2>Member Typedef Documentation</h2> <a name="s0" doxytag="ost::TypeManager::StringFunctionMap"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> typedef std::map<std::string,<a class="el" href="namespaceost.html#a40">NewBaseObjectFunction</a>> ost::TypeManager::StringFunctionMap </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <hr><h2>Member Function Documentation</h2> <a name="d0" doxytag="ost::TypeManager::Add"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void ost::TypeManager::Add </td> <td class="md">( </td> <td class="md">const char *</td> <td class="mdname"> <em>name</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md"><a class="el" href="namespaceost.html#a40">NewBaseObjectFunction</a></td> <td class="mdname"> <em>construction</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"><code> [static]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> This adds a new construction function to the type manager. <p> </td> </tr> </table> <a name="d2" doxytag="ost::TypeManager::CreateInstanceOf"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="classost_1_1_base_object.html">BaseObject</a>* ost::TypeManager::CreateInstanceOf </td> <td class="md">( </td> <td class="md">const char *</td> <td class="mdname1"> <em>name</em> </td> <td class="md">) </td> <td class="md"><code> [static]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> This function creates a new object of the required type and returns a pointer to it. <p> NULL is returned if we couldn't find the type </td> </tr> </table> <a name="d1" doxytag="ost::TypeManager::Remove"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void ost::TypeManager::Remove </td> <td class="md">( </td> <td class="md">const char *</td> <td class="mdname1"> <em>name</em> </td> <td class="md">) </td> <td class="md"><code> [static]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> And this one removes a type from the managers lists. <p> </td> </tr> </table> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="persist_8h-source.html">persist.h</a></ul> <hr><address><small>Generated at Fri Jan 4 18:51:52 2002 for CommonC++ by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.gif" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.10 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>, © 1997-2001</small></address> </body> </html>