<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Yate: UIFactory Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.7.1 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="namespaceTelEngine.html">TelEngine</a>::<a class="el" href="classTelEngine_1_1UIFactory.html">UIFactory</a> </div> </div> <div class="contents"> <h1>UIFactory Class Reference</h1><!-- doxytag: class="TelEngine::UIFactory" --><!-- doxytag: inherits="TelEngine::String" -->A static user interface creator. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="yatecbase_8h-source.html">yatecbase.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for UIFactory:</div> <div class="dynsection"> <p><center><img src="classTelEngine_1_1UIFactory.png" usemap="#UIFactory_map" border="0" alt=""></center> <map name="UIFactory_map"> <area href="classTelEngine_1_1String.html" alt="String" shape="rect" coords="0,56,72,80"> <area href="classTelEngine_1_1GenObject.html" alt="GenObject" shape="rect" coords="0,0,72,24"> </map> </div> <p> <a href="classTelEngine_1_1UIFactory-members.html">List of all members.</a><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="classTelEngine_1_1UIFactory.html#792af39b29293c2fc6d6b83bec20ed02">UIFactory</a> (const char *name)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1UIFactory.html#4b0c7ac49501a593a30b60e25afef16a">~UIFactory</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1UIFactory.html#259350cc5707470f2b18d88ec8377c1b">canBuild</a> (const <a class="el" href="classTelEngine_1_1String.html">String</a> &type)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1UIFactory.html#22b20e63203ca82a211c50ab6c27a53d">create</a> (const <a class="el" href="classTelEngine_1_1String.html">String</a> &type, const char *name, <a class="el" href="classTelEngine_1_1NamedList.html">NamedList</a> *params=0)=0</td></tr> <tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1UIFactory.html#b193b67dc5be748a38f9a8f80d7abfc7">build</a> (const <a class="el" href="classTelEngine_1_1String.html">String</a> &type, const char *name, <a class="el" href="classTelEngine_1_1NamedList.html">NamedList</a> *params=0, const char *factory=0)</td></tr> <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="371e35b5ceeea7495dfe4868c7d14252"></a><!-- doxytag: member="TelEngine::UIFactory::m_types" ref="371e35b5ceeea7495dfe4868c7d14252" args="" --> <a class="el" href="classTelEngine_1_1ObjList.html">ObjList</a> </td><td class="memItemRight" valign="bottom"><b>m_types</b></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> A static user interface creator. <p> Each instance of <a class="el" href="classTelEngine_1_1UIFactory.html" title="A static user interface creator.">UIFactory</a> creates special user interface elements by type. Keeps a global list with all factories. The list doesn't own the facotries <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="792af39b29293c2fc6d6b83bec20ed02"></a><!-- doxytag: member="TelEngine::UIFactory::UIFactory" ref="792af39b29293c2fc6d6b83bec20ed02" args="(const char *name)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1UIFactory.html">UIFactory</a> </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>name</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Constructor. Append itself to the factories list </div> </div><p> <a class="anchor" name="4b0c7ac49501a593a30b60e25afef16a"></a><!-- doxytag: member="TelEngine::UIFactory::~UIFactory" ref="4b0c7ac49501a593a30b60e25afef16a" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual ~<a class="el" href="classTelEngine_1_1UIFactory.html">UIFactory</a> </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Destructor. Remove itself from list </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="b193b67dc5be748a38f9a8f80d7abfc7"></a><!-- doxytag: member="TelEngine::UIFactory::build" ref="b193b67dc5be748a38f9a8f80d7abfc7" args="(const String &type, const char *name, NamedList *params=0, const char *factory=0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static void* build </td> <td>(</td> <td class="paramtype">const <a class="el" href="classTelEngine_1_1String.html">String</a> & </td> <td class="paramname"> <em>type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classTelEngine_1_1NamedList.html">NamedList</a> * </td> <td class="paramname"> <em>params</em> = <code>0</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>factory</em> = <code>0</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Ask all factories to create an object of a given type <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>Object's type </td></tr> <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>Object' name </td></tr> <tr><td valign="top"></td><td valign="top"><em>params</em> </td><td>Optional object parameters </td></tr> <tr><td valign="top"></td><td valign="top"><em>factory</em> </td><td>Optional factory name used to create the requested object. If non 0, this will be the only factory asked to create the object </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Valid pointer or 0 if failed to build it </dd></dl> </div> </div><p> <a class="anchor" name="259350cc5707470f2b18d88ec8377c1b"></a><!-- doxytag: member="TelEngine::UIFactory::canBuild" ref="259350cc5707470f2b18d88ec8377c1b" args="(const String &type)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool canBuild </td> <td>(</td> <td class="paramtype">const <a class="el" href="classTelEngine_1_1String.html">String</a> & </td> <td class="paramname"> <em>type</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Check if this factory can build an object of a given type <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>Object type to check </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if this factory can build the object </dd></dl> </div> </div><p> <a class="anchor" name="22b20e63203ca82a211c50ab6c27a53d"></a><!-- doxytag: member="TelEngine::UIFactory::create" ref="22b20e63203ca82a211c50ab6c27a53d" args="(const String &type, const char *name, NamedList *params=0)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void* create </td> <td>(</td> <td class="paramtype">const <a class="el" href="classTelEngine_1_1String.html">String</a> & </td> <td class="paramname"> <em>type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classTelEngine_1_1NamedList.html">NamedList</a> * </td> <td class="paramname"> <em>params</em> = <code>0</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Ask this factory to create an object of a given type <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>Object's type </td></tr> <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>Object' name </td></tr> <tr><td valign="top"></td><td valign="top"><em>params</em> </td><td>Optional object parameters </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Valid pointer or 0 if failed to build it </dd></dl> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="yatecbase_8h-source.html">yatecbase.h</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Sun Dec 7 21:36:12 2008 for Yate by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body> </html>