]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - docs/module-doc/classModule.html
Documentation update, 09/02/03
[user/henk/code/inspircd.git] / docs / module-doc / classModule.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3 <title>Module class Reference</title>
4 <link href="doxygen.css" rel="stylesheet" type="text/css">
5 </head><body>
6 <!-- Generated by Doxygen 1.3-rc2 -->
7 <center>
8 <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
9 <hr><h1>Module Class Reference</h1>Base class for all InspIRCd modules This class is the base class for InspIRCd modules. 
10 <a href="#_details">More...</a>
11 <p>
12 <code>#include &lt;<a class="el" href="modules_8h-source.html">modules.h</a>&gt;</code>
13 <p>
14 <p>Inheritance diagram for Module:
15 <p><center><img src="classModule.png" usemap="#Module_map" border="0" alt=""></center>
16 <map name="Module_map">
17 <area href="classclassbase.html" alt="classbase" shape="rect" coords="0,0,68,24">
18 </map>
19 <a href="classModule-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
20 <tr><td></td></tr>
21 <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
22 <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a0">Module</a> ()</td></tr>
23 <tr><td>&nbsp;</td><td><font size=-1><em>Default constructor creates a module class.</em> <a href="#a0"></a><em></em></font><br><br></td></tr>
24 <tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a1">~Module</a> ()</td></tr>
25 <tr><td>&nbsp;</td><td><font size=-1><em>Default destructor destroys a module class.</em> <a href="#a1"></a><em></em></font><br><br></td></tr>
26 <tr><td nowrap align=right valign=top>virtual <a class="el" href="classVersion.html">Version</a>&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a2">GetVersion</a> ()</td></tr>
27 <tr><td>&nbsp;</td><td><font size=-1><em>Returns the version number of a Module.</em> <a href="#a2"></a><em></em></font><br><br></td></tr>
28 <tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a3">OnUserConnect</a> (<a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
29 <tr><td>&nbsp;</td><td><font size=-1><em>Called when a user connects.</em> <a href="#a3"></a><em></em></font><br><br></td></tr>
30 <tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a4">OnUserQuit</a> (<a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
31 <tr><td>&nbsp;</td><td><font size=-1><em>Called when a user quits.</em> <a href="#a4"></a><em></em></font><br><br></td></tr>
32 <tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a5">OnUserJoin</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classchanrec.html">chanrec</a> *channel)</td></tr>
33 <tr><td>&nbsp;</td><td><font size=-1><em>Called when a user joins a channel.</em> <a href="#a5"></a><em></em></font><br><br></td></tr>
34 <tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a6">OnUserPart</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classchanrec.html">chanrec</a> *channel)</td></tr>
35 <tr><td>&nbsp;</td><td><font size=-1><em>Called when a user parts a channel.</em> <a href="#a6"></a><em></em></font><br><br></td></tr>
36 <tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a7">Module::OnPacketTransmit</a> (char *p)</td></tr>
37 <tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a8">Module::OnPacketReceive</a> (char *p)</td></tr>
38 <tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a9">OnRehash</a> ()</td></tr>
39 </table>
40 <hr><a name="_details"></a><h2>Detailed Description</h2>
41 Base class for all InspIRCd modules This class is the base class for InspIRCd modules.
42 <p>
43 All modules must inherit from this class, its methods will be called when irc server events occur. class inherited from module must be instantiated by the <a class="el" href="classModuleFactory.html">ModuleFactory</a> class (see relevent section) for the plugin to be initialised. 
44 <p>
45
46 <p>
47 Definition at line <a class="el" href="modules_8h-source.html#l00065">65</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
48 <a name="a0" doxytag="Module::Module"></a><p>
49 <table width="100%" cellpadding="2" cellspacing="0" border="0">
50   <tr>
51     <td class="md">
52       <table cellpadding="0" cellspacing="0" border="0">
53         <tr>
54           <td class="md" nowrap valign="top"> Module::Module </td>
55           <td class="md" valign="top">(&nbsp;</td>
56           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
57           <td class="md" valign="top">)&nbsp;</td>
58           <td class="md" nowrap></td>
59         </tr>
60
61       </table>
62     </td>
63   </tr>
64 </table>
65 <table cellspacing=5 cellpadding=0 border=0>
66   <tr>
67     <td>
68       &nbsp;
69     </td>
70     <td>
71
72 <p>
73 Default constructor creates a module class.
74 <p>
75
76 <p>
77 Definition at line <a class="el" href="modules_8cpp-source.html#l00027">27</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
78 <p>
79 <div class="fragment"><pre>00027 { }
80 </pre></div>    </td>
81   </tr>
82 </table>
83 <a name="a1" doxytag="Module::~Module"></a><p>
84 <table width="100%" cellpadding="2" cellspacing="0" border="0">
85   <tr>
86     <td class="md">
87       <table cellpadding="0" cellspacing="0" border="0">
88         <tr>
89           <td class="md" nowrap valign="top"> Module::~Module </td>
90           <td class="md" valign="top">(&nbsp;</td>
91           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
92           <td class="md" valign="top">)&nbsp;</td>
93           <td class="md" nowrap><code> [virtual]</code></td>
94         </tr>
95
96       </table>
97     </td>
98   </tr>
99 </table>
100 <table cellspacing=5 cellpadding=0 border=0>
101   <tr>
102     <td>
103       &nbsp;
104     </td>
105     <td>
106
107 <p>
108 Default destructor destroys a module class.
109 <p>
110
111 <p>
112 Definition at line <a class="el" href="modules_8cpp-source.html#l00028">28</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
113 <p>
114 <div class="fragment"><pre>00028 { }
115 </pre></div>    </td>
116   </tr>
117 </table>
118 <hr><h2>Member Function Documentation</h2>
119 <a name="a2" doxytag="Module::GetVersion"></a><p>
120 <table width="100%" cellpadding="2" cellspacing="0" border="0">
121   <tr>
122     <td class="md">
123       <table cellpadding="0" cellspacing="0" border="0">
124         <tr>
125           <td class="md" nowrap valign="top"> <a class="el" href="classVersion.html">Version</a> Module::GetVersion </td>
126           <td class="md" valign="top">(&nbsp;</td>
127           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
128           <td class="md" valign="top">)&nbsp;</td>
129           <td class="md" nowrap><code> [virtual]</code></td>
130         </tr>
131
132       </table>
133     </td>
134   </tr>
135 </table>
136 <table cellspacing=5 cellpadding=0 border=0>
137   <tr>
138     <td>
139       &nbsp;
140     </td>
141     <td>
142
143 <p>
144 Returns the version number of a Module.
145 <p>
146 The method should return a <a class="el" href="classVersion.html">Version</a> object with its version information assigned via <a class="el" href="classVersion.html#a0">Version::Version</a>
147 <p>
148 Definition at line <a class="el" href="modules_8cpp-source.html#l00036">36</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
149 <p>
150 <div class="fragment"><pre>00036 { <span class="keywordflow">return</span> <a class="code" href="classVersion.html">Version</a>(1,0,0,0); }
151 </pre></div>    </td>
152   </tr>
153 </table>
154 <a name="a8" doxytag="Module::Module::OnPacketReceive"></a><p>
155 <table width="100%" cellpadding="2" cellspacing="0" border="0">
156   <tr>
157     <td class="md">
158       <table cellpadding="0" cellspacing="0" border="0">
159         <tr>
160           <td class="md" nowrap valign="top"> virtual void Module::Module::OnPacketReceive </td>
161           <td class="md" valign="top">(&nbsp;</td>
162           <td class="md" nowrap valign="top">char *&nbsp;</td>
163           <td class="mdname1" valign="top" nowrap>&nbsp; <em>p</em>          </td>
164           <td class="md" valign="top">)&nbsp;</td>
165           <td class="md" nowrap><code> [virtual]</code></td>
166         </tr>
167
168       </table>
169     </td>
170   </tr>
171 </table>
172 <table cellspacing=5 cellpadding=0 border=0>
173   <tr>
174     <td>
175       &nbsp;
176     </td>
177     <td>
178
179 <p>
180     </td>
181   </tr>
182 </table>
183 <a name="a7" doxytag="Module::Module::OnPacketTransmit"></a><p>
184 <table width="100%" cellpadding="2" cellspacing="0" border="0">
185   <tr>
186     <td class="md">
187       <table cellpadding="0" cellspacing="0" border="0">
188         <tr>
189           <td class="md" nowrap valign="top"> virtual void Module::Module::OnPacketTransmit </td>
190           <td class="md" valign="top">(&nbsp;</td>
191           <td class="md" nowrap valign="top">char *&nbsp;</td>
192           <td class="mdname1" valign="top" nowrap>&nbsp; <em>p</em>          </td>
193           <td class="md" valign="top">)&nbsp;</td>
194           <td class="md" nowrap><code> [virtual]</code></td>
195         </tr>
196
197       </table>
198     </td>
199   </tr>
200 </table>
201 <table cellspacing=5 cellpadding=0 border=0>
202   <tr>
203     <td>
204       &nbsp;
205     </td>
206     <td>
207
208 <p>
209     </td>
210   </tr>
211 </table>
212 <a name="a9" doxytag="Module::OnRehash"></a><p>
213 <table width="100%" cellpadding="2" cellspacing="0" border="0">
214   <tr>
215     <td class="md">
216       <table cellpadding="0" cellspacing="0" border="0">
217         <tr>
218           <td class="md" nowrap valign="top"> void Module::OnRehash </td>
219           <td class="md" valign="top">(&nbsp;</td>
220           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
221           <td class="md" valign="top">)&nbsp;</td>
222           <td class="md" nowrap><code> [virtual]</code></td>
223         </tr>
224
225       </table>
226     </td>
227   </tr>
228 </table>
229 <table cellspacing=5 cellpadding=0 border=0>
230   <tr>
231     <td>
232       &nbsp;
233     </td>
234     <td>
235
236 <p>
237
238 <p>
239 Definition at line <a class="el" href="modules_8cpp-source.html#l00035">35</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
240 <p>
241 <div class="fragment"><pre>00035 { }
242 </pre></div>    </td>
243   </tr>
244 </table>
245 <a name="a3" doxytag="Module::OnUserConnect"></a><p>
246 <table width="100%" cellpadding="2" cellspacing="0" border="0">
247   <tr>
248     <td class="md">
249       <table cellpadding="0" cellspacing="0" border="0">
250         <tr>
251           <td class="md" nowrap valign="top"> void Module::OnUserConnect </td>
252           <td class="md" valign="top">(&nbsp;</td>
253           <td class="md" nowrap valign="top"><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
254           <td class="mdname1" valign="top" nowrap>&nbsp; <em>user</em>          </td>
255           <td class="md" valign="top">)&nbsp;</td>
256           <td class="md" nowrap><code> [virtual]</code></td>
257         </tr>
258
259       </table>
260     </td>
261   </tr>
262 </table>
263 <table cellspacing=5 cellpadding=0 border=0>
264   <tr>
265     <td>
266       &nbsp;
267     </td>
268     <td>
269
270 <p>
271 Called when a user connects.
272 <p>
273 The details of the connecting user are available to you in the parameter userrec *user
274 <p>
275 Definition at line <a class="el" href="modules_8cpp-source.html#l00029">29</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
276 <p>
277 <div class="fragment"><pre>00029 { }
278 </pre></div>    </td>
279   </tr>
280 </table>
281 <a name="a5" doxytag="Module::OnUserJoin"></a><p>
282 <table width="100%" cellpadding="2" cellspacing="0" border="0">
283   <tr>
284     <td class="md">
285       <table cellpadding="0" cellspacing="0" border="0">
286         <tr>
287           <td class="md" nowrap valign="top"> void Module::OnUserJoin </td>
288           <td class="md" valign="top">(&nbsp;</td>
289           <td class="md" nowrap valign="top"><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
290           <td class="mdname" nowrap>&nbsp; <em>user</em>, </td>
291         </tr>
292         <tr>
293           <td></td>
294           <td></td>
295           <td class="md" nowrap><a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td>
296           <td class="mdname" nowrap>&nbsp; <em>channel</em></td>
297         </tr>
298         <tr>
299           <td></td>
300           <td class="md">)&nbsp;</td>
301           <td class="md" colspan="2"><code> [virtual]</code></td>
302         </tr>
303
304       </table>
305     </td>
306   </tr>
307 </table>
308 <table cellspacing=5 cellpadding=0 border=0>
309   <tr>
310     <td>
311       &nbsp;
312     </td>
313     <td>
314
315 <p>
316 Called when a user joins a channel.
317 <p>
318 The details of the joining user are available to you in the parameter userrec *user, and the details of the channel they have joined is available in the variable chanrec *channel
319 <p>
320 Definition at line <a class="el" href="modules_8cpp-source.html#l00031">31</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
321 <p>
322 <div class="fragment"><pre>00031 { }
323 </pre></div>    </td>
324   </tr>
325 </table>
326 <a name="a6" doxytag="Module::OnUserPart"></a><p>
327 <table width="100%" cellpadding="2" cellspacing="0" border="0">
328   <tr>
329     <td class="md">
330       <table cellpadding="0" cellspacing="0" border="0">
331         <tr>
332           <td class="md" nowrap valign="top"> void Module::OnUserPart </td>
333           <td class="md" valign="top">(&nbsp;</td>
334           <td class="md" nowrap valign="top"><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
335           <td class="mdname" nowrap>&nbsp; <em>user</em>, </td>
336         </tr>
337         <tr>
338           <td></td>
339           <td></td>
340           <td class="md" nowrap><a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td>
341           <td class="mdname" nowrap>&nbsp; <em>channel</em></td>
342         </tr>
343         <tr>
344           <td></td>
345           <td class="md">)&nbsp;</td>
346           <td class="md" colspan="2"><code> [virtual]</code></td>
347         </tr>
348
349       </table>
350     </td>
351   </tr>
352 </table>
353 <table cellspacing=5 cellpadding=0 border=0>
354   <tr>
355     <td>
356       &nbsp;
357     </td>
358     <td>
359
360 <p>
361 Called when a user parts a channel.
362 <p>
363 The details of the leaving user are available to you in the parameter userrec *user, and the details of the channel they have left is available in the variable chanrec *channel
364 <p>
365 Definition at line <a class="el" href="modules_8cpp-source.html#l00032">32</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
366 <p>
367 <div class="fragment"><pre>00032 { }
368 </pre></div>    </td>
369   </tr>
370 </table>
371 <a name="a4" doxytag="Module::OnUserQuit"></a><p>
372 <table width="100%" cellpadding="2" cellspacing="0" border="0">
373   <tr>
374     <td class="md">
375       <table cellpadding="0" cellspacing="0" border="0">
376         <tr>
377           <td class="md" nowrap valign="top"> void Module::OnUserQuit </td>
378           <td class="md" valign="top">(&nbsp;</td>
379           <td class="md" nowrap valign="top"><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
380           <td class="mdname1" valign="top" nowrap>&nbsp; <em>user</em>          </td>
381           <td class="md" valign="top">)&nbsp;</td>
382           <td class="md" nowrap><code> [virtual]</code></td>
383         </tr>
384
385       </table>
386     </td>
387   </tr>
388 </table>
389 <table cellspacing=5 cellpadding=0 border=0>
390   <tr>
391     <td>
392       &nbsp;
393     </td>
394     <td>
395
396 <p>
397 Called when a user quits.
398 <p>
399 The details of the exiting user are available to you in the parameter userrec *user
400 <p>
401 Definition at line <a class="el" href="modules_8cpp-source.html#l00030">30</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
402 <p>
403 <div class="fragment"><pre>00030 { }
404 </pre></div>    </td>
405   </tr>
406 </table>
407 <hr>The documentation for this class was generated from the following files:<ul>
408 <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>
409 <hr><address style="align: right;"><small>Generated on Sun Feb 9 12:48:18 2003 for InspIRCd by
410 <a href="http://www.doxygen.org/index.html">
411 <img src="doxygen.png" alt="doxygen" align="middle" border=0 
412 width=110 height=53></a>1.3-rc2 </small></address>
413 </body>
414 </html>