]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - docs/module-doc/classRequest.html
cca86ed5178e5eec5a411a6440dd8e5ead2b7bbb
[user/henk/code/inspircd.git] / docs / module-doc / classRequest.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3 <title>InspIRCd: Request Class Reference</title>
4 <link href="inspircd.doxygen.css" rel="stylesheet" type="text/css">
5 </head><body>
6 <!-- Generated by Doxygen 1.4.4-20050815 -->
7 <div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
8 <h1>Request Class Reference</h1><!-- doxytag: class="Request" --><!-- doxytag: inherits="ModuleMessage" -->The Request class is a unicast message directed at a given module.  
9 <a href="#_details">More...</a>
10 <p>
11 <code>#include &lt;<a class="el" href="modules_8h-source.html">modules.h</a>&gt;</code>
12 <p>
13 Inheritance diagram for Request:<p><center><img src="classRequest__inherit__graph.gif" border="0" usemap="#Request__inherit__map" alt="Inheritance graph"></center>
14 <map name="Request__inherit__map">
15 <area href="classModuleMessage.html" shape="rect" coords="7,81,127,108" alt="">
16 <area href="classclassbase.html" shape="rect" coords="27,7,107,33" alt="">
17 </map>
18 <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for Request:<p><center><img src="classRequest__coll__graph.gif" border="0" usemap="#Request__coll__map" alt="Collaboration graph"></center>
19 <map name="Request__coll__map">
20 <area href="classModuleMessage.html" shape="rect" coords="7,175,127,202" alt="">
21 <area href="classclassbase.html" shape="rect" coords="95,98,175,124" alt="">
22 <area href="classModule.html" shape="rect" coords="151,175,217,202" alt="">
23 </map>
24 <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classRequest-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
25 <tr><td></td></tr>
26 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
27 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRequest.html#Request_28char_20_2Aanydata_2C_20Module_20_2Asrc_2C_20Module_20_2Adst_29">Request</a> (char *anydata, <a class="el" href="classModule.html">Module</a> *src, <a class="el" href="classModule.html">Module</a> *dst)</td></tr>
28
29 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new Request.  <a href="#Request_28char_20_2Aanydata_2C_20Module_20_2Asrc_2C_20Module_20_2Adst_29"></a><br></td></tr>
30 <tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRequest.html#GetData_28_29">GetData</a> ()</td></tr>
31
32 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fetch the Request data.  <a href="#GetData_28_29"></a><br></td></tr>
33 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classModule.html">Module</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRequest.html#GetSource_28_29">GetSource</a> ()</td></tr>
34
35 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fetch the request source.  <a href="#GetSource_28_29"></a><br></td></tr>
36 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classModule.html">Module</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRequest.html#GetDest_28_29">GetDest</a> ()</td></tr>
37
38 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fetch the request destination (should be 'this' in the receiving module).  <a href="#GetDest_28_29"></a><br></td></tr>
39 <tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRequest.html#Send_28_29">Send</a> ()</td></tr>
40
41 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send the Request.  <a href="#Send_28_29"></a><br></td></tr>
42 <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
43 <tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRequest.html#data">data</a></td></tr>
44
45 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This member holds a pointer to arbitary data set by the emitter of the message.  <a href="#data"></a><br></td></tr>
46 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classModule.html">Module</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRequest.html#source">source</a></td></tr>
47
48 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is a pointer to the sender of the message, which can be used to directly trigger events, or to create a reply.  <a href="#source"></a><br></td></tr>
49 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classModule.html">Module</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRequest.html#dest">dest</a></td></tr>
50
51 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The single destination of the Request.  <a href="#dest"></a><br></td></tr>
52 </table>
53 <hr><a name="_details"></a><h2>Detailed Description</h2>
54 The Request class is a unicast message directed at a given module. 
55 <p>
56 When this class is properly instantiated it may be sent to a module using the <a class="el" href="classRequest.html#Send_28_29">Send()</a> method, which will call the given module's OnRequest method with this class as its parameter.
57 <p>
58
59 <p>
60 Definition at line <a class="el" href="modules_8h-source.html#l00175">175</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
61 <a class="anchor" name="Request_28char_20_2Aanydata_2C_20Module_20_2Asrc_2C_20Module_20_2Adst_29"></a><!-- doxytag: member="Request::Request" ref="Request_28char_20_2Aanydata_2C_20Module_20_2Asrc_2C_20Module_20_2Adst_29" args="(char *anydata, Module *src, Module *dst)" --><p>
62 <table class="mdTable" cellpadding="2" cellspacing="0">
63   <tr>
64     <td class="mdRow">
65       <table cellpadding="0" cellspacing="0" border="0">
66         <tr>
67           <td class="md" nowrap valign="top">Request::Request           </td>
68           <td class="md" valign="top">(&nbsp;</td>
69           <td class="md" nowrap valign="top">char *&nbsp;</td>
70           <td class="mdname" nowrap> <em>anydata</em>, </td>
71         </tr>
72         <tr>
73           <td class="md" nowrap align="right"></td>
74           <td class="md"></td>
75           <td class="md" nowrap><a class="el" href="classModule.html">Module</a> *&nbsp;</td>
76           <td class="mdname" nowrap> <em>src</em>, </td>
77         </tr>
78         <tr>
79           <td class="md" nowrap align="right"></td>
80           <td class="md"></td>
81           <td class="md" nowrap><a class="el" href="classModule.html">Module</a> *&nbsp;</td>
82           <td class="mdname" nowrap> <em>dst</em></td>
83         </tr>
84         <tr>
85           <td class="md"></td>
86           <td class="md">)&nbsp;</td>
87           <td class="md" colspan="2"></td>
88         </tr>
89       </table>
90     </td>
91   </tr>
92 </table>
93 <table cellspacing="5" cellpadding="0" border="0">
94   <tr>
95     <td>
96       &nbsp;
97     </td>
98     <td>
99
100 <p>
101 Create a new Request. 
102 <p>
103
104 <p>
105 Definition at line <a class="el" href="modules_8cpp-source.html#l00164">164</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00164"></a>00164 : <a class="code" href="classRequest.html#data">data</a>(anydata), <a class="code" href="classRequest.html#source">source</a>(src), <a class="code" href="classRequest.html#dest">dest</a>(dst) { };
106 </pre></div>
107 <p>
108     </td>
109   </tr>
110 </table>
111 <hr><h2>Member Function Documentation</h2>
112 <a class="anchor" name="GetData_28_29"></a><!-- doxytag: member="Request::GetData" ref="GetData_28_29" args="()" --><p>
113 <table class="mdTable" cellpadding="2" cellspacing="0">
114   <tr>
115     <td class="mdRow">
116       <table cellpadding="0" cellspacing="0" border="0">
117         <tr>
118           <td class="md" nowrap valign="top">char * Request::GetData           </td>
119           <td class="md" valign="top">(&nbsp;</td>
120           <td class="mdname1" valign="top" nowrap>          </td>
121           <td class="md" valign="top">&nbsp;)&nbsp;</td>
122           <td class="md" nowrap></td>
123         </tr>
124       </table>
125     </td>
126   </tr>
127 </table>
128 <table cellspacing="5" cellpadding="0" border="0">
129   <tr>
130     <td>
131       &nbsp;
132     </td>
133     <td>
134
135 <p>
136 Fetch the Request data. 
137 <p>
138
139 <p>
140 Definition at line <a class="el" href="modules_8cpp-source.html#l00166">166</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
141 <p>
142 References <a class="el" href="modules_8h-source.html#l00180">data</a>.<div class="fragment"><pre class="fragment"><a name="l00167"></a>00167 {
143 <a name="l00168"></a>00168         <span class="keywordflow">return</span> this-&gt;<a class="code" href="classRequest.html#data">data</a>;
144 <a name="l00169"></a>00169 }
145 </pre></div>
146 <p>
147     </td>
148   </tr>
149 </table>
150 <a class="anchor" name="GetDest_28_29"></a><!-- doxytag: member="Request::GetDest" ref="GetDest_28_29" args="()" --><p>
151 <table class="mdTable" cellpadding="2" cellspacing="0">
152   <tr>
153     <td class="mdRow">
154       <table cellpadding="0" cellspacing="0" border="0">
155         <tr>
156           <td class="md" nowrap valign="top"><a class="el" href="classModule.html">Module</a> * Request::GetDest           </td>
157           <td class="md" valign="top">(&nbsp;</td>
158           <td class="mdname1" valign="top" nowrap>          </td>
159           <td class="md" valign="top">&nbsp;)&nbsp;</td>
160           <td class="md" nowrap></td>
161         </tr>
162       </table>
163     </td>
164   </tr>
165 </table>
166 <table cellspacing="5" cellpadding="0" border="0">
167   <tr>
168     <td>
169       &nbsp;
170     </td>
171     <td>
172
173 <p>
174 Fetch the request destination (should be 'this' in the receiving module). 
175 <p>
176
177 <p>
178 Definition at line <a class="el" href="modules_8cpp-source.html#l00176">176</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
179 <p>
180 References <a class="el" href="modules_8h-source.html#l00187">dest</a>.<div class="fragment"><pre class="fragment"><a name="l00177"></a>00177 {
181 <a name="l00178"></a>00178         <span class="keywordflow">return</span> this-&gt;<a class="code" href="classRequest.html#dest">dest</a>;
182 <a name="l00179"></a>00179 }
183 </pre></div>
184 <p>
185     </td>
186   </tr>
187 </table>
188 <a class="anchor" name="GetSource_28_29"></a><!-- doxytag: member="Request::GetSource" ref="GetSource_28_29" args="()" --><p>
189 <table class="mdTable" cellpadding="2" cellspacing="0">
190   <tr>
191     <td class="mdRow">
192       <table cellpadding="0" cellspacing="0" border="0">
193         <tr>
194           <td class="md" nowrap valign="top"><a class="el" href="classModule.html">Module</a> * Request::GetSource           </td>
195           <td class="md" valign="top">(&nbsp;</td>
196           <td class="mdname1" valign="top" nowrap>          </td>
197           <td class="md" valign="top">&nbsp;)&nbsp;</td>
198           <td class="md" nowrap></td>
199         </tr>
200       </table>
201     </td>
202   </tr>
203 </table>
204 <table cellspacing="5" cellpadding="0" border="0">
205   <tr>
206     <td>
207       &nbsp;
208     </td>
209     <td>
210
211 <p>
212 Fetch the request source. 
213 <p>
214
215 <p>
216 Definition at line <a class="el" href="modules_8cpp-source.html#l00171">171</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
217 <p>
218 References <a class="el" href="modules_8h-source.html#l00184">source</a>.<div class="fragment"><pre class="fragment"><a name="l00172"></a>00172 {
219 <a name="l00173"></a>00173         <span class="keywordflow">return</span> this-&gt;<a class="code" href="classRequest.html#source">source</a>;
220 <a name="l00174"></a>00174 }
221 </pre></div>
222 <p>
223     </td>
224   </tr>
225 </table>
226 <a class="anchor" name="Send_28_29"></a><!-- doxytag: member="Request::Send" ref="Send_28_29" args="()" --><p>
227 <table class="mdTable" cellpadding="2" cellspacing="0">
228   <tr>
229     <td class="mdRow">
230       <table cellpadding="0" cellspacing="0" border="0">
231         <tr>
232           <td class="md" nowrap valign="top">char * Request::Send           </td>
233           <td class="md" valign="top">(&nbsp;</td>
234           <td class="mdname1" valign="top" nowrap>          </td>
235           <td class="md" valign="top">&nbsp;)&nbsp;</td>
236           <td class="md" nowrap><code> [virtual]</code></td>
237         </tr>
238       </table>
239     </td>
240   </tr>
241 </table>
242 <table cellspacing="5" cellpadding="0" border="0">
243   <tr>
244     <td>
245       &nbsp;
246     </td>
247     <td>
248
249 <p>
250 Send the Request. 
251 <p>
252 Upon returning the result will be arbitary data returned by the module you sent the request to. It is up to your module to know what this data is and how to deal with it.
253 <p>
254 Implements <a class="el" href="classModuleMessage.html#Send_28_29_3D_30">ModuleMessage</a>.
255 <p>
256 Definition at line <a class="el" href="modules_8cpp-source.html#l00181">181</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
257 <p>
258 References <a class="el" href="modules_8h-source.html#l00187">dest</a>, and <a class="el" href="modules_8cpp-source.html#l00262">Module::OnRequest()</a>.<div class="fragment"><pre class="fragment"><a name="l00182"></a>00182 {
259 <a name="l00183"></a>00183         <span class="keywordflow">if</span> (this-&gt;dest)
260 <a name="l00184"></a>00184         {
261 <a name="l00185"></a>00185                 <span class="keywordflow">return</span> <a class="code" href="classRequest.html#dest">dest</a>-&gt;<a class="code" href="classModule.html#OnRequest_28Request_20_2Arequest_29">OnRequest</a>(<span class="keyword">this</span>);
262 <a name="l00186"></a>00186         }
263 <a name="l00187"></a>00187         <span class="keywordflow">else</span>
264 <a name="l00188"></a>00188         {
265 <a name="l00189"></a>00189                 <span class="keywordflow">return</span> NULL;
266 <a name="l00190"></a>00190         }
267 <a name="l00191"></a>00191 }
268 </pre></div>
269 <p>
270     </td>
271   </tr>
272 </table>
273 <hr><h2>Member Data Documentation</h2>
274 <a class="anchor" name="data"></a><!-- doxytag: member="Request::data" ref="data" args="" --><p>
275 <table class="mdTable" cellpadding="2" cellspacing="0">
276   <tr>
277     <td class="mdRow">
278       <table cellpadding="0" cellspacing="0" border="0">
279         <tr>
280           <td class="md" nowrap valign="top">char* <a class="el" href="classRequest.html#data">Request::data</a><code> [protected]</code>          </td>
281         </tr>
282       </table>
283     </td>
284   </tr>
285 </table>
286 <table cellspacing="5" cellpadding="0" border="0">
287   <tr>
288     <td>
289       &nbsp;
290     </td>
291     <td>
292
293 <p>
294 This member holds a pointer to arbitary data set by the emitter of the message. 
295 <p>
296
297 <p>
298 Definition at line <a class="el" href="modules_8h-source.html#l00180">180</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
299 <p>
300 Referenced by <a class="el" href="modules_8cpp-source.html#l00166">GetData()</a>.    </td>
301   </tr>
302 </table>
303 <a class="anchor" name="dest"></a><!-- doxytag: member="Request::dest" ref="dest" args="" --><p>
304 <table class="mdTable" cellpadding="2" cellspacing="0">
305   <tr>
306     <td class="mdRow">
307       <table cellpadding="0" cellspacing="0" border="0">
308         <tr>
309           <td class="md" nowrap valign="top"><a class="el" href="classModule.html">Module</a>* <a class="el" href="classRequest.html#dest">Request::dest</a><code> [protected]</code>          </td>
310         </tr>
311       </table>
312     </td>
313   </tr>
314 </table>
315 <table cellspacing="5" cellpadding="0" border="0">
316   <tr>
317     <td>
318       &nbsp;
319     </td>
320     <td>
321
322 <p>
323 The single destination of the Request. 
324 <p>
325
326 <p>
327 Definition at line <a class="el" href="modules_8h-source.html#l00187">187</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
328 <p>
329 Referenced by <a class="el" href="modules_8cpp-source.html#l00176">GetDest()</a>, and <a class="el" href="modules_8cpp-source.html#l00181">Send()</a>.    </td>
330   </tr>
331 </table>
332 <a class="anchor" name="source"></a><!-- doxytag: member="Request::source" ref="source" args="" --><p>
333 <table class="mdTable" cellpadding="2" cellspacing="0">
334   <tr>
335     <td class="mdRow">
336       <table cellpadding="0" cellspacing="0" border="0">
337         <tr>
338           <td class="md" nowrap valign="top"><a class="el" href="classModule.html">Module</a>* <a class="el" href="classRequest.html#source">Request::source</a><code> [protected]</code>          </td>
339         </tr>
340       </table>
341     </td>
342   </tr>
343 </table>
344 <table cellspacing="5" cellpadding="0" border="0">
345   <tr>
346     <td>
347       &nbsp;
348     </td>
349     <td>
350
351 <p>
352 This is a pointer to the sender of the message, which can be used to directly trigger events, or to create a reply. 
353 <p>
354
355 <p>
356 Definition at line <a class="el" href="modules_8h-source.html#l00184">184</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
357 <p>
358 Referenced by <a class="el" href="modules_8cpp-source.html#l00171">GetSource()</a>.    </td>
359   </tr>
360 </table>
361 <hr>The documentation for this class was generated from the following files:<ul>
362 <li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
363 <hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:02:16 2005 for InspIRCd by&nbsp;
364 <a href="http://www.doxygen.org/index.html">
365 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
366 </body>
367 </html>