]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - docs/module-doc/modules_8h-source.html
New documentation!
[user/henk/code/inspircd.git] / docs / module-doc / modules_8h-source.html
index e76cb5143c5f477486ca789de524fa458d646998..c9a740a950e05aa42bd3675131df8df51033a3ec 100644 (file)
@@ -79,7 +79,7 @@
 00076 <span class="comment">// loaded modules in a readable simple way, e.g.:</span>
 00077 <span class="comment">// 'FOREACH_MOD OnConnect(user);'</span>
 00078 
-<a name="l00079"></a><a class="code" href="modules_8h.html#a24">00079</a> <span class="preprocessor">#define FOREACH_MOD for (int i = 0; i &lt;= MODCOUNT; i++) modules[i]-&gt;</span>
+<a name="l00079"></a><a class="code" href="modules_8h.html#a24">00079</a> <span class="preprocessor">#define FOREACH_MOD for (int _i = 0; _i &lt;= MODCOUNT; _i++) modules[_i]-&gt;</span>
 00080 <span class="preprocessor"></span>
 00081 <span class="comment">// This define is similar to the one above but returns a result in MOD_RESULT.</span>
 00082 <span class="comment">// The first module to return a nonzero result is the value to be accepted,</span>
@@ -88,8 +88,8 @@
 00085 <span class="comment">// *********************************************************************************************</span>
 00086 
 <a name="l00087"></a><a class="code" href="modules_8h.html#a25">00087</a> <span class="preprocessor">#define FOREACH_RESULT(x) { MOD_RESULT = 0; \</span>
-00088 <span class="preprocessor">                        for (int i = 0; i &lt;= MODCOUNT; i++) { \</span>
-00089 <span class="preprocessor">                        int res = modules[i]-&gt;x ; \</span>
+00088 <span class="preprocessor">                        for (int _i = 0; _i &lt;= MODCOUNT; _i++) { \</span>
+00089 <span class="preprocessor">                        int res = modules[_i]-&gt;x ; \</span>
 00090 <span class="preprocessor">                        if (res != 0) { \</span>
 00091 <span class="preprocessor">                                MOD_RESULT = res; \</span>
 00092 <span class="preprocessor">                                break; \</span>
 00131 <span class="comment">// Forward-delacare module for ModuleMessage etc</span>
 00132 <span class="keyword">class </span><a class="code" href="classModule.html">Module</a>;
 00133 
-<a name="l00138"></a><a class="code" href="classModuleMessage.html">00138</a> <span class="keyword">class </span><a class="code" href="classModuleMessage.html">ModuleMessage</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-00139 {
-00140  <span class="keyword">public</span>:
-00143         <span class="keyword">virtual</span> <span class="keywordtype">char</span>* <a class="code" href="classModuleMessage.html#a0">Send</a>() = 0;
-00144 };
-00145 
-<a name="l00151"></a><a class="code" href="classRequest.html">00151</a> <span class="keyword">class </span><a class="code" href="classRequest.html">Request</a> : <span class="keyword">public</span> <a class="code" href="classModuleMessage.html">ModuleMessage</a>
-00152 {
-00153  <span class="keyword">protected</span>:
-<a name="l00156"></a><a class="code" href="classRequest.html#p0">00156</a>         <span class="keywordtype">char</span>* <a class="code" href="classRequest.html#p0">data</a>;
-<a name="l00160"></a><a class="code" href="classRequest.html#p1">00160</a>         <a class="code" href="classModule.html">Module</a>* <a class="code" href="classRequest.html#p1">source</a>;
-<a name="l00163"></a><a class="code" href="classRequest.html#p2">00163</a>         <a class="code" href="classModule.html">Module</a>* <a class="code" href="classRequest.html#p2">dest</a>;
-00164  <span class="keyword">public</span>:
-00167         <a class="code" href="classRequest.html#a0">Request</a>(<span class="keywordtype">char</span>* anydata, <a class="code" href="classModule.html">Module</a>* src, <a class="code" href="classModule.html">Module</a>* dst);
-00170         <span class="keywordtype">char</span>* <a class="code" href="classRequest.html#a1">GetData</a>();
-00173         <a class="code" href="classModule.html">Module</a>* <a class="code" href="classRequest.html#a2">GetSource</a>();
-00176         <a class="code" href="classModule.html">Module</a>* <a class="code" href="classRequest.html#a3">GetDest</a>();
-00182         <span class="keywordtype">char</span>* <a class="code" href="classRequest.html#a4">Send</a>();
-00183 };
-00184 
-00185 
-<a name="l00191"></a><a class="code" href="classEvent.html">00191</a> <span class="keyword">class </span><a class="code" href="classEvent.html">Event</a> : <span class="keyword">public</span> <a class="code" href="classModuleMessage.html">ModuleMessage</a>
-00192 {
-00193  <span class="keyword">protected</span>:
-<a name="l00196"></a><a class="code" href="classEvent.html#p0">00196</a>         <span class="keywordtype">char</span>* <a class="code" href="classEvent.html#p0">data</a>;
-<a name="l00200"></a><a class="code" href="classEvent.html#p1">00200</a>         <a class="code" href="classModule.html">Module</a>* <a class="code" href="classEvent.html#p1">source</a>;
-<a name="l00205"></a><a class="code" href="classEvent.html#p2">00205</a>         std::string <a class="code" href="classEvent.html#p2">id</a>;
-00206  <span class="keyword">public</span>:
-00209         <a class="code" href="classEvent.html#a0">Event</a>(<span class="keywordtype">char</span>* anydata, <a class="code" href="classModule.html">Module</a>* src, std::string eventid);
-00212         <span class="keywordtype">char</span>* <a class="code" href="classEvent.html#a1">GetData</a>();
-00215         <a class="code" href="classModule.html">Module</a>* <a class="code" href="classEvent.html#a2">GetSource</a>();
-00219         std::string <a class="code" href="classEvent.html#a3">GetEventID</a>();
-00224         <span class="keywordtype">char</span>* <a class="code" href="classEvent.html#a4">Send</a>();
-00225 };
-00226 
-00227 
-<a name="l00233"></a><a class="code" href="classModule.html">00233</a> <span class="keyword">class </span><a class="code" href="classModule.html">Module</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-00234 {
-00235  <span class="keyword">public</span>:
-00236 
-00240         <a class="code" href="classModule.html#a0">Module</a>();
-00241 
-00245         <span class="keyword">virtual</span> <a class="code" href="classModule.html#a1">~Module</a>();
-00246 
-00251         <span class="keyword">virtual</span> <a class="code" href="classVersion.html">Version</a> <a class="code" href="classModule.html#a2">GetVersion</a>();
-00252 
-00256         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a3">OnUserConnect</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-00257 
-00263         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a4">OnUserQuit</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-00264 
-00270         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a5">OnUserDisconnect</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-00271 
-00276         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a6">OnUserJoin</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel);
-00277 
-00282         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a7">OnUserPart</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel);
-00283 
-00289         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a8">OnPacketTransmit</a>(std::string &amp;data, std::string serv);
-00290 
-00297         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a9">OnPacketReceive</a>(std::string &amp;data, std::string serv);
-00298 
-00304         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a10">OnRehash</a>();
-00305 
-00314         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a11">OnServerRaw</a>(std::string &amp;raw, <span class="keywordtype">bool</span> inbound, <a class="code" href="classuserrec.html">userrec</a>* user);
-00315 
-00325         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a12">OnExtendedMode</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <span class="keywordtype">void</span>* target, <span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> mode_on, <a class="code" href="modules_8h.html#a32">string_list</a> &amp;params);
-00326         
-00340         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a13">OnUserPreJoin</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <span class="keyword">const</span> <span class="keywordtype">char</span>* cname);
-00341         
-00347         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a14">OnUserPreKick</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, std::string reason);
-00348 
-00353         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a15">OnUserKick</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, std::string reason);
-00354 
-00359         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a16">OnOper</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-00360         
-00369         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a17">OnInfo</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-00370         
-00375         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a18">OnWhois</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="classuserrec.html">userrec</a>* dest);
-00376         
-00382         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a19">OnUserPreInvite</a>(<a class="code" href="classuserrec.html">userrec</a>* source,<a class="code" href="classuserrec.html">userrec</a>* dest,<a class="code" href="classchanrec.html">chanrec</a>* channel);
-00383         
-00392         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a20">OnUserPreMessage</a>(<a class="code" href="classuserrec.html">userrec</a>* user,<span class="keywordtype">void</span>* dest,<span class="keywordtype">int</span> target_type, std::string &amp;text);
-00393 
-00405         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a21">OnUserPreNotice</a>(<a class="code" href="classuserrec.html">userrec</a>* user,<span class="keywordtype">void</span>* dest,<span class="keywordtype">int</span> target_type, std::string &amp;text);
-00406         
-00414         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a22">OnUserPreNick</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string newnick);
-00415         
-00423         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a23">OnUserPostNick</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string oldnick);
-00424 
-00446         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a24">OnAccessCheck</a>(<a class="code" href="classuserrec.html">userrec</a>* source,<a class="code" href="classuserrec.html">userrec</a>* dest,<a class="code" href="classchanrec.html">chanrec</a>* channel,<span class="keywordtype">int</span> access_type);
-00447 
-00453         <span class="keyword">virtual</span> <a class="code" href="modules_8h.html#a32">string_list</a> <a class="code" href="classModule.html#a25">OnUserSync</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-00454 
-00460         <span class="keyword">virtual</span> <a class="code" href="modules_8h.html#a32">string_list</a> <a class="code" href="classModule.html#a26">OnChannelSync</a>(<a class="code" href="classchanrec.html">chanrec</a>* chan);
-00461 
-00465         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a27">On005Numeric</a>(std::string &amp;output);
-00466 
-00476         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a28">OnKill</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="classuserrec.html">userrec</a>* dest, std::string reason);
-00477 
-00488         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a29">OnLoadModule</a>(<a class="code" href="classModule.html">Module</a>* mod,std::string name);
-00489 
-00495         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a30">OnBackgroundTimer</a>(time_t curtime);
-00496 
-00504         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a31">OnSendList</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel, <span class="keywordtype">char</span> mode);
-00505 
-00516         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a32">OnPreCommand</a>(std::string command, <span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user);
-00517 
-00526         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classModule.html#a33">OnCheckReady</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-00527 
-00535         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a34">OnUserRegister</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-00536 
-00542         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a35">OnRawMode</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <span class="keywordtype">char</span> mode, std::string param, <span class="keywordtype">bool</span> adding, <span class="keywordtype">int</span> pcnt);
-00543 
-00549         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a36">OnCheckInvite</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan);
-00550 
-00557         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a37">OnCheckKey</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, std::string keygiven);
-00558 
-00564         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a38">OnCheckLimit</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan);
-00565 
-00571         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a39">OnCheckBan</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan);
-00572 
-00576         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a40">OnStats</a>(<span class="keywordtype">char</span> symbol);
-00577 
-00581         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a41">OnChangeLocalUserHost</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string newhost);
-00582 
-00586         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a42">OnChangeLocalUserGECOS</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string newhost); 
-00587 
-00591         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a43">OnLocalTopicChange</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, std::string topic);
-00592 
-00603         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a44">OnMeshToken</a>(<span class="keywordtype">char</span> token,<a class="code" href="modules_8h.html#a32">string_list</a> params,<a class="code" href="classserverrec.html">serverrec</a>* source,<a class="code" href="classserverrec.html">serverrec</a>* reply, std::string tcp_host,std::string ipaddr,<span class="keywordtype">int</span> port);
-00604 
-00610         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a45">OnEvent</a>(<a class="code" href="classEvent.html">Event</a>* event);
-00611 
-00618         <span class="keyword">virtual</span> <span class="keywordtype">char</span>* <a class="code" href="classModule.html#a46">OnRequest</a>(<a class="code" href="classRequest.html">Request</a>* request);
-00619 };
-00620 
-00621 
-<a name="l00627"></a><a class="code" href="classServer.html">00627</a> <span class="keyword">class </span><a class="code" href="classServer.html">Server</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-00628 {
-00629  <span class="keyword">public</span>:
-00633         <a class="code" href="classServer.html#a0">Server</a>();
-00637         <span class="keyword">virtual</span> <a class="code" href="classServer.html#a1">~Server</a>();
-00638 
-00642         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a2">SendOpers</a>(std::string s);
-00647         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a3">Log</a>(<span class="keywordtype">int</span> level, std::string s);
-00652         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a4">Send</a>(<span class="keywordtype">int</span> Socket, std::string s);
-00657         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a5">SendServ</a>(<span class="keywordtype">int</span> Socket, std::string s);
-00662         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a6">SendFrom</a>(<span class="keywordtype">int</span> Socket, <a class="code" href="classuserrec.html">userrec</a>* User, std::string s);
-00677         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a7">SendTo</a>(<a class="code" href="classuserrec.html">userrec</a>* Source, <a class="code" href="classuserrec.html">userrec</a>* Dest, std::string s);
-00684         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a8">SendChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Channel, std::string s,<span class="keywordtype">bool</span> IncludeSender);
-00689         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a9">CommonChannels</a>(<a class="code" href="classuserrec.html">userrec</a>* u1, <a class="code" href="classuserrec.html">userrec</a>* u2);
-00697         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a10">SendCommon</a>(<a class="code" href="classuserrec.html">userrec</a>* User, std::string text,<span class="keywordtype">bool</span> IncludeSender);
-00702         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a11">SendWallops</a>(<a class="code" href="classuserrec.html">userrec</a>* User, std::string text);
-00703 
-00707         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a12">IsNick</a>(std::string nick);
-00711         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classServer.html#a13">CountUsers</a>(<a class="code" href="classchanrec.html">chanrec</a>* c);
-00715         <span class="keyword">virtual</span> <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="classServer.html#a14">FindNick</a>(std::string nick);
-00719         <span class="keyword">virtual</span> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#a15">FindChannel</a>(std::string channel);
-00724         <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a16">ChanMode</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Chan);
-00728         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a17">IsOnChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Chan);
-00731         <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a18">GetServerName</a>();
-00734         <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a19">GetNetworkName</a>();
-00740         <span class="keyword">virtual</span> <a class="code" href="classAdmin.html">Admin</a> <a class="code" href="classServer.html#a20">GetAdmin</a>();
-00759         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a21">AddExtendedMode</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> requires_oper, <span class="keywordtype">int</span> params_when_on, <span class="keywordtype">int</span> params_when_off);
-00760 
-00782         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a22">AddExtendedListMode</a>(<span class="keywordtype">char</span> modechar);
-00783 
-00801         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a23">AddCommand</a>(<span class="keywordtype">char</span>* cmd, handlerfunc f, <span class="keywordtype">char</span> flags, <span class="keywordtype">int</span> minparams, <span class="keywordtype">char</span>* source);
-00802          
-00824         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a24">SendMode</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user);
-00825         
-00838         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a25">SendToModeMask</a>(std::string modes, <span class="keywordtype">int</span> flags, std::string text);
-00839 
-00845         <span class="keyword">virtual</span> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#a26">JoinUserToChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string cname, std::string key);
-00846         
-00852         <span class="keyword">virtual</span> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#a27">PartUserFromChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string cname, std::string reason);
-00853         
-00859         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a28">ChangeUserNick</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string nickname);
-00860         
-00871         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a29">QuitUser</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string reason);
-00872         
-00877         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a30">MatchText</a>(std::string sliteral, std::string spattern);
+00134 <span class="comment">// Thanks to Rob (from anope) for the idea of this message passing API</span>
+00135 <span class="comment">// (its been done before, but this seemed a very neat and tidy way...</span>
+00136 
+<a name="l00141"></a><a class="code" href="classModuleMessage.html">00141</a> <span class="keyword">class </span><a class="code" href="classModuleMessage.html">ModuleMessage</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
+00142 {
+00143  <span class="keyword">public</span>:
+00146         <span class="keyword">virtual</span> <span class="keywordtype">char</span>* <a class="code" href="classModuleMessage.html#a0">Send</a>() = 0;
+00147 };
+00148 
+<a name="l00154"></a><a class="code" href="classRequest.html">00154</a> <span class="keyword">class </span><a class="code" href="classRequest.html">Request</a> : <span class="keyword">public</span> <a class="code" href="classModuleMessage.html">ModuleMessage</a>
+00155 {
+00156  <span class="keyword">protected</span>:
+<a name="l00159"></a><a class="code" href="classRequest.html#p0">00159</a>         <span class="keywordtype">char</span>* <a class="code" href="classRequest.html#p0">data</a>;
+<a name="l00163"></a><a class="code" href="classRequest.html#p1">00163</a>         <a class="code" href="classModule.html">Module</a>* <a class="code" href="classRequest.html#p1">source</a>;
+<a name="l00166"></a><a class="code" href="classRequest.html#p2">00166</a>         <a class="code" href="classModule.html">Module</a>* <a class="code" href="classRequest.html#p2">dest</a>;
+00167  <span class="keyword">public</span>:
+00170         <a class="code" href="classRequest.html#a0">Request</a>(<span class="keywordtype">char</span>* anydata, <a class="code" href="classModule.html">Module</a>* src, <a class="code" href="classModule.html">Module</a>* dst);
+00173         <span class="keywordtype">char</span>* <a class="code" href="classRequest.html#a1">GetData</a>();
+00176         <a class="code" href="classModule.html">Module</a>* <a class="code" href="classRequest.html#a2">GetSource</a>();
+00179         <a class="code" href="classModule.html">Module</a>* <a class="code" href="classRequest.html#a3">GetDest</a>();
+00185         <span class="keywordtype">char</span>* <a class="code" href="classRequest.html#a4">Send</a>();
+00186 };
+00187 
+00188 
+<a name="l00194"></a><a class="code" href="classEvent.html">00194</a> <span class="keyword">class </span><a class="code" href="classEvent.html">Event</a> : <span class="keyword">public</span> <a class="code" href="classModuleMessage.html">ModuleMessage</a>
+00195 {
+00196  <span class="keyword">protected</span>:
+<a name="l00199"></a><a class="code" href="classEvent.html#p0">00199</a>         <span class="keywordtype">char</span>* <a class="code" href="classEvent.html#p0">data</a>;
+<a name="l00203"></a><a class="code" href="classEvent.html#p1">00203</a>         <a class="code" href="classModule.html">Module</a>* <a class="code" href="classEvent.html#p1">source</a>;
+<a name="l00208"></a><a class="code" href="classEvent.html#p2">00208</a>         std::string <a class="code" href="classEvent.html#p2">id</a>;
+00209  <span class="keyword">public</span>:
+00212         <a class="code" href="classEvent.html#a0">Event</a>(<span class="keywordtype">char</span>* anydata, <a class="code" href="classModule.html">Module</a>* src, std::string eventid);
+00215         <span class="keywordtype">char</span>* <a class="code" href="classEvent.html#a1">GetData</a>();
+00218         <a class="code" href="classModule.html">Module</a>* <a class="code" href="classEvent.html#a2">GetSource</a>();
+00222         std::string <a class="code" href="classEvent.html#a3">GetEventID</a>();
+00227         <span class="keywordtype">char</span>* <a class="code" href="classEvent.html#a4">Send</a>();
+00228 };
+00229 
+00230 
+<a name="l00236"></a><a class="code" href="classModule.html">00236</a> <span class="keyword">class </span><a class="code" href="classModule.html">Module</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
+00237 {
+00238  <span class="keyword">public</span>:
+00239 
+00243         <a class="code" href="classModule.html#a0">Module</a>();
+00244 
+00248         <span class="keyword">virtual</span> <a class="code" href="classModule.html#a1">~Module</a>();
+00249 
+00254         <span class="keyword">virtual</span> <a class="code" href="classVersion.html">Version</a> <a class="code" href="classModule.html#a2">GetVersion</a>();
+00255 
+00259         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a3">OnUserConnect</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
+00260 
+00266         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a4">OnUserQuit</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
+00267 
+00273         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a5">OnUserDisconnect</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
+00274 
+00279         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a6">OnUserJoin</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel);
+00280 
+00285         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a7">OnUserPart</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel);
+00286 
+00292         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a8">OnPacketTransmit</a>(std::string &amp;data, std::string serv);
+00293 
+00300         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a9">OnPacketReceive</a>(std::string &amp;data, std::string serv);
+00301 
+00307         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a10">OnRehash</a>();
+00308 
+00317         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a11">OnServerRaw</a>(std::string &amp;raw, <span class="keywordtype">bool</span> inbound, <a class="code" href="classuserrec.html">userrec</a>* user);
+00318 
+00328         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a12">OnExtendedMode</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <span class="keywordtype">void</span>* target, <span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> mode_on, <a class="code" href="modules_8h.html#a32">string_list</a> &amp;params);
+00329         
+00343         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a13">OnUserPreJoin</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <span class="keyword">const</span> <span class="keywordtype">char</span>* cname);
+00344         
+00350         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a14">OnUserPreKick</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, std::string reason);
+00351 
+00356         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a15">OnUserKick</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, std::string reason);
+00357 
+00362         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a16">OnOper</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
+00363         
+00372         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a17">OnInfo</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
+00373         
+00378         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a18">OnWhois</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="classuserrec.html">userrec</a>* dest);
+00379         
+00385         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a19">OnUserPreInvite</a>(<a class="code" href="classuserrec.html">userrec</a>* source,<a class="code" href="classuserrec.html">userrec</a>* dest,<a class="code" href="classchanrec.html">chanrec</a>* channel);
+00386         
+00395         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a20">OnUserPreMessage</a>(<a class="code" href="classuserrec.html">userrec</a>* user,<span class="keywordtype">void</span>* dest,<span class="keywordtype">int</span> target_type, std::string &amp;text);
+00396 
+00408         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a21">OnUserPreNotice</a>(<a class="code" href="classuserrec.html">userrec</a>* user,<span class="keywordtype">void</span>* dest,<span class="keywordtype">int</span> target_type, std::string &amp;text);
+00409         
+00417         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a22">OnUserPreNick</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string newnick);
+00418         
+00426         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a23">OnUserPostNick</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string oldnick);
+00427 
+00449         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a24">OnAccessCheck</a>(<a class="code" href="classuserrec.html">userrec</a>* source,<a class="code" href="classuserrec.html">userrec</a>* dest,<a class="code" href="classchanrec.html">chanrec</a>* channel,<span class="keywordtype">int</span> access_type);
+00450 
+00456         <span class="keyword">virtual</span> <a class="code" href="modules_8h.html#a32">string_list</a> <a class="code" href="classModule.html#a25">OnUserSync</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
+00457 
+00463         <span class="keyword">virtual</span> <a class="code" href="modules_8h.html#a32">string_list</a> <a class="code" href="classModule.html#a26">OnChannelSync</a>(<a class="code" href="classchanrec.html">chanrec</a>* chan);
+00464 
+00468         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a27">On005Numeric</a>(std::string &amp;output);
+00469 
+00479         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a28">OnKill</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="classuserrec.html">userrec</a>* dest, std::string reason);
+00480 
+00491         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a29">OnLoadModule</a>(<a class="code" href="classModule.html">Module</a>* mod,std::string name);
+00492 
+00498         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a30">OnBackgroundTimer</a>(time_t curtime);
+00499 
+00507         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a31">OnSendList</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel, <span class="keywordtype">char</span> mode);
+00508 
+00519         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a32">OnPreCommand</a>(std::string command, <span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user);
+00520 
+00529         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classModule.html#a33">OnCheckReady</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
+00530 
+00538         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a34">OnUserRegister</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
+00539 
+00545         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a35">OnRawMode</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <span class="keywordtype">char</span> mode, std::string param, <span class="keywordtype">bool</span> adding, <span class="keywordtype">int</span> pcnt);
+00546 
+00552         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a36">OnCheckInvite</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan);
+00553 
+00560         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a37">OnCheckKey</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, std::string keygiven);
+00561 
+00567         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a38">OnCheckLimit</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan);
+00568 
+00574         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a39">OnCheckBan</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan);
+00575 
+00579         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a40">OnStats</a>(<span class="keywordtype">char</span> symbol);
+00580 
+00584         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a41">OnChangeLocalUserHost</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string newhost);
+00585 
+00589         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a42">OnChangeLocalUserGECOS</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string newhost); 
+00590 
+00594         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a43">OnLocalTopicChange</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, std::string topic);
+00595 
+00606         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a44">OnMeshToken</a>(<span class="keywordtype">char</span> token,<a class="code" href="modules_8h.html#a32">string_list</a> params,<a class="code" href="classserverrec.html">serverrec</a>* source,<a class="code" href="classserverrec.html">serverrec</a>* reply, std::string tcp_host,std::string ipaddr,<span class="keywordtype">int</span> port);
+00607 
+00613         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a45">OnEvent</a>(<a class="code" href="classEvent.html">Event</a>* event);
+00614 
+00621         <span class="keyword">virtual</span> <span class="keywordtype">char</span>* <a class="code" href="classModule.html#a46">OnRequest</a>(<a class="code" href="classRequest.html">Request</a>* request);
+00622 
+00629         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a47">OnOperCompare</a>(std::string password, std::string input);
+00630 
+00636         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a48">OnGlobalOper</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
+00637 
+00642         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a49">OnGlobalConnect</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
+00643 
+00644 };
+00645 
+00646 
+<a name="l00652"></a><a class="code" href="classServer.html">00652</a> <span class="keyword">class </span><a class="code" href="classServer.html">Server</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
+00653 {
+00654  <span class="keyword">public</span>:
+00658         <a class="code" href="classServer.html#a0">Server</a>();
+00662         <span class="keyword">virtual</span> <a class="code" href="classServer.html#a1">~Server</a>();
+00663 
+00667         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a2">SendOpers</a>(std::string s);
+00672         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a3">Log</a>(<span class="keywordtype">int</span> level, std::string s);
+00677         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a4">Send</a>(<span class="keywordtype">int</span> Socket, std::string s);
+00682         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a5">SendServ</a>(<span class="keywordtype">int</span> Socket, std::string s);
+00687         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a6">SendFrom</a>(<span class="keywordtype">int</span> Socket, <a class="code" href="classuserrec.html">userrec</a>* User, std::string s);
+00702         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a7">SendTo</a>(<a class="code" href="classuserrec.html">userrec</a>* Source, <a class="code" href="classuserrec.html">userrec</a>* Dest, std::string s);
+00709         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a8">SendChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Channel, std::string s,<span class="keywordtype">bool</span> IncludeSender);
+00714         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a9">CommonChannels</a>(<a class="code" href="classuserrec.html">userrec</a>* u1, <a class="code" href="classuserrec.html">userrec</a>* u2);
+00722         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a10">SendCommon</a>(<a class="code" href="classuserrec.html">userrec</a>* User, std::string text,<span class="keywordtype">bool</span> IncludeSender);
+00727         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a11">SendWallops</a>(<a class="code" href="classuserrec.html">userrec</a>* User, std::string text);
+00728 
+00732         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a12">IsNick</a>(std::string nick);
+00736         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classServer.html#a13">CountUsers</a>(<a class="code" href="classchanrec.html">chanrec</a>* c);
+00740         <span class="keyword">virtual</span> <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="classServer.html#a14">FindNick</a>(std::string nick);
+00744         <span class="keyword">virtual</span> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#a15">FindChannel</a>(std::string channel);
+00749         <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a16">ChanMode</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Chan);
+00753         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a17">IsOnChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Chan);
+00756         <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a18">GetServerName</a>();
+00759         <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a19">GetNetworkName</a>();
+00765         <span class="keyword">virtual</span> <a class="code" href="classAdmin.html">Admin</a> <a class="code" href="classServer.html#a20">GetAdmin</a>();
+00784         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a21">AddExtendedMode</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> requires_oper, <span class="keywordtype">int</span> params_when_on, <span class="keywordtype">int</span> params_when_off);
+00785 
+00807         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a22">AddExtendedListMode</a>(<span class="keywordtype">char</span> modechar);
+00808 
+00826         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a23">AddCommand</a>(<span class="keywordtype">char</span>* cmd, handlerfunc f, <span class="keywordtype">char</span> flags, <span class="keywordtype">int</span> minparams, <span class="keywordtype">char</span>* source);
+00827          
+00849         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a24">SendMode</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user);
+00850         
+00863         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a25">SendToModeMask</a>(std::string modes, <span class="keywordtype">int</span> flags, std::string text);
+00864 
+00870         <span class="keyword">virtual</span> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#a26">JoinUserToChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string cname, std::string key);
+00871         
+00877         <span class="keyword">virtual</span> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#a27">PartUserFromChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string cname, std::string reason);
 00878         
-00890         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a31">CallCommandHandler</a>(std::string commandname, <span class="keywordtype">char</span>** parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a>* user);
-00891         
-00897         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a32">ChangeHost</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string host);
-00898         
-00904         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a33">ChangeGECOS</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string gecos);
-00905         
-00914         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a34">IsUlined</a>(std::string server);
-00915         
-00919         <span class="keyword">virtual</span> <a class="code" href="modules_8h.html#a33">chanuserlist</a> <a class="code" href="classServer.html#a35">GetUsers</a>(<a class="code" href="classchanrec.html">chanrec</a>* chan);
-00920 
-00927         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a36">UserToPseudo</a>(<a class="code" href="classuserrec.html">userrec</a>* user,std::string message);
-00928 
-00935         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a37">PseudoToUser</a>(<a class="code" href="classuserrec.html">userrec</a>* alive,<a class="code" href="classuserrec.html">userrec</a>* zombie,std::string message);
-00936 
-00944         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a38">AddGLine</a>(<span class="keywordtype">long</span> <a class="code" href="commands_8h.html#a75">duration</a>, std::string source, std::string reason, std::string hostmask);
+00884         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a28">ChangeUserNick</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string nickname);
+00885         
+00896         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a29">QuitUser</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string reason);
+00897         
+00902         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a30">MatchText</a>(std::string sliteral, std::string spattern);
+00903         
+00915         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a31">CallCommandHandler</a>(std::string commandname, <span class="keywordtype">char</span>** parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a>* user);
+00916         
+00922         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a32">ChangeHost</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string host);
+00923         
+00929         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a33">ChangeGECOS</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string gecos);
+00930         
+00939         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a34">IsUlined</a>(std::string server);
+00940         
+00944         <span class="keyword">virtual</span> <a class="code" href="modules_8h.html#a33">chanuserlist</a> <a class="code" href="classServer.html#a35">GetUsers</a>(<a class="code" href="classchanrec.html">chanrec</a>* chan);
 00945 
-00953         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a39">AddQLine</a>(<span class="keywordtype">long</span> <a class="code" href="commands_8h.html#a75">duration</a>, std::string source, std::string reason, std::string nickname);
-00954 
-00962         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a40">AddZLine</a>(<span class="keywordtype">long</span> <a class="code" href="commands_8h.html#a75">duration</a>, std::string source, std::string reason, std::string ipaddr);
-00963 
-00971         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a41">AddKLine</a>(<span class="keywordtype">long</span> <a class="code" href="commands_8h.html#a75">duration</a>, std::string source, std::string reason, std::string hostmask);
-00972 
-00980         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a42">AddELine</a>(<span class="keywordtype">long</span> <a class="code" href="commands_8h.html#a75">duration</a>, std::string source, std::string reason, std::string hostmask);
-00981 
-00984         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a43">DelGLine</a>(std::string hostmask);
-00985 
-00988         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a44">DelQLine</a>(std::string nickname);
-00989 
-00992         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a45">DelZLine</a>(std::string ipaddr);
-00993 
-00996         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a46">DelKLine</a>(std::string hostmask);
+00952         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a36">UserToPseudo</a>(<a class="code" href="classuserrec.html">userrec</a>* user,std::string message);
+00953 
+00960         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a37">PseudoToUser</a>(<a class="code" href="classuserrec.html">userrec</a>* alive,<a class="code" href="classuserrec.html">userrec</a>* zombie,std::string message);
+00961 
+00969         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a38">AddGLine</a>(<span class="keywordtype">long</span> <a class="code" href="commands_8h.html#a75">duration</a>, std::string source, std::string reason, std::string hostmask);
+00970 
+00978         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a39">AddQLine</a>(<span class="keywordtype">long</span> <a class="code" href="commands_8h.html#a75">duration</a>, std::string source, std::string reason, std::string nickname);
+00979 
+00987         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a40">AddZLine</a>(<span class="keywordtype">long</span> <a class="code" href="commands_8h.html#a75">duration</a>, std::string source, std::string reason, std::string ipaddr);
+00988 
+00996         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a41">AddKLine</a>(<span class="keywordtype">long</span> <a class="code" href="commands_8h.html#a75">duration</a>, std::string source, std::string reason, std::string hostmask);
 00997 
-01000         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a47">DelELine</a>(std::string hostmask);
-01001 
-01007         <span class="keyword">virtual</span> <span class="keywordtype">long</span> <a class="code" href="classServer.html#a48">CalcDuration</a>(std::string <a class="code" href="commands_8h.html#a75">duration</a>);
-01008 
-01011         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a49">IsValidMask</a>(std::string mask);
-01012 
-01017         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a50">MeshSendAll</a>(std::string text);
+01005         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a42">AddELine</a>(<span class="keywordtype">long</span> <a class="code" href="commands_8h.html#a75">duration</a>, std::string source, std::string reason, std::string hostmask);
+01006 
+01009         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a43">DelGLine</a>(std::string hostmask);
+01010 
+01013         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a44">DelQLine</a>(std::string nickname);
+01014 
+01017         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a45">DelZLine</a>(std::string ipaddr);
 01018 
-01025         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a51">MeshSendCommon</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string text);
+01021         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a46">DelKLine</a>(std::string hostmask);
+01022 
+01025         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a47">DelELine</a>(std::string hostmask);
 01026 
-01029         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a52">MeshSendAllAlive</a>(std::string text);
-01030 
-01034         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a53">MeshSendUnicast</a>(std::string destination, std::string text);
-01035 
-01040         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a54">MeshSendAllExcept</a>(std::string target, std::string text);
-01041 
-01045         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a55">MeshCheckChan</a>(<a class="code" href="classchanrec.html">chanrec</a> *c,std::string servername);
-01046 
-01050         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a56">MeshCheckCommon</a>(<a class="code" href="classuserrec.html">userrec</a>* u,std::string servername);
+01032         <span class="keyword">virtual</span> <span class="keywordtype">long</span> <a class="code" href="classServer.html#a48">CalcDuration</a>(std::string <a class="code" href="commands_8h.html#a75">duration</a>);
+01033 
+01036         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a49">IsValidMask</a>(std::string mask);
+01037 
+01042         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a50">MeshSendAll</a>(std::string text);
+01043 
+01050         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a51">MeshSendCommon</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string text);
 01051 
-01056         <span class="keyword">virtual</span> <a class="code" href="classModule.html">Module</a>* <a class="code" href="classServer.html#a57">FindModule</a>(std::string name);
-01057 };
-01058 
-01059 
-<a name="l01060"></a><a class="code" href="modules_8h.html#a27">01060</a> <span class="preprocessor">#define CONF_NOT_A_NUMBER       0x000010</span>
-<a name="l01061"></a><a class="code" href="modules_8h.html#a28">01061</a> <span class="preprocessor"></span><span class="preprocessor">#define CONF_NOT_UNSIGNED       0x000080</span>
-<a name="l01062"></a><a class="code" href="modules_8h.html#a29">01062</a> <span class="preprocessor"></span><span class="preprocessor">#define CONF_VALUE_NOT_FOUND    0x000100</span>
-<a name="l01063"></a><a class="code" href="modules_8h.html#a30">01063</a> <span class="preprocessor"></span><span class="preprocessor">#define CONF_FILE_NOT_FOUND     0x000200</span>
-01064 <span class="preprocessor"></span>
-01065 
-<a name="l01072"></a><a class="code" href="classConfigReader.html">01072</a> <span class="keyword">class </span><a class="code" href="classConfigReader.html">ConfigReader</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-01073 {
-01074   <span class="keyword">protected</span>:
-<a name="l01080"></a><a class="code" href="classConfigReader.html#p0">01080</a>         std::stringstream *<a class="code" href="classConfigReader.html#p0">cache</a>;
-<a name="l01081"></a><a class="code" href="classConfigReader.html#p1">01081</a>         std::stringstream *<a class="code" href="classConfigReader.html#p1">errorlog</a>;
-<a name="l01084"></a><a class="code" href="classConfigReader.html#p2">01084</a>         <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#p2">readerror</a>;
-<a name="l01085"></a><a class="code" href="classConfigReader.html#p3">01085</a>         <span class="keywordtype">long</span> <a class="code" href="classConfigReader.html#p3">error</a>;
-01086         
-01087   <span class="keyword">public</span>:
-01092         <a class="code" href="classConfigReader.html#a0">ConfigReader</a>();                 <span class="comment">// default constructor reads ircd.conf</span>
-01096 <span class="comment"></span>        <a class="code" href="classConfigReader.html#a0">ConfigReader</a>(std::string filename);     <span class="comment">// read a module-specific config</span>
-01100 <span class="comment"></span>        <a class="code" href="classConfigReader.html#a2">~ConfigReader</a>();
-01105         std::string <a class="code" href="classConfigReader.html#a3">ReadValue</a>(std::string tag, std::string name, <span class="keywordtype">int</span> index);
-01111         <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#a4">ReadFlag</a>(std::string tag, std::string name, <span class="keywordtype">int</span> index);
-01120         <span class="keywordtype">long</span> <a class="code" href="classConfigReader.html#a5">ReadInteger</a>(std::string tag, std::string name, <span class="keywordtype">int</span> index, <span class="keywordtype">bool</span> needs_unsigned);
-01125         <span class="keywordtype">long</span> <a class="code" href="classConfigReader.html#a6">GetError</a>();
-01132         <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#a7">Enumerate</a>(std::string tag);
-01137         <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#a8">Verify</a>();
-01144         <span class="keywordtype">void</span> <a class="code" href="classConfigReader.html#a9">DumpErrors</a>(<span class="keywordtype">bool</span> bail,<a class="code" href="classuserrec.html">userrec</a>* user);
-01145 
-01151         <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#a10">EnumerateValues</a>(std::string tag, <span class="keywordtype">int</span> index);
-01152 };
-01153 
-01154 
-01155 
-<a name="l01161"></a><a class="code" href="classFileReader.html">01161</a> <span class="keyword">class </span><a class="code" href="classFileReader.html">FileReader</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-01162 {
-<a name="l01163"></a><a class="code" href="classFileReader.html#r0">01163</a>  <a class="code" href="modules_8h.html#a31">file_cache</a> <a class="code" href="classFileReader.html#r0">fc</a>;
-01164  <span class="keyword">public</span>:
-01169          <a class="code" href="classFileReader.html#a0">FileReader</a>();
+01054         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a52">MeshSendAllAlive</a>(std::string text);
+01055 
+01059         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a53">MeshSendUnicast</a>(std::string destination, std::string text);
+01060 
+01065         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a54">MeshSendAllExcept</a>(std::string target, std::string text);
+01066 
+01070         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a55">MeshCheckChan</a>(<a class="code" href="classchanrec.html">chanrec</a> *c,std::string servername);
+01071 
+01075         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a56">MeshCheckCommon</a>(<a class="code" href="classuserrec.html">userrec</a>* u,std::string servername);
+01076 
+01081         <span class="keyword">virtual</span> <a class="code" href="classModule.html">Module</a>* <a class="code" href="classServer.html#a57">FindModule</a>(std::string name);
+01082 };
+01083 
+01084 
+<a name="l01085"></a><a class="code" href="modules_8h.html#a27">01085</a> <span class="preprocessor">#define CONF_NOT_A_NUMBER       0x000010</span>
+<a name="l01086"></a><a class="code" href="modules_8h.html#a28">01086</a> <span class="preprocessor"></span><span class="preprocessor">#define CONF_NOT_UNSIGNED       0x000080</span>
+<a name="l01087"></a><a class="code" href="modules_8h.html#a29">01087</a> <span class="preprocessor"></span><span class="preprocessor">#define CONF_VALUE_NOT_FOUND    0x000100</span>
+<a name="l01088"></a><a class="code" href="modules_8h.html#a30">01088</a> <span class="preprocessor"></span><span class="preprocessor">#define CONF_FILE_NOT_FOUND     0x000200</span>
+01089 <span class="preprocessor"></span>
+01090 
+<a name="l01097"></a><a class="code" href="classConfigReader.html">01097</a> <span class="keyword">class </span><a class="code" href="classConfigReader.html">ConfigReader</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
+01098 {
+01099   <span class="keyword">protected</span>:
+<a name="l01105"></a><a class="code" href="classConfigReader.html#p0">01105</a>         std::stringstream *<a class="code" href="classConfigReader.html#p0">cache</a>;
+<a name="l01106"></a><a class="code" href="classConfigReader.html#p1">01106</a>         std::stringstream *<a class="code" href="classConfigReader.html#p1">errorlog</a>;
+<a name="l01109"></a><a class="code" href="classConfigReader.html#p2">01109</a>         <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#p2">readerror</a>;
+<a name="l01110"></a><a class="code" href="classConfigReader.html#p3">01110</a>         <span class="keywordtype">long</span> <a class="code" href="classConfigReader.html#p3">error</a>;
+01111         
+01112   <span class="keyword">public</span>:
+01117         <a class="code" href="classConfigReader.html#a0">ConfigReader</a>();                 <span class="comment">// default constructor reads ircd.conf</span>
+01121 <span class="comment"></span>        <a class="code" href="classConfigReader.html#a0">ConfigReader</a>(std::string filename);     <span class="comment">// read a module-specific config</span>
+01125 <span class="comment"></span>        <a class="code" href="classConfigReader.html#a2">~ConfigReader</a>();
+01130         std::string <a class="code" href="classConfigReader.html#a3">ReadValue</a>(std::string tag, std::string name, <span class="keywordtype">int</span> index);
+01136         <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#a4">ReadFlag</a>(std::string tag, std::string name, <span class="keywordtype">int</span> index);
+01145         <span class="keywordtype">long</span> <a class="code" href="classConfigReader.html#a5">ReadInteger</a>(std::string tag, std::string name, <span class="keywordtype">int</span> index, <span class="keywordtype">bool</span> needs_unsigned);
+01150         <span class="keywordtype">long</span> <a class="code" href="classConfigReader.html#a6">GetError</a>();
+01157         <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#a7">Enumerate</a>(std::string tag);
+01162         <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#a8">Verify</a>();
+01169         <span class="keywordtype">void</span> <a class="code" href="classConfigReader.html#a9">DumpErrors</a>(<span class="keywordtype">bool</span> bail,<a class="code" href="classuserrec.html">userrec</a>* user);
 01170 
-01176          <a class="code" href="classFileReader.html#a0">FileReader</a>(std::string filename);
-01177 
-01181          <a class="code" href="classFileReader.html#a2">~FileReader</a>();
-01182 
-01188          <span class="keywordtype">void</span> <a class="code" href="classFileReader.html#a3">LoadFile</a>(std::string filename);
-01189 
-01193          <span class="keywordtype">bool</span> <a class="code" href="classFileReader.html#a4">Exists</a>();
-01194          
-01199          std::string <a class="code" href="classFileReader.html#a5">GetLine</a>(<span class="keywordtype">int</span> x);
-01200 
-01206          <span class="keywordtype">int</span> <a class="code" href="classFileReader.html#a6">FileSize</a>();
-01207 };
-01208 
-01209 
-<a name="l01216"></a><a class="code" href="classModuleFactory.html">01216</a> <span class="keyword">class </span><a class="code" href="classModuleFactory.html">ModuleFactory</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-01217 {
-01218  <span class="keyword">public</span>:
-<a name="l01219"></a><a class="code" href="classModuleFactory.html#a0">01219</a>         <a class="code" href="classModuleFactory.html#a0">ModuleFactory</a>() { }
-<a name="l01220"></a><a class="code" href="classModuleFactory.html#a1">01220</a>         <span class="keyword">virtual</span> <a class="code" href="classModuleFactory.html#a1">~ModuleFactory</a>() { }
-01225         <span class="keyword">virtual</span> <a class="code" href="classModule.html">Module</a> * <a class="code" href="classModuleFactory.html#a2">CreateModule</a>() = 0;
-01226 };
-01227 
-01228 
-<a name="l01229"></a><a class="code" href="modules_8h.html#a34">01229</a> <span class="keyword">typedef</span> DLLFactory&lt;ModuleFactory&gt; <a class="code" href="modules_8h.html#a34">ircd_module</a>;
-01230 
-01231 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Apr 20 15:46:56 2005 for InspIRCd by
+01176         <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#a10">EnumerateValues</a>(std::string tag, <span class="keywordtype">int</span> index);
+01177 };
+01178 
+01179 
+01180 
+<a name="l01186"></a><a class="code" href="classFileReader.html">01186</a> <span class="keyword">class </span><a class="code" href="classFileReader.html">FileReader</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
+01187 {
+<a name="l01188"></a><a class="code" href="classFileReader.html#r0">01188</a>  <a class="code" href="modules_8h.html#a31">file_cache</a> <a class="code" href="classFileReader.html#r0">fc</a>;
+01189  <span class="keyword">public</span>:
+01194          <a class="code" href="classFileReader.html#a0">FileReader</a>();
+01195 
+01201          <a class="code" href="classFileReader.html#a0">FileReader</a>(std::string filename);
+01202 
+01206          <a class="code" href="classFileReader.html#a2">~FileReader</a>();
+01207 
+01213          <span class="keywordtype">void</span> <a class="code" href="classFileReader.html#a3">LoadFile</a>(std::string filename);
+01214 
+01218          <span class="keywordtype">bool</span> <a class="code" href="classFileReader.html#a4">Exists</a>();
+01219          
+01224          std::string <a class="code" href="classFileReader.html#a5">GetLine</a>(<span class="keywordtype">int</span> x);
+01225 
+01231          <span class="keywordtype">int</span> <a class="code" href="classFileReader.html#a6">FileSize</a>();
+01232 };
+01233 
+01234 
+<a name="l01241"></a><a class="code" href="classModuleFactory.html">01241</a> <span class="keyword">class </span><a class="code" href="classModuleFactory.html">ModuleFactory</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
+01242 {
+01243  <span class="keyword">public</span>:
+<a name="l01244"></a><a class="code" href="classModuleFactory.html#a0">01244</a>         <a class="code" href="classModuleFactory.html#a0">ModuleFactory</a>() { }
+<a name="l01245"></a><a class="code" href="classModuleFactory.html#a1">01245</a>         <span class="keyword">virtual</span> <a class="code" href="classModuleFactory.html#a1">~ModuleFactory</a>() { }
+01250         <span class="keyword">virtual</span> <a class="code" href="classModule.html">Module</a> * <a class="code" href="classModuleFactory.html#a2">CreateModule</a>() = 0;
+01251 };
+01252 
+01253 
+<a name="l01254"></a><a class="code" href="modules_8h.html#a34">01254</a> <span class="keyword">typedef</span> DLLFactory&lt;ModuleFactory&gt; <a class="code" href="modules_8h.html#a34">ircd_module</a>;
+01255 
+01256 <span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Apr 26 17:11:44 2005 for InspIRCd by
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border=0 > 
 </a>1.3.3 </small></address>