root/doc/html/classUserInfo.html @ 261

Revision 261, 16.5 kB (checked in by smidl, 16 years ago)

doc

RevLine 
[139]1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
[162]3<title>mixpp: UserInfo Class Reference</title>
[139]4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.6 -->
8<div class="navigation" id="top">
9  <div class="tabs">
10    <ul>
11      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
12      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
[219]13      <li><a href="modules.html"><span>Modules</span></a></li>
[261]14      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
15      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
[139]16      <li><a href="files.html"><span>Files</span></a></li>
17    </ul>
18  </div>
19  <div class="tabs">
20    <ul>
[261]21      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
[139]22      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
23      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
24      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
25    </ul>
26  </div>
27</div>
28<div class="contents">
[162]29<h1>UserInfo Class Reference</h1><!-- doxytag: class="UserInfo" --><!-- doxytag: inherits="BindingFrame" --><a class="el" href="classUserInfo.html" title="UserInfo is an abstract is for internal purposes only. Use CompoundUserInfo&lt;T&gt;...">UserInfo</a> is an abstract is for internal purposes only. Use CompoundUserInfo&lt;T&gt; or ValuedUserInfo&lt;T&gt; instead. The raison d'etre of this class is to allow pointers to its templated descendants. 
[139]30<a href="#_details">More...</a>
31<p>
32<code>#include &lt;<a class="el" href="userinfo_8h-source.html">userinfo.h</a>&gt;</code>
33<p>
34<div class="dynheader">
[162]35Inheritance diagram for UserInfo:</div>
[139]36<div class="dynsection">
[162]37<p><center><img src="classUserInfo__inherit__graph.png" border="0" usemap="#UserInfo__inherit__map" alt="Inheritance graph"></center>
38<map name="UserInfo__inherit__map">
39<area shape="rect" href="classTypedUserInfo.html" title="TypeUserInfo is still an abstract class, but contrary to the UserInfo class it is..." alt="" coords="292,211,439,237"><area shape="rect" href="classTypedUserInfo.html" title="TypedUserInfo\&lt; double \&gt;" alt="" coords="563,185,747,212"><area shape="rect" href="classTypedUserInfo.html" title="TypedUserInfo\&lt; int \&gt;" alt="" coords="577,360,732,387"><area shape="rect" href="classTypedUserInfo.html" title="TypedUserInfo\&lt; string \&gt;" alt="" coords="567,436,743,463"><area shape="rect" href="classTypedUserInfo.html" title="TypedUserInfo\&lt; Car \&gt;" alt="" coords="573,57,736,84"><area shape="rect" href="classTypedUserInfo.html" title="TypedUserInfo\&lt; bool \&gt;" alt="" coords="571,487,739,513"><area shape="rect" href="classTypedUserInfo.html" title="TypedUserInfo\&lt; Bike \&gt;" alt="" coords="571,7,739,33"><area shape="rect" href="classBindingFrame.html" title="Abstract class declaring general properties of a frame for data binding." alt="" coords="7,211,113,237"><area shape="rect" href="classCompoundUserInfo.html" title="The main userinfo template class. You should derive this class whenever you need..." alt="" coords="564,135,745,161"><area shape="rect" href="classValuedUserInfo.html" title="The main userinfo template class. It should be derived whenever you need a new userinfo..." alt="" coords="577,268,732,295"><area shape="rect" href="classCompoundUserInfo.html" title="CompoundUserInfo\&lt; Car \&gt;" alt="" coords="873,135,1068,161"><area shape="rect" href="classCompoundUserInfo.html" title="CompoundUserInfo\&lt; Bike \&gt;" alt="" coords="871,49,1071,76"><area shape="rect" href="classValuedUserInfo.html" title="ValuedUserInfo\&lt; double \&gt;" alt="" coords="876,203,1065,229"><area shape="rect" href="classValuedUserInfo.html" title="ValuedUserInfo\&lt; int \&gt;" alt="" coords="889,301,1052,328"><area shape="rect" href="classValuedUserInfo.html" title="ValuedUserInfo\&lt; string \&gt;" alt="" coords="879,368,1063,395"><area shape="rect" href="classValuedUserInfo.html" title="ValuedUserInfo\&lt; bool \&gt;" alt="" coords="884,436,1057,463"></map>
[139]40<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
41<div class="dynheader">
[162]42Collaboration diagram for UserInfo:</div>
[139]43<div class="dynsection">
[162]44<p><center><img src="classUserInfo__coll__graph.png" border="0" usemap="#UserInfo__coll__map" alt="Collaboration graph"></center>
45<map name="UserInfo__coll__map">
46<area shape="rect" href="classBindingFrame.html" title="Abstract class declaring general properties of a frame for data binding." alt="" coords="24,103,131,129"><area shape="rect" href="classAssertXercesIsAlive.html" title="Class initializing Xerces library." alt="" coords="5,7,149,33"></map>
[139]47<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
48
49<p>
50<a href="classUserInfo-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
51<tr><td></td></tr>
[162]52<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
53<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T&gt; </td></tr>
54<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">static T *&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classUserInfo.html#0f090c6525a3e8fb11634a553f467ede">Assembly</a> (DOMElement &amp;element, const string tagName)</td></tr>
[139]55
[162]56<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T&gt; </td></tr>
57<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classUserInfo.html#1d402661b82feccb5265a70f65c242e1">Disassembly</a> (T &amp;instance, DOMElement &amp;element, const string tagName, const string help)</td></tr>
[139]58
[162]59<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T&gt; </td></tr>
60<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classUserInfo.html#917b2257abc31b94c89ef3cd270e4a42">Disassembly</a> (T &amp;instance, DOMElement &amp;element, const string tagName)</td></tr>
[139]61
[162]62<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
63<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0bccb19c6b819cf9f763e985c573ae8f"></a><!-- doxytag: member="UserInfo::UserInfo" ref="0bccb19c6b819cf9f763e985c573ae8f" args="(const string &amp;userFriendlyTypeName, const string &amp;typeNameByRTTI)" -->
64&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUserInfo.html#0bccb19c6b819cf9f763e985c573ae8f">UserInfo</a> (const string &amp;userFriendlyTypeName, const string &amp;typeNameByRTTI)</td></tr>
[139]65
[162]66<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">default constructor <br></td></tr>
67<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2244bd5181c3d1e70f3a6be2b72e9424"></a><!-- doxytag: member="UserInfo::XMLCh2str" ref="2244bd5181c3d1e70f3a6be2b72e9424" args="(const XMLCh *const XMLCh_str)" -->
68string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBindingFrame.html#2244bd5181c3d1e70f3a6be2b72e9424">XMLCh2str</a> (const XMLCh *const XMLCh_str)</td></tr>
[139]69
[162]70<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">function which transcodes Xerces' XMLCh-based strings into C++ strings <br></td></tr>
71<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="820e4df85c0dc545e3079e407fcdbbaa"></a><!-- doxytag: member="UserInfo::removeSpaces" ref="820e4df85c0dc545e3079e407fcdbbaa" args="(const string &amp;str)" -->
[255]72string&nbsp;</td><td class="memItemRight" valign="bottom"><b>removeSpaces</b> (const string &amp;str)</td></tr>
[139]73
[162]74<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c6d068c261d4fc3a0a4d1305ade1483d"></a><!-- doxytag: member="UserInfo::AssemblyComponentsFromXML" ref="c6d068c261d4fc3a0a4d1305ade1483d" args="(DOMElement &amp;element)=0" -->
75virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBindingFrame.html#c6d068c261d4fc3a0a4d1305ade1483d">AssemblyComponentsFromXML</a> (DOMElement &amp;element)=0</td></tr>
[139]76
[162]77<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method parse DOMElement, finds proper DOMNode and fills binded data accordingly. <br></td></tr>
78<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8d4dc5902ee71a473983d6a8fa3c8b7a"></a><!-- doxytag: member="UserInfo::ReleaseMemory" ref="8d4dc5902ee71a473983d6a8fa3c8b7a" args="()" -->
79virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBindingFrame.html#8d4dc5902ee71a473983d6a8fa3c8b7a">ReleaseMemory</a> ()</td></tr>
[139]80
[162]81<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A method for releasing memory allocated within the 'AssemblyComponentsFromXML()' method. <br></td></tr>
82<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBindingFrame.html#0c207ed6e5a4c975ed5bc9a758a063ca">DisassemblyComponentsToXML</a> (DOMElement &amp;element)=0</td></tr>
[139]83
[162]84<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
85<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><b>StringToUIMap</b></td></tr>
[139]86
87</table>
88<hr><a name="_details"></a><h2>Detailed Description</h2>
[162]89<a class="el" href="classUserInfo.html" title="UserInfo is an abstract is for internal purposes only. Use CompoundUserInfo&lt;T&gt;...">UserInfo</a> is an abstract is for internal purposes only. Use CompoundUserInfo&lt;T&gt; or ValuedUserInfo&lt;T&gt; instead. The raison d'etre of this class is to allow pointers to its templated descendants.
90<p>
91Also, the main functions of the whole <a class="el" href="classUserInfo.html" title="UserInfo is an abstract is for internal purposes only. Use CompoundUserInfo&lt;T&gt;...">UserInfo</a> library are included within this class, see static methods 'Assembly' and 'Disassembly'. <hr><h2>Member Function Documentation</h2>
92<a class="anchor" name="0f090c6525a3e8fb11634a553f467ede"></a><!-- doxytag: member="UserInfo::Assembly" ref="0f090c6525a3e8fb11634a553f467ede" args="(DOMElement &amp;element, const string tagName)" -->
93<div class="memitem">
94<div class="memproto">
95<div class="memtemplate">
96template&lt;class T&gt; </div>
97      <table class="memname">
98        <tr>
99          <td class="memname">static T* UserInfo::Assembly           </td>
100          <td>(</td>
101          <td class="paramtype">DOMElement &amp;&nbsp;</td>
102          <td class="paramname"> <em>element</em>, </td>
103        </tr>
104        <tr>
105          <td class="paramkey"></td>
106          <td></td>
107          <td class="paramtype">const string&nbsp;</td>
108          <td class="paramname"> <em>tagName</em></td><td>&nbsp;</td>
109        </tr>
110        <tr>
111          <td></td>
112          <td>)</td>
113          <td></td><td></td><td><code> [inline, static]</code></td>
114        </tr>
115      </table>
116</div>
117<div class="memdoc">
[139]118
119<p>
[162]120This methods tries to assembly a new instance of type T (or some of its descendant types) according to a data stored in a DOMNode named tagName within a child nodes of the passed element. If an error occurs, it returns a NULL pointer.
121<p>References <a class="el" href="userinfo_8cpp-source.html#l00040">Attribute::Get()</a>, and <a class="el" href="userinfo_8h-source.html#l00152">Attribute::type</a>.</p>
122
123</div>
124</div><p>
125<a class="anchor" name="1d402661b82feccb5265a70f65c242e1"></a><!-- doxytag: member="UserInfo::Disassembly" ref="1d402661b82feccb5265a70f65c242e1" args="(T &amp;instance, DOMElement &amp;element, const string tagName, const string help)" -->
126<div class="memitem">
127<div class="memproto">
128<div class="memtemplate">
129template&lt;class T&gt; </div>
130      <table class="memname">
131        <tr>
132          <td class="memname">static bool UserInfo::Disassembly           </td>
133          <td>(</td>
134          <td class="paramtype">T &amp;&nbsp;</td>
135          <td class="paramname"> <em>instance</em>, </td>
136        </tr>
137        <tr>
138          <td class="paramkey"></td>
139          <td></td>
140          <td class="paramtype">DOMElement &amp;&nbsp;</td>
141          <td class="paramname"> <em>element</em>, </td>
142        </tr>
143        <tr>
144          <td class="paramkey"></td>
145          <td></td>
146          <td class="paramtype">const string&nbsp;</td>
147          <td class="paramname"> <em>tagName</em>, </td>
148        </tr>
149        <tr>
150          <td class="paramkey"></td>
151          <td></td>
152          <td class="paramtype">const string&nbsp;</td>
153          <td class="paramname"> <em>help</em></td><td>&nbsp;</td>
154        </tr>
155        <tr>
156          <td></td>
157          <td>)</td>
158          <td></td><td></td><td><code> [inline, static]</code></td>
159        </tr>
160      </table>
161</div>
162<div class="memdoc">
163
164<p>
165This methods tries to disassembly an instance of type T (or some of its descendant types) and build DOM tree accordingly. Then, it creates a new DOMNode named according tagName and connecti it to the passed DOMElement as a new child node (with a help attribute filled).
166<p>References <a class="el" href="userinfo_8h-source.html#l00149">Attribute::help</a>, <a class="el" href="userinfo_8cpp-source.html#l00046">Attribute::Set()</a>, and <a class="el" href="userinfo_8h-source.html#l00152">Attribute::type</a>.</p>
167
168<p>Referenced by <a class="el" href="userinfo_8h-source.html#l00327">Disassembly()</a>, and <a class="el" href="userinfo_8h-source.html#l00479">CompoundUserInfo&lt; T &gt;::BindedElement&lt; U &gt;::DisassemblyComponentsToXML()</a>.</p>
169
170</div>
171</div><p>
172<a class="anchor" name="917b2257abc31b94c89ef3cd270e4a42"></a><!-- doxytag: member="UserInfo::Disassembly" ref="917b2257abc31b94c89ef3cd270e4a42" args="(T &amp;instance, DOMElement &amp;element, const string tagName)" -->
173<div class="memitem">
174<div class="memproto">
175<div class="memtemplate">
176template&lt;class T&gt; </div>
177      <table class="memname">
178        <tr>
179          <td class="memname">static bool UserInfo::Disassembly           </td>
180          <td>(</td>
181          <td class="paramtype">T &amp;&nbsp;</td>
182          <td class="paramname"> <em>instance</em>, </td>
183        </tr>
184        <tr>
185          <td class="paramkey"></td>
186          <td></td>
187          <td class="paramtype">DOMElement &amp;&nbsp;</td>
188          <td class="paramname"> <em>element</em>, </td>
189        </tr>
190        <tr>
191          <td class="paramkey"></td>
192          <td></td>
193          <td class="paramtype">const string&nbsp;</td>
194          <td class="paramname"> <em>tagName</em></td><td>&nbsp;</td>
195        </tr>
196        <tr>
197          <td></td>
198          <td>)</td>
199          <td></td><td></td><td><code> [inline, static]</code></td>
200        </tr>
201      </table>
202</div>
203<div class="memdoc">
204
205<p>
206This methods tries to disassembly an instance of type T (or some of its descendant types) and build DOM tree accordingly. Then, it creates a new DOMNode named according tagName and connecti it to the passed DOMElement as a new child node.
207<p>References <a class="el" href="userinfo_8h-source.html#l00297">Disassembly()</a>.</p>
208
209</div>
210</div><p>
211<a class="anchor" name="0c207ed6e5a4c975ed5bc9a758a063ca"></a><!-- doxytag: member="UserInfo::DisassemblyComponentsToXML" ref="0c207ed6e5a4c975ed5bc9a758a063ca" args="(DOMElement &amp;element)=0" -->
212<div class="memitem">
213<div class="memproto">
214      <table class="memname">
215        <tr>
216          <td class="memname">virtual bool BindingFrame::DisassemblyComponentsToXML           </td>
217          <td>(</td>
218          <td class="paramtype">DOMElement &amp;&nbsp;</td>
219          <td class="paramname"> <em>element</em>          </td>
220          <td>&nbsp;)&nbsp;</td>
221          <td><code> [pure virtual, inherited]</code></td>
222        </tr>
223      </table>
224</div>
225<div class="memdoc">
226
227<p>
228This method reads binded data, fill them into a new DOMNode, which then appends to the passed DOMElement
229<p>Implemented in <a class="el" href="classCompoundUserInfo_1_1BindedElement.html#6ef55cedb98f5d2dbcf92730f2fed939">CompoundUserInfo&lt; T &gt;::BindedElement&lt; U &gt;</a>.</p>
230
231</div>
232</div><p>
233<hr>The documentation for this class was generated from the following file:<ul>
[261]234<li><a class="el" href="userinfo_8h-source.html">userinfo.h</a></ul>
[139]235</div>
[261]236<hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 6 15:29:49 2009 for mixpp by&nbsp;
[139]237<a href="http://www.doxygen.org/index.html">
238<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
239</body>
240</html>
Note: See TracBrowser for help on using the browser.