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"> |
---|
3 | <title>mixpp: TypedUserInfo< T > Class Template Reference</title> |
---|
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 Page</span></a></li> |
---|
12 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
---|
13 | <li class="current"><a href="annotated.html"><span>Classes</span></a></li> |
---|
14 | <li><a href="files.html"><span>Files</span></a></li> |
---|
15 | </ul> |
---|
16 | </div> |
---|
17 | <div class="tabs"> |
---|
18 | <ul> |
---|
19 | <li><a href="annotated.html"><span>Class List</span></a></li> |
---|
20 | <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> |
---|
21 | <li><a href="functions.html"><span>Class Members</span></a></li> |
---|
22 | </ul> |
---|
23 | </div> |
---|
24 | </div> |
---|
25 | <div class="contents"> |
---|
26 | <h1>TypedUserInfo< T > Class Template Reference</h1><!-- doxytag: class="TypedUserInfo" --><!-- doxytag: inherits="UserInfo" -->TypeUserInfo is still an abstract class, but contrary to the <a class="el" href="classUserInfo.html" title="UserInfo is an abstract is for internal purposes only. Use CompoundUserInfo<T>...">UserInfo</a> class it is already templated. It serves as a bridge to non-abstract classes CompoundUserInfo<T> or ValuedUserInfo<T>. |
---|
27 | <a href="#_details">More...</a> |
---|
28 | <p> |
---|
29 | <code>#include <<a class="el" href="userinfo_8h-source.html">userinfo.h</a>></code> |
---|
30 | <p> |
---|
31 | <div class="dynheader"> |
---|
32 | Inheritance diagram for TypedUserInfo< T >:</div> |
---|
33 | <div class="dynsection"> |
---|
34 | <p><center><img src="classTypedUserInfo__inherit__graph.png" border="0" usemap="#TypedUserInfo_3_01T_01_4__inherit__map" alt="Inheritance graph"></center> |
---|
35 | <map name="TypedUserInfo_3_01T_01_4__inherit__map"> |
---|
36 | <area shape="rect" href="classCompoundUserInfo.html" title="The main userinfo template class. You should derive this class whenever you need..." alt="" coords="564,69,745,96"><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,272,732,299"><area shape="rect" href="classTypedUserInfo.html" title="TypedUserInfo\< double \>" alt="" coords="563,171,747,197"><area shape="rect" href="classTypedUserInfo.html" title="TypedUserInfo\< int \>" alt="" coords="577,221,732,248"><area shape="rect" href="classTypedUserInfo.html" title="TypedUserInfo\< string \>" alt="" coords="567,343,743,369"><area shape="rect" href="classTypedUserInfo.html" title="TypedUserInfo\< Car \>" alt="" coords="573,5,736,32"><area shape="rect" href="classTypedUserInfo.html" title="TypedUserInfo\< bool \>" alt="" coords="571,435,739,461"><area shape="rect" href="classTypedUserInfo.html" title="TypedUserInfo\< Bike \>" alt="" coords="571,120,739,147"><area shape="rect" href="classUserInfo.html" title="UserInfo is an abstract is for internal purposes only. Use CompoundUserInfo<T>..." alt="" coords="165,197,240,224"><area shape="rect" href="classBindingFrame.html" title="Abstract class declaring general properties of a frame for data binding." alt="" coords="7,197,113,224"><area shape="rect" href="classCompoundUserInfo.html" title="CompoundUserInfo\< Car \>" alt="" coords="873,27,1068,53"><area shape="rect" href="classCompoundUserInfo.html" title="CompoundUserInfo\< Bike \>" alt="" coords="871,99,1071,125"><area shape="rect" href="classValuedUserInfo.html" title="ValuedUserInfo\< double \>" alt="" coords="876,185,1065,212"><area shape="rect" href="classValuedUserInfo.html" title="ValuedUserInfo\< int \>" alt="" coords="889,253,1052,280"><area shape="rect" href="classValuedUserInfo.html" title="ValuedUserInfo\< string \>" alt="" coords="879,321,1063,348"><area shape="rect" href="classValuedUserInfo.html" title="ValuedUserInfo\< bool \>" alt="" coords="884,409,1057,436"></map> |
---|
37 | <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> |
---|
38 | <div class="dynheader"> |
---|
39 | Collaboration diagram for TypedUserInfo< T >:</div> |
---|
40 | <div class="dynsection"> |
---|
41 | <p><center><img src="classTypedUserInfo__coll__graph.png" border="0" usemap="#TypedUserInfo_3_01T_01_4__coll__map" alt="Collaboration graph"></center> |
---|
42 | <map name="TypedUserInfo_3_01T_01_4__coll__map"> |
---|
43 | <area shape="rect" href="classUserInfo.html" title="UserInfo is an abstract is for internal purposes only. Use CompoundUserInfo<T>..." alt="" coords="119,215,193,241"><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> |
---|
44 | <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> |
---|
45 | |
---|
46 | <p> |
---|
47 | <a href="classTypedUserInfo-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> |
---|
48 | <tr><td></td></tr> |
---|
49 | <tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr> |
---|
50 | <tr><td class="memTemplParams" nowrap colspan="2">template<class T> </td></tr> |
---|
51 | <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">static T * </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classUserInfo.html#0f090c6525a3e8fb11634a553f467ede">Assembly</a> (DOMElement &element, const string tagName)</td></tr> |
---|
52 | |
---|
53 | <tr><td class="memTemplParams" nowrap colspan="2">template<class T> </td></tr> |
---|
54 | <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">static bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classUserInfo.html#1d402661b82feccb5265a70f65c242e1">Disassembly</a> (T &<a class="el" href="classTypedUserInfo.html#c7ad10a9ff002383518155c965ade85c">instance</a>, DOMElement &element, const string tagName, const string help)</td></tr> |
---|
55 | |
---|
56 | <tr><td class="memTemplParams" nowrap colspan="2">template<class T> </td></tr> |
---|
57 | <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">static bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classUserInfo.html#917b2257abc31b94c89ef3cd270e4a42">Disassembly</a> (T &<a class="el" href="classTypedUserInfo.html#c7ad10a9ff002383518155c965ade85c">instance</a>, DOMElement &element, const string tagName)</td></tr> |
---|
58 | |
---|
59 | <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> |
---|
60 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f4fe0532c1cdee3d6e00d96561efbdd5"></a><!-- doxytag: member="TypedUserInfo::TypedUserInfo" ref="f4fe0532c1cdee3d6e00d96561efbdd5" args="(const string &userFriendlyTypeName)" --> |
---|
61 | </td><td class="memItemRight" valign="bottom"><a class="el" href="classTypedUserInfo.html#f4fe0532c1cdee3d6e00d96561efbdd5">TypedUserInfo</a> (const string &userFriendlyTypeName)</td></tr> |
---|
62 | |
---|
63 | <tr><td class="mdescLeft"> </td><td class="mdescRight">default constructor, which is intentionally declared as protected <br></td></tr> |
---|
64 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b1bb67b76a677f0cf33e923fd9147e9a"></a><!-- doxytag: member="TypedUserInfo::~TypedUserInfo" ref="b1bb67b76a677f0cf33e923fd9147e9a" args="()" --> |
---|
65 | </td><td class="memItemRight" valign="bottom"><a class="el" href="classTypedUserInfo.html#b1bb67b76a677f0cf33e923fd9147e9a">~TypedUserInfo</a> ()</td></tr> |
---|
66 | |
---|
67 | <tr><td class="mdescLeft"> </td><td class="mdescRight">destructor <br></td></tr> |
---|
68 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2244bd5181c3d1e70f3a6be2b72e9424"></a><!-- doxytag: member="TypedUserInfo::XMLCh2str" ref="2244bd5181c3d1e70f3a6be2b72e9424" args="(const XMLCh *const XMLCh_str)" --> |
---|
69 | string </td><td class="memItemRight" valign="bottom"><a class="el" href="classBindingFrame.html#2244bd5181c3d1e70f3a6be2b72e9424">XMLCh2str</a> (const XMLCh *const XMLCh_str)</td></tr> |
---|
70 | |
---|
71 | <tr><td class="mdescLeft"> </td><td class="mdescRight">function which transcodes Xerces' XMLCh-based strings into C++ strings <br></td></tr> |
---|
72 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="820e4df85c0dc545e3079e407fcdbbaa"></a><!-- doxytag: member="TypedUserInfo::removeSpaces" ref="820e4df85c0dc545e3079e407fcdbbaa" args="(const string &str)" --> |
---|
73 | string </td><td class="memItemRight" valign="bottom"><b>removeSpaces</b> (const string &<a class="el" href="classstr.html">str</a>)</td></tr> |
---|
74 | |
---|
75 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c6d068c261d4fc3a0a4d1305ade1483d"></a><!-- doxytag: member="TypedUserInfo::AssemblyComponentsFromXML" ref="c6d068c261d4fc3a0a4d1305ade1483d" args="(DOMElement &element)=0" --> |
---|
76 | virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classBindingFrame.html#c6d068c261d4fc3a0a4d1305ade1483d">AssemblyComponentsFromXML</a> (DOMElement &element)=0</td></tr> |
---|
77 | |
---|
78 | <tr><td class="mdescLeft"> </td><td class="mdescRight">This method parse DOMElement, finds proper DOMNode and fills binded data accordingly. <br></td></tr> |
---|
79 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8d4dc5902ee71a473983d6a8fa3c8b7a"></a><!-- doxytag: member="TypedUserInfo::ReleaseMemory" ref="8d4dc5902ee71a473983d6a8fa3c8b7a" args="()" --> |
---|
80 | virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classBindingFrame.html#8d4dc5902ee71a473983d6a8fa3c8b7a">ReleaseMemory</a> ()</td></tr> |
---|
81 | |
---|
82 | <tr><td class="mdescLeft"> </td><td class="mdescRight">A method for releasing memory allocated within the 'AssemblyComponentsFromXML()' method. <br></td></tr> |
---|
83 | <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classBindingFrame.html#0c207ed6e5a4c975ed5bc9a758a063ca">DisassemblyComponentsToXML</a> (DOMElement &element)=0</td></tr> |
---|
84 | |
---|
85 | <tr><td colspan="2"><br><h2>Static Protected Attributes</h2></td></tr> |
---|
86 | <tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classTypedUserInfo.html">TypedUserInfo</a>< T > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classTypedUserInfo.html#c7ad10a9ff002383518155c965ade85c">instance</a></td></tr> |
---|
87 | |
---|
88 | </table> |
---|
89 | <hr><a name="_details"></a><h2>Detailed Description</h2> |
---|
90 | <h3>template<typename T><br> |
---|
91 | class TypedUserInfo< T ></h3> |
---|
92 | |
---|
93 | TypeUserInfo is still an abstract class, but contrary to the <a class="el" href="classUserInfo.html" title="UserInfo is an abstract is for internal purposes only. Use CompoundUserInfo<T>...">UserInfo</a> class it is already templated. It serves as a bridge to non-abstract classes CompoundUserInfo<T> or ValuedUserInfo<T>. |
---|
94 | <p> |
---|
95 | There are two important features of this class. The first is a primitive mechanism bounding typeless methods DisassemblyTypelessInstance, resp. AssemblyTypelessInstance, to their typed virtual versions DisassemblyInstance, resp. AssemblyInstance. And the other is the only public attribute of this class, called 'instance', which is to be filled by the only instance of this class. Indeed, it is not possible to create any other instance outside this class (or its descendant classes), as the constructor is intentionally protected. <hr><h2>Member Function Documentation</h2> |
---|
96 | <a class="anchor" name="0f090c6525a3e8fb11634a553f467ede"></a><!-- doxytag: member="TypedUserInfo::Assembly" ref="0f090c6525a3e8fb11634a553f467ede" args="(DOMElement &element, const string tagName)" --> |
---|
97 | <div class="memitem"> |
---|
98 | <div class="memproto"> |
---|
99 | <div class="memtemplate"> |
---|
100 | template<class T> </div> |
---|
101 | <table class="memname"> |
---|
102 | <tr> |
---|
103 | <td class="memname">static T* UserInfo::Assembly </td> |
---|
104 | <td>(</td> |
---|
105 | <td class="paramtype">DOMElement & </td> |
---|
106 | <td class="paramname"> <em>element</em>, </td> |
---|
107 | </tr> |
---|
108 | <tr> |
---|
109 | <td class="paramkey"></td> |
---|
110 | <td></td> |
---|
111 | <td class="paramtype">const string </td> |
---|
112 | <td class="paramname"> <em>tagName</em></td><td> </td> |
---|
113 | </tr> |
---|
114 | <tr> |
---|
115 | <td></td> |
---|
116 | <td>)</td> |
---|
117 | <td></td><td></td><td><code> [inline, static, inherited]</code></td> |
---|
118 | </tr> |
---|
119 | </table> |
---|
120 | </div> |
---|
121 | <div class="memdoc"> |
---|
122 | |
---|
123 | <p> |
---|
124 | This 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. |
---|
125 | <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> |
---|
126 | |
---|
127 | </div> |
---|
128 | </div><p> |
---|
129 | <a class="anchor" name="1d402661b82feccb5265a70f65c242e1"></a><!-- doxytag: member="TypedUserInfo::Disassembly" ref="1d402661b82feccb5265a70f65c242e1" args="(T &instance, DOMElement &element, const string tagName, const string help)" --> |
---|
130 | <div class="memitem"> |
---|
131 | <div class="memproto"> |
---|
132 | <div class="memtemplate"> |
---|
133 | template<class T> </div> |
---|
134 | <table class="memname"> |
---|
135 | <tr> |
---|
136 | <td class="memname">static bool UserInfo::Disassembly </td> |
---|
137 | <td>(</td> |
---|
138 | <td class="paramtype">T & </td> |
---|
139 | <td class="paramname"> <em>instance</em>, </td> |
---|
140 | </tr> |
---|
141 | <tr> |
---|
142 | <td class="paramkey"></td> |
---|
143 | <td></td> |
---|
144 | <td class="paramtype">DOMElement & </td> |
---|
145 | <td class="paramname"> <em>element</em>, </td> |
---|
146 | </tr> |
---|
147 | <tr> |
---|
148 | <td class="paramkey"></td> |
---|
149 | <td></td> |
---|
150 | <td class="paramtype">const string </td> |
---|
151 | <td class="paramname"> <em>tagName</em>, </td> |
---|
152 | </tr> |
---|
153 | <tr> |
---|
154 | <td class="paramkey"></td> |
---|
155 | <td></td> |
---|
156 | <td class="paramtype">const string </td> |
---|
157 | <td class="paramname"> <em>help</em></td><td> </td> |
---|
158 | </tr> |
---|
159 | <tr> |
---|
160 | <td></td> |
---|
161 | <td>)</td> |
---|
162 | <td></td><td></td><td><code> [inline, static, inherited]</code></td> |
---|
163 | </tr> |
---|
164 | </table> |
---|
165 | </div> |
---|
166 | <div class="memdoc"> |
---|
167 | |
---|
168 | <p> |
---|
169 | This 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). |
---|
170 | <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> |
---|
171 | |
---|
172 | <p>Referenced by <a class="el" href="userinfo_8h-source.html#l00327">UserInfo::Disassembly()</a>, and <a class="el" href="userinfo_8h-source.html#l00479">CompoundUserInfo< T >::BindedElement< U >::DisassemblyComponentsToXML()</a>.</p> |
---|
173 | |
---|
174 | </div> |
---|
175 | </div><p> |
---|
176 | <a class="anchor" name="917b2257abc31b94c89ef3cd270e4a42"></a><!-- doxytag: member="TypedUserInfo::Disassembly" ref="917b2257abc31b94c89ef3cd270e4a42" args="(T &instance, DOMElement &element, const string tagName)" --> |
---|
177 | <div class="memitem"> |
---|
178 | <div class="memproto"> |
---|
179 | <div class="memtemplate"> |
---|
180 | template<class T> </div> |
---|
181 | <table class="memname"> |
---|
182 | <tr> |
---|
183 | <td class="memname">static bool UserInfo::Disassembly </td> |
---|
184 | <td>(</td> |
---|
185 | <td class="paramtype">T & </td> |
---|
186 | <td class="paramname"> <em>instance</em>, </td> |
---|
187 | </tr> |
---|
188 | <tr> |
---|
189 | <td class="paramkey"></td> |
---|
190 | <td></td> |
---|
191 | <td class="paramtype">DOMElement & </td> |
---|
192 | <td class="paramname"> <em>element</em>, </td> |
---|
193 | </tr> |
---|
194 | <tr> |
---|
195 | <td class="paramkey"></td> |
---|
196 | <td></td> |
---|
197 | <td class="paramtype">const string </td> |
---|
198 | <td class="paramname"> <em>tagName</em></td><td> </td> |
---|
199 | </tr> |
---|
200 | <tr> |
---|
201 | <td></td> |
---|
202 | <td>)</td> |
---|
203 | <td></td><td></td><td><code> [inline, static, inherited]</code></td> |
---|
204 | </tr> |
---|
205 | </table> |
---|
206 | </div> |
---|
207 | <div class="memdoc"> |
---|
208 | |
---|
209 | <p> |
---|
210 | This 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. |
---|
211 | <p>References <a class="el" href="userinfo_8h-source.html#l00297">UserInfo::Disassembly()</a>.</p> |
---|
212 | |
---|
213 | </div> |
---|
214 | </div><p> |
---|
215 | <a class="anchor" name="0c207ed6e5a4c975ed5bc9a758a063ca"></a><!-- doxytag: member="TypedUserInfo::DisassemblyComponentsToXML" ref="0c207ed6e5a4c975ed5bc9a758a063ca" args="(DOMElement &element)=0" --> |
---|
216 | <div class="memitem"> |
---|
217 | <div class="memproto"> |
---|
218 | <table class="memname"> |
---|
219 | <tr> |
---|
220 | <td class="memname">virtual bool BindingFrame::DisassemblyComponentsToXML </td> |
---|
221 | <td>(</td> |
---|
222 | <td class="paramtype">DOMElement & </td> |
---|
223 | <td class="paramname"> <em>element</em> </td> |
---|
224 | <td> ) </td> |
---|
225 | <td><code> [pure virtual, inherited]</code></td> |
---|
226 | </tr> |
---|
227 | </table> |
---|
228 | </div> |
---|
229 | <div class="memdoc"> |
---|
230 | |
---|
231 | <p> |
---|
232 | This method reads binded data, fill them into a new DOMNode, which then appends to the passed DOMElement |
---|
233 | <p>Implemented in <a class="el" href="classCompoundUserInfo_1_1BindedElement.html#6ef55cedb98f5d2dbcf92730f2fed939">CompoundUserInfo< T >::BindedElement< U ></a>.</p> |
---|
234 | |
---|
235 | </div> |
---|
236 | </div><p> |
---|
237 | <hr><h2>Member Data Documentation</h2> |
---|
238 | <a class="anchor" name="c7ad10a9ff002383518155c965ade85c"></a><!-- doxytag: member="TypedUserInfo::instance" ref="c7ad10a9ff002383518155c965ade85c" args="" --> |
---|
239 | <div class="memitem"> |
---|
240 | <div class="memproto"> |
---|
241 | <div class="memtemplate"> |
---|
242 | template<typename T> </div> |
---|
243 | <table class="memname"> |
---|
244 | <tr> |
---|
245 | <td class="memname">const <a class="el" href="classTypedUserInfo.html">TypedUserInfo</a><T>& <a class="el" href="classTypedUserInfo.html">TypedUserInfo</a>< T >::<a class="el" href="classTypedUserInfo.html#c7ad10a9ff002383518155c965ade85c">instance</a><code> [static, protected]</code> </td> |
---|
246 | </tr> |
---|
247 | </table> |
---|
248 | </div> |
---|
249 | <div class="memdoc"> |
---|
250 | |
---|
251 | <p> |
---|
252 | the only instance of this class (each type T has its own instance) which is used as a factory for processing related userinfos |
---|
253 | </div> |
---|
254 | </div><p> |
---|
255 | <hr>The documentation for this class was generated from the following file:<ul> |
---|
256 | <li>work/git/mixpp/bdm/<a class="el" href="userinfo_8h-source.html">userinfo.h</a></ul> |
---|
257 | </div> |
---|
258 | <hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 23 16:00:56 2008 for mixpp by |
---|
259 | <a href="http://www.doxygen.org/index.html"> |
---|
260 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address> |
---|
261 | </body> |
---|
262 | </html> |
---|