diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2005-04-20 15:48:27 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2005-04-20 15:48:27 +0000 |
commit | 2db0df5813e46fe5e077e014003acbd10698b913 (patch) | |
tree | 8d18035c30623c3dcd677c2b93fd832e6cb3d09d /docs/module-doc/modules_8h-source.html | |
parent | 15228d509a36036af6d8ab1f63f0ccbc0eeb0c3d (diff) |
Added module message passing architecture
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1136 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'docs/module-doc/modules_8h-source.html')
-rw-r--r-- | docs/module-doc/modules_8h-source.html | 556 |
1 files changed, 302 insertions, 254 deletions
diff --git a/docs/module-doc/modules_8h-source.html b/docs/module-doc/modules_8h-source.html index 2eeba8d6d..e76cb5143 100644 --- a/docs/module-doc/modules_8h-source.html +++ b/docs/module-doc/modules_8h-source.html @@ -121,264 +121,312 @@ 00127 <a class="code" href="classAdmin.html#a0">Admin</a>(std::string name, std::string email, std::string nick); 00128 }; 00129 -<a name="l00135"></a><a class="code" href="classModule.html">00135</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> -00136 { -00137 <span class="keyword">public</span>: -00138 -00142 <a class="code" href="classModule.html#a0">Module</a>(); -00143 -00147 <span class="keyword">virtual</span> <a class="code" href="classModule.html#a1">~Module</a>(); -00148 -00153 <span class="keyword">virtual</span> <a class="code" href="classVersion.html">Version</a> <a class="code" href="classModule.html#a2">GetVersion</a>(); -00154 -00158 <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); -00159 -00163 <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); -00164 -00169 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a5">OnUserJoin</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel); -00170 -00175 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a6">OnUserPart</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel); -00176 -00182 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a7">OnPacketTransmit</a>(std::string &data, std::string serv); -00183 -00190 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a8">OnPacketReceive</a>(std::string &data, std::string serv); -00191 -00197 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a9">OnRehash</a>(); -00198 -00207 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a10">OnServerRaw</a>(std::string &raw, <span class="keywordtype">bool</span> inbound, <a class="code" href="classuserrec.html">userrec</a>* user); -00208 -00218 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a11">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> &params); -00219 -00233 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a12">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); -00234 -00240 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a13">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); +00130 +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 -00246 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a14">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); -00247 -00252 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a15">OnOper</a>(<a class="code" href="classuserrec.html">userrec</a>* user); -00253 -00262 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a16">OnInfo</a>(<a class="code" href="classuserrec.html">userrec</a>* user); -00263 -00268 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a17">OnWhois</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="classuserrec.html">userrec</a>* dest); -00269 -00275 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a18">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); -00276 -00285 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a19">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 &text); -00286 -00298 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a20">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 &text); -00299 -00307 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a21">OnUserPreNick</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string newnick); -00308 -00316 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a22">OnUserPostNick</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string oldnick); -00317 -00339 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a23">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); -00340 -00346 <span class="keyword">virtual</span> <a class="code" href="modules_8h.html#a32">string_list</a> <a class="code" href="classModule.html#a24">OnUserSync</a>(<a class="code" href="classuserrec.html">userrec</a>* user); -00347 -00353 <span class="keyword">virtual</span> <a class="code" href="modules_8h.html#a32">string_list</a> <a class="code" href="classModule.html#a25">OnChannelSync</a>(<a class="code" href="classchanrec.html">chanrec</a>* chan); +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 &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 &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 &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> &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 -00358 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a26">On005Numeric</a>(std::string &output); -00359 -00369 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a27">OnKill</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="classuserrec.html">userrec</a>* dest, std::string reason); -00370 -00381 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a28">OnLoadModule</a>(<a class="code" href="classModule.html">Module</a>* mod,std::string name); -00382 -00388 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a29">OnBackgroundTimer</a>(time_t curtime); -00389 -00397 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a30">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); -00398 -00409 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a31">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); -00410 -00419 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classModule.html#a32">OnCheckReady</a>(<a class="code" href="classuserrec.html">userrec</a>* user); -00420 -00428 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a33">OnUserRegister</a>(<a class="code" href="classuserrec.html">userrec</a>* user); -00429 -00435 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a34">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); -00436 -00442 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a35">OnCheckInvite</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan); -00443 -00450 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a36">OnCheckKey</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, std::string keygiven); -00451 -00457 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a37">OnCheckLimit</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan); -00458 -00464 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a38">OnCheckBan</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan); -00465 -00469 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a39">OnStats</a>(<span class="keywordtype">char</span> symbol); -00470 -00474 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a40">OnChangeLocalUserHost</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string newhost); -00475 -00479 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a41">OnChangeLocalUserGECOS</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string newhost); -00480 -00484 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a42">OnLocalTopicChange</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, std::string topic); -00485 -00496 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a43">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); -00497 }; -00498 -00499 -<a name="l00505"></a><a class="code" href="classServer.html">00505</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> -00506 { -00507 <span class="keyword">public</span>: -00511 <a class="code" href="classServer.html#a0">Server</a>(); -00515 <span class="keyword">virtual</span> <a class="code" href="classServer.html#a1">~Server</a>(); -00516 -00520 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a2">SendOpers</a>(std::string s); -00525 <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); -00530 <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); -00535 <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); -00540 <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); -00555 <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); -00562 <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); -00567 <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); -00575 <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); -00580 <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); -00581 -00585 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a12">IsNick</a>(std::string nick); -00589 <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); -00593 <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); -00597 <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); -00602 <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); -00606 <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); -00609 <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a18">GetServerName</a>(); -00612 <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a19">GetNetworkName</a>(); -00618 <span class="keyword">virtual</span> <a class="code" href="classAdmin.html">Admin</a> <a class="code" href="classServer.html#a20">GetAdmin</a>(); -00637 <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); +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 &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 &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 &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 -00660 <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); -00661 -00679 <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); -00680 -00702 <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); -00703 -00716 <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); -00717 -00723 <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); -00724 -00730 <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); -00731 -00737 <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); -00738 -00749 <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); -00750 -00755 <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); -00756 -00768 <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); -00769 -00775 <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); -00776 -00782 <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); -00783 -00792 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a34">IsUlined</a>(std::string server); -00793 -00797 <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); -00798 -00805 <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); -00806 -00813 <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); -00814 -00822 <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); -00823 -00831 <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); -00832 -00840 <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); -00841 -00849 <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); -00850 -00858 <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); -00859 -00862 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a43">DelGLine</a>(std::string hostmask); -00863 -00866 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a44">DelQLine</a>(std::string nickname); -00867 -00870 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a45">DelZLine</a>(std::string ipaddr); -00871 -00874 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a46">DelKLine</a>(std::string hostmask); -00875 -00878 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a47">DelELine</a>(std::string hostmask); -00879 -00885 <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>); -00886 -00889 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a49">IsValidMask</a>(std::string mask); -00890 -00895 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a50">MeshSendAll</a>(std::string text); -00896 -00903 <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); -00904 -00907 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a52">MeshSendAllAlive</a>(std::string text); -00908 -00912 <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); -00913 -00918 <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); -00919 -00923 <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); -00924 -00928 <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); -00929 }; -00930 -00931 -<a name="l00932"></a><a class="code" href="modules_8h.html#a27">00932</a> <span class="preprocessor">#define CONF_NOT_A_NUMBER 0x000010</span> -<a name="l00933"></a><a class="code" href="modules_8h.html#a28">00933</a> <span class="preprocessor"></span><span class="preprocessor">#define CONF_NOT_UNSIGNED 0x000080</span> -<a name="l00934"></a><a class="code" href="modules_8h.html#a29">00934</a> <span class="preprocessor"></span><span class="preprocessor">#define CONF_VALUE_NOT_FOUND 0x000100</span> -<a name="l00935"></a><a class="code" href="modules_8h.html#a30">00935</a> <span class="preprocessor"></span><span class="preprocessor">#define CONF_FILE_NOT_FOUND 0x000200</span> -00936 <span class="preprocessor"></span> -00937 -<a name="l00944"></a><a class="code" href="classConfigReader.html">00944</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> -00945 { -00946 <span class="keyword">protected</span>: -<a name="l00952"></a><a class="code" href="classConfigReader.html#p0">00952</a> std::stringstream *<a class="code" href="classConfigReader.html#p0">cache</a>; -<a name="l00953"></a><a class="code" href="classConfigReader.html#p1">00953</a> std::stringstream *<a class="code" href="classConfigReader.html#p1">errorlog</a>; -<a name="l00956"></a><a class="code" href="classConfigReader.html#p2">00956</a> <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#p2">readerror</a>; -<a name="l00957"></a><a class="code" href="classConfigReader.html#p3">00957</a> <span class="keywordtype">long</span> <a class="code" href="classConfigReader.html#p3">error</a>; -00958 -00959 <span class="keyword">public</span>: -00964 <a class="code" href="classConfigReader.html#a0">ConfigReader</a>(); <span class="comment">// default constructor reads ircd.conf</span> -00968 <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> -00972 <span class="comment"></span> <a class="code" href="classConfigReader.html#a2">~ConfigReader</a>(); -00977 std::string <a class="code" href="classConfigReader.html#a3">ReadValue</a>(std::string tag, std::string name, <span class="keywordtype">int</span> index); -00983 <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); -00992 <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); -00997 <span class="keywordtype">long</span> <a class="code" href="classConfigReader.html#a6">GetError</a>(); -01004 <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#a7">Enumerate</a>(std::string tag); -01009 <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#a8">Verify</a>(); -01016 <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); -01017 -01023 <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#a10">EnumerateValues</a>(std::string tag, <span class="keywordtype">int</span> index); -01024 }; -01025 +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); +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); +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); +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); +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); 01026 -01027 -<a name="l01033"></a><a class="code" href="classFileReader.html">01033</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> -01034 { -<a name="l01035"></a><a class="code" href="classFileReader.html#r0">01035</a> <a class="code" href="modules_8h.html#a31">file_cache</a> <a class="code" href="classFileReader.html#r0">fc</a>; -01036 <span class="keyword">public</span>: -01041 <a class="code" href="classFileReader.html#a0">FileReader</a>(); -01042 -01048 <a class="code" href="classFileReader.html#a0">FileReader</a>(std::string filename); -01049 -01053 <a class="code" href="classFileReader.html#a2">~FileReader</a>(); -01054 -01060 <span class="keywordtype">void</span> <a class="code" href="classFileReader.html#a3">LoadFile</a>(std::string filename); -01061 -01065 <span class="keywordtype">bool</span> <a class="code" href="classFileReader.html#a4">Exists</a>(); -01066 -01071 std::string <a class="code" href="classFileReader.html#a5">GetLine</a>(<span class="keywordtype">int</span> x); -01072 -01078 <span class="keywordtype">int</span> <a class="code" href="classFileReader.html#a6">FileSize</a>(); -01079 }; -01080 -01081 -<a name="l01088"></a><a class="code" href="classModuleFactory.html">01088</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> -01089 { -01090 <span class="keyword">public</span>: -<a name="l01091"></a><a class="code" href="classModuleFactory.html#a0">01091</a> <a class="code" href="classModuleFactory.html#a0">ModuleFactory</a>() { } -<a name="l01092"></a><a class="code" href="classModuleFactory.html#a1">01092</a> <span class="keyword">virtual</span> <a class="code" href="classModuleFactory.html#a1">~ModuleFactory</a>() { } -01097 <span class="keyword">virtual</span> <a class="code" href="classModule.html">Module</a> * <a class="code" href="classModuleFactory.html#a2">CreateModule</a>() = 0; -01098 }; -01099 -01100 -<a name="l01101"></a><a class="code" href="modules_8h.html#a34">01101</a> <span class="keyword">typedef</span> DLLFactory<ModuleFactory> <a class="code" href="modules_8h.html#a34">ircd_module</a>; -01102 -01103 <span class="preprocessor">#endif</span> -</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 16 18:57:13 2005 for InspIRCd by +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); +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>(); +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<ModuleFactory> <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 <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border=0 > </a>1.3.3 </small></address> |