diff options
Diffstat (limited to 'docs/module-doc/modules_8h-source.html')
-rw-r--r-- | docs/module-doc/modules_8h-source.html | 542 |
1 files changed, 278 insertions, 264 deletions
diff --git a/docs/module-doc/modules_8h-source.html b/docs/module-doc/modules_8h-source.html index 2ae27ca19..27aa2af8e 100644 --- a/docs/module-doc/modules_8h-source.html +++ b/docs/module-doc/modules_8h-source.html @@ -1,279 +1,293 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>modules.h Source File</title> +<title>InspIRCd: modules.h Source File</title> <link href="inspircd.css" rel="stylesheet" type="text/css"> </head><body> -<!-- Generated by Doxygen 1.3-rc3 --> -<center> -<a class="qindex" href="main.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> </center> -<hr><h1>modules.h</h1><a href="modules_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span> -00002 <span class="comment"></span> -00003 <span class="comment"></span> -00004 <span class="comment"></span> -00005 <span class="comment">*/</span> -00006 -00007 -00008 <span class="preprocessor">#ifndef __PLUGIN_H</span> -00009 <span class="preprocessor"></span><span class="preprocessor">#define __PLUGIN_H</span> -00010 <span class="preprocessor"></span> -00011 <span class="comment">// log levels</span> -00012 -<a name="l00013"></a><a class="code" href="modules_8h.html#a0">00013</a> <span class="preprocessor">#define DEBUG 10</span> -<a name="l00014"></a><a class="code" href="modules_8h.html#a1">00014</a> <span class="preprocessor"></span><span class="preprocessor">#define VERBOSE 20</span> -<a name="l00015"></a><a class="code" href="modules_8h.html#a2">00015</a> <span class="preprocessor"></span><span class="preprocessor">#define DEFAULT 30</span> -<a name="l00016"></a><a class="code" href="modules_8h.html#a3">00016</a> <span class="preprocessor"></span><span class="preprocessor">#define SPARSE 40</span> -<a name="l00017"></a><a class="code" href="modules_8h.html#a4">00017</a> <span class="preprocessor"></span><span class="preprocessor">#define NONE 50</span> -00018 <span class="preprocessor"></span> -00019 <span class="comment">// used with OnExtendedMode() method of modules</span> -00020 -<a name="l00021"></a><a class="code" href="modules_8h.html#a5">00021</a> <span class="preprocessor">#define MT_CHANNEL 1</span> -<a name="l00022"></a><a class="code" href="modules_8h.html#a6">00022</a> <span class="preprocessor"></span><span class="preprocessor">#define MT_CLIENT 2</span> -<a name="l00023"></a><a class="code" href="modules_8h.html#a7">00023</a> <span class="preprocessor"></span><span class="preprocessor">#define MT_SERVER 3</span> -00024 <span class="preprocessor"></span> -00025 <span class="comment">// used with OnAccessCheck() method of modules</span> -00026 -<a name="l00027"></a><a class="code" href="modules_8h.html#a8">00027</a> <span class="preprocessor">#define ACR_DEFAULT 0 // Do default action (act as if the module isnt even loaded)</span> -<a name="l00028"></a><a class="code" href="modules_8h.html#a9">00028</a> <span class="preprocessor"></span><span class="preprocessor">#define ACR_DENY 1 // deny the action</span> -<a name="l00029"></a><a class="code" href="modules_8h.html#a10">00029</a> <span class="preprocessor"></span><span class="preprocessor">#define ACR_ALLOW 2 // allow the action</span> -00030 <span class="preprocessor"></span> -<a name="l00031"></a><a class="code" href="modules_8h.html#a11">00031</a> <span class="preprocessor">#define AC_KICK 0 // a user is being kicked</span> -<a name="l00032"></a><a class="code" href="modules_8h.html#a12">00032</a> <span class="preprocessor"></span><span class="preprocessor">#define AC_DEOP 1 // a user is being deopped</span> -<a name="l00033"></a><a class="code" href="modules_8h.html#a13">00033</a> <span class="preprocessor"></span><span class="preprocessor">#define AC_OP 2 // a user is being opped</span> -<a name="l00034"></a><a class="code" href="modules_8h.html#a14">00034</a> <span class="preprocessor"></span><span class="preprocessor">#define AC_VOICE 3 // a user is being voiced</span> -<a name="l00035"></a><a class="code" href="modules_8h.html#a15">00035</a> <span class="preprocessor"></span><span class="preprocessor">#define AC_DEVOICE 4 // a user is being devoiced</span> -<a name="l00036"></a><a class="code" href="modules_8h.html#a16">00036</a> <span class="preprocessor"></span><span class="preprocessor">#define AC_HALFOP 5 // a user is being halfopped</span> -<a name="l00037"></a><a class="code" href="modules_8h.html#a17">00037</a> <span class="preprocessor"></span><span class="preprocessor">#define AC_DEHALFOP 6 // a user is being dehalfopped</span> -<a name="l00038"></a><a class="code" href="modules_8h.html#a18">00038</a> <span class="preprocessor"></span><span class="preprocessor">#define AC_INVITE 7 // a user is being invited</span> -<a name="l00039"></a><a class="code" href="modules_8h.html#a19">00039</a> <span class="preprocessor"></span><span class="preprocessor">#define AC_GENERAL_MODE 8 // a user channel mode is being changed</span> +<!-- Generated by Doxygen 1.3.3 --> +<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Compound List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Compound Members</a> | <a class="qindex" href="globals.html">File Members</a></div> +<h1>modules.h</h1><a href="modules_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/* +------------------------------------+</span> +00002 <span class="comment"> * | Inspire Internet Relay Chat Daemon |</span> +00003 <span class="comment"> * +------------------------------------+</span> +00004 <span class="comment"> *</span> +00005 <span class="comment"> * Inspire is copyright (C) 2002-2004 ChatSpike-Dev.</span> +00006 <span class="comment"> * E-mail:</span> +00007 <span class="comment"> * <brain@chatspike.net></span> +00008 <span class="comment"> * <Craig@chatspike.net></span> +00009 <span class="comment"> * </span> +00010 <span class="comment"> * Written by Craig Edwards, Craig McLure, and others.</span> +00011 <span class="comment"> * This program is free but copyrighted software; see</span> +00012 <span class="comment"> * the file COPYING for details.</span> +00013 <span class="comment"> *</span> +00014 <span class="comment"> * ---------------------------------------------------</span> +00015 <span class="comment"> */</span> +00016 +00017 +00018 <span class="preprocessor">#ifndef __PLUGIN_H</span> +00019 <span class="preprocessor"></span><span class="preprocessor">#define __PLUGIN_H</span> +00020 <span class="preprocessor"></span> +00021 <span class="comment">// log levels</span> +00022 +<a name="l00023"></a><a class="code" href="modules_8h.html#a0">00023</a> <span class="preprocessor">#define DEBUG 10</span> +<a name="l00024"></a><a class="code" href="modules_8h.html#a1">00024</a> <span class="preprocessor"></span><span class="preprocessor">#define VERBOSE 20</span> +<a name="l00025"></a><a class="code" href="modules_8h.html#a2">00025</a> <span class="preprocessor"></span><span class="preprocessor">#define DEFAULT 30</span> +<a name="l00026"></a><a class="code" href="modules_8h.html#a3">00026</a> <span class="preprocessor"></span><span class="preprocessor">#define SPARSE 40</span> +<a name="l00027"></a><a class="code" href="modules_8h.html#a4">00027</a> <span class="preprocessor"></span><span class="preprocessor">#define NONE 50</span> +00028 <span class="preprocessor"></span> +00029 <span class="comment">// used with OnExtendedMode() method of modules</span> +00030 +<a name="l00031"></a><a class="code" href="modules_8h.html#a5">00031</a> <span class="preprocessor">#define MT_CHANNEL 1</span> +<a name="l00032"></a><a class="code" href="modules_8h.html#a6">00032</a> <span class="preprocessor"></span><span class="preprocessor">#define MT_CLIENT 2</span> +<a name="l00033"></a><a class="code" href="modules_8h.html#a7">00033</a> <span class="preprocessor"></span><span class="preprocessor">#define MT_SERVER 3</span> +00034 <span class="preprocessor"></span> +00035 <span class="comment">// used with OnAccessCheck() method of modules</span> +00036 +<a name="l00037"></a><a class="code" href="modules_8h.html#a8">00037</a> <span class="preprocessor">#define ACR_DEFAULT 0 // Do default action (act as if the module isnt even loaded)</span> +<a name="l00038"></a><a class="code" href="modules_8h.html#a9">00038</a> <span class="preprocessor"></span><span class="preprocessor">#define ACR_DENY 1 // deny the action</span> +<a name="l00039"></a><a class="code" href="modules_8h.html#a10">00039</a> <span class="preprocessor"></span><span class="preprocessor">#define ACR_ALLOW 2 // allow the action</span> 00040 <span class="preprocessor"></span> -00041 <span class="preprocessor">#include "dynamic.h"</span> -00042 <span class="preprocessor">#include "<a class="code" href="base_8h.html">base.h</a>"</span> -00043 <span class="preprocessor">#include "<a class="code" href="ctables_8h.html">ctables.h</a>"</span> -00044 <span class="preprocessor">#include <string></span> -00045 <span class="preprocessor">#include <deque></span> -00046 <span class="preprocessor">#include <sstream></span> -00047 -<a name="l00050"></a><a class="code" href="modules_8h.html#a26">00050</a> <span class="keyword">typedef</span> std::deque<std::string> <a class="code" href="modules_8h.html#a26">file_cache</a>; -<a name="l00051"></a><a class="code" href="modules_8h.html#a27">00051</a> <span class="keyword">typedef</span> <a class="code" href="modules_8h.html#a26">file_cache</a> <a class="code" href="modules_8h.html#a27">string_list</a>; -00052 -<a name="l00055"></a><a class="code" href="modules_8h.html#a28">00055</a> <span class="keyword">typedef</span> std::deque<userrec*> <a class="code" href="modules_8h.html#a28">chanuserlist</a>; -00056 +<a name="l00041"></a><a class="code" href="modules_8h.html#a11">00041</a> <span class="preprocessor">#define AC_KICK 0 // a user is being kicked</span> +<a name="l00042"></a><a class="code" href="modules_8h.html#a12">00042</a> <span class="preprocessor"></span><span class="preprocessor">#define AC_DEOP 1 // a user is being deopped</span> +<a name="l00043"></a><a class="code" href="modules_8h.html#a13">00043</a> <span class="preprocessor"></span><span class="preprocessor">#define AC_OP 2 // a user is being opped</span> +<a name="l00044"></a><a class="code" href="modules_8h.html#a14">00044</a> <span class="preprocessor"></span><span class="preprocessor">#define AC_VOICE 3 // a user is being voiced</span> +<a name="l00045"></a><a class="code" href="modules_8h.html#a15">00045</a> <span class="preprocessor"></span><span class="preprocessor">#define AC_DEVOICE 4 // a user is being devoiced</span> +<a name="l00046"></a><a class="code" href="modules_8h.html#a16">00046</a> <span class="preprocessor"></span><span class="preprocessor">#define AC_HALFOP 5 // a user is being halfopped</span> +<a name="l00047"></a><a class="code" href="modules_8h.html#a17">00047</a> <span class="preprocessor"></span><span class="preprocessor">#define AC_DEHALFOP 6 // a user is being dehalfopped</span> +<a name="l00048"></a><a class="code" href="modules_8h.html#a18">00048</a> <span class="preprocessor"></span><span class="preprocessor">#define AC_INVITE 7 // a user is being invited</span> +<a name="l00049"></a><a class="code" href="modules_8h.html#a19">00049</a> <span class="preprocessor"></span><span class="preprocessor">#define AC_GENERAL_MODE 8 // a user channel mode is being changed</span> +00050 <span class="preprocessor"></span> +00051 <span class="preprocessor">#include "dynamic.h"</span> +00052 <span class="preprocessor">#include "<a class="code" href="base_8h.html">base.h</a>"</span> +00053 <span class="preprocessor">#include "<a class="code" href="ctables_8h.html">ctables.h</a>"</span> +00054 <span class="preprocessor">#include <string></span> +00055 <span class="preprocessor">#include <deque></span> +00056 <span class="preprocessor">#include <sstream></span> 00057 -00058 <span class="comment">// This #define allows us to call a method in all</span> -00059 <span class="comment">// loaded modules in a readable simple way, e.g.:</span> -00060 <span class="comment">// 'FOREACH_MOD OnConnect(user);'</span> -00061 -<a name="l00062"></a><a class="code" href="modules_8h.html#a20">00062</a> <span class="preprocessor">#define FOREACH_MOD for (int i = 0; i <= MODCOUNT; i++) modules[i]-></span> -00063 <span class="preprocessor"></span> -00064 <span class="comment">// This define is similar to the one above but returns a result in MOD_RESULT.</span> -00065 <span class="comment">// The first module to return a nonzero result is the value to be accepted,</span> -00066 <span class="comment">// and any modules after are ignored.</span> +<a name="l00060"></a><a class="code" href="modules_8h.html#a26">00060</a> <span class="keyword">typedef</span> std::deque<std::string> <a class="code" href="modules_8h.html#a26">file_cache</a>; +<a name="l00061"></a><a class="code" href="modules_8h.html#a27">00061</a> <span class="keyword">typedef</span> <a class="code" href="modules_8h.html#a26">file_cache</a> <a class="code" href="modules_8h.html#a27">string_list</a>; +00062 +<a name="l00065"></a><a class="code" href="modules_8h.html#a28">00065</a> <span class="keyword">typedef</span> std::deque<userrec*> <a class="code" href="modules_8h.html#a28">chanuserlist</a>; +00066 00067 -00068 <span class="comment">// *********************************************************************************************</span> -00069 -<a name="l00070"></a><a class="code" href="modules_8h.html#a21">00070</a> <span class="preprocessor">#define FOREACH_RESULT(x) { MOD_RESULT = 0; \</span> -00071 <span class="preprocessor"> for (int i = 0; i <= MODCOUNT; i++) { \</span> -00072 <span class="preprocessor"> int res = modules[i]->x ; \</span> -00073 <span class="preprocessor"> if (res != 0) { \</span> -00074 <span class="preprocessor"> MOD_RESULT = res; \</span> -00075 <span class="preprocessor"> break; \</span> -00076 <span class="preprocessor"> } \</span> -00077 <span class="preprocessor"> } \</span> -00078 <span class="preprocessor"> } </span> -00079 <span class="preprocessor"></span> -00080 <span class="comment">// *********************************************************************************************</span> -00081 -00082 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="modules_8h.html#a30">createcommand</a>(<span class="keywordtype">char</span>* cmd, handlerfunc f, <span class="keywordtype">char</span> flags, <span class="keywordtype">int</span> minparams); -00083 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="modules_8h.html#a31">server_mode</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user); -00084 -00085 <span class="comment">// class Version holds the version information of a Module, returned</span> -00086 <span class="comment">// by Module::GetVersion (thanks RD)</span> -00087 -<a name="l00092"></a><a class="code" href="classVersion.html">00092</a> <span class="keyword">class </span><a class="code" href="classVersion.html">Version</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a> -00093 { -00094 <span class="keyword">public</span>: -<a name="l00095"></a><a class="code" href="classVersion.html#m2">00095</a> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classVersion.html#m0">Major</a>, <a class="code" href="classVersion.html#m1">Minor</a>, <a class="code" href="classVersion.html#m2">Revision</a>, <a class="code" href="classVersion.html#m3">Build</a>; -00096 <a class="code" href="classVersion.html#a0">Version</a>(<span class="keywordtype">int</span> major, <span class="keywordtype">int</span> minor, <span class="keywordtype">int</span> revision, <span class="keywordtype">int</span> build); -00097 }; -00098 -<a name="l00104"></a><a class="code" href="classAdmin.html">00104</a> <span class="keyword">class </span><a class="code" href="classAdmin.html">Admin</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a> -00105 { -00106 <span class="keyword">public</span>: -<a name="l00107"></a><a class="code" href="classAdmin.html#m2">00107</a> <span class="keyword">const</span> std::string <a class="code" href="classAdmin.html#m0">Name</a>, <a class="code" href="classAdmin.html#m1">Email</a>, <a class="code" href="classAdmin.html#m2">Nick</a>; -00108 <a class="code" href="classAdmin.html#a0">Admin</a>(std::string name, std::string email, std::string nick); -00109 }; -00110 -<a name="l00116"></a><a class="code" href="classModule.html">00116</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> -00117 { -00118 <span class="keyword">public</span>: -00119 -00123 <a class="code" href="classModule.html#a0">Module</a>(); -00124 -00128 <span class="keyword">virtual</span> <a class="code" href="classModule.html#a1">~Module</a>(); +00068 <span class="comment">// This #define allows us to call a method in all</span> +00069 <span class="comment">// loaded modules in a readable simple way, e.g.:</span> +00070 <span class="comment">// 'FOREACH_MOD OnConnect(user);'</span> +00071 +<a name="l00072"></a><a class="code" href="modules_8h.html#a20">00072</a> <span class="preprocessor">#define FOREACH_MOD for (int i = 0; i <= MODCOUNT; i++) modules[i]-></span> +00073 <span class="preprocessor"></span> +00074 <span class="comment">// This define is similar to the one above but returns a result in MOD_RESULT.</span> +00075 <span class="comment">// The first module to return a nonzero result is the value to be accepted,</span> +00076 <span class="comment">// and any modules after are ignored.</span> +00077 +00078 <span class="comment">// *********************************************************************************************</span> +00079 +<a name="l00080"></a><a class="code" href="modules_8h.html#a21">00080</a> <span class="preprocessor">#define FOREACH_RESULT(x) { MOD_RESULT = 0; \</span> +00081 <span class="preprocessor"> for (int i = 0; i <= MODCOUNT; i++) { \</span> +00082 <span class="preprocessor"> int res = modules[i]->x ; \</span> +00083 <span class="preprocessor"> if (res != 0) { \</span> +00084 <span class="preprocessor"> MOD_RESULT = res; \</span> +00085 <span class="preprocessor"> break; \</span> +00086 <span class="preprocessor"> } \</span> +00087 <span class="preprocessor"> } \</span> +00088 <span class="preprocessor"> } </span> +00089 <span class="preprocessor"></span> +00090 <span class="comment">// *********************************************************************************************</span> +00091 +00092 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="modules_8h.html#a30">createcommand</a>(<span class="keywordtype">char</span>* cmd, handlerfunc f, <span class="keywordtype">char</span> flags, <span class="keywordtype">int</span> minparams); +00093 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="modules_8h.html#a31">server_mode</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user); +00094 +00095 <span class="comment">// class Version holds the version information of a Module, returned</span> +00096 <span class="comment">// by Module::GetVersion (thanks RD)</span> +00097 +<a name="l00102"></a><a class="code" href="classVersion.html">00102</a> <span class="keyword">class </span><a class="code" href="classVersion.html">Version</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a> +00103 { +00104 <span class="keyword">public</span>: +<a name="l00105"></a><a class="code" href="classVersion.html#o2">00105</a> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classVersion.html#o0">Major</a>, <a class="code" href="classVersion.html#o1">Minor</a>, <a class="code" href="classVersion.html#o2">Revision</a>, <a class="code" href="classVersion.html#o3">Build</a>; +00106 <a class="code" href="classVersion.html#a0">Version</a>(<span class="keywordtype">int</span> major, <span class="keywordtype">int</span> minor, <span class="keywordtype">int</span> revision, <span class="keywordtype">int</span> build); +00107 }; +00108 +<a name="l00114"></a><a class="code" href="classAdmin.html">00114</a> <span class="keyword">class </span><a class="code" href="classAdmin.html">Admin</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a> +00115 { +00116 <span class="keyword">public</span>: +<a name="l00117"></a><a class="code" href="classAdmin.html#o2">00117</a> <span class="keyword">const</span> std::string <a class="code" href="classAdmin.html#o0">Name</a>, <a class="code" href="classAdmin.html#o1">Email</a>, <a class="code" href="classAdmin.html#o2">Nick</a>; +00118 <a class="code" href="classAdmin.html#a0">Admin</a>(std::string name, std::string email, std::string nick); +00119 }; +00120 +<a name="l00126"></a><a class="code" href="classModule.html">00126</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> +00127 { +00128 <span class="keyword">public</span>: 00129 -00134 <span class="keyword">virtual</span> <a class="code" href="classVersion.html">Version</a> <a class="code" href="classModule.html#a2">GetVersion</a>(); -00135 -00139 <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); -00140 -00144 <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); +00133 <a class="code" href="classModule.html#a0">Module</a>(); +00134 +00138 <span class="keyword">virtual</span> <a class="code" href="classModule.html#a1">~Module</a>(); +00139 +00144 <span class="keyword">virtual</span> <a class="code" href="classVersion.html">Version</a> <a class="code" href="classModule.html#a2">GetVersion</a>(); 00145 -00150 <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); -00151 -00156 <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); -00157 -00164 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a7">OnPacketTransmit</a>(<span class="keywordtype">char</span> *p); -00165 -00173 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a8">OnPacketReceive</a>(<span class="keywordtype">char</span> *p); -00174 -00180 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a9">OnRehash</a>(); -00181 -00190 <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); +00149 <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); +00150 +00154 <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); +00155 +00160 <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); +00161 +00166 <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); +00167 +00174 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a7">OnPacketTransmit</a>(<span class="keywordtype">char</span> *p); +00175 +00183 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a8">OnPacketReceive</a>(<span class="keywordtype">char</span> *p); +00184 +00190 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a9">OnRehash</a>(); 00191 -00201 <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, string_list &params); -00202 -00216 <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); -00217 -00218 -00223 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a13">OnOper</a>(<a class="code" href="classuserrec.html">userrec</a>* user); -00224 -00233 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a14">OnInfo</a>(<a class="code" href="classuserrec.html">userrec</a>* user); +00200 <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); +00201 +00211 <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#a27">string_list</a> &params); +00212 +00226 <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); +00227 +00228 +00233 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a13">OnOper</a>(<a class="code" href="classuserrec.html">userrec</a>* user); 00234 -00239 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a15">OnWhois</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="classuserrec.html">userrec</a>* dest); -00240 -00249 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a16">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); -00250 -00259 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a17">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); -00260 -00268 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a18">OnUserPreNick</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string newnick); -00269 -00292 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a19">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); -00298 <span class="keyword">virtual</span> <a class="code" href="modules_8h.html#a27">string_list</a> <a class="code" href="classModule.html#a20">OnUserSync</a>(<a class="code" href="classuserrec.html">userrec</a>* user); -00299 -00305 <span class="keyword">virtual</span> <a class="code" href="modules_8h.html#a27">string_list</a> <a class="code" href="classModule.html#a21">OnChannelSync</a>(<a class="code" href="classchanrec.html">chanrec</a>* chan); -00306 }; -00307 -00308 -<a name="l00314"></a><a class="code" href="classServer.html">00314</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> -00315 { -00316 <span class="keyword">public</span>: -00320 <a class="code" href="classServer.html#a0">Server</a>(); -00324 <span class="keyword">virtual</span> <a class="code" href="classServer.html#a1">~Server</a>(); -00325 -00329 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a2">SendOpers</a>(std::string s); -00334 <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); -00339 <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); -00344 <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); -00349 <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); -00364 <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); -00371 <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); -00376 <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); -00384 <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); -00389 <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); -00390 -00394 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a12">IsNick</a>(std::string nick); -00398 <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); -00402 <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); -00406 <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); -00411 <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); -00415 <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); -00418 <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a18">GetServerName</a>(); -00421 <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a19">GetNetworkName</a>(); -00427 <span class="keyword">virtual</span> <a class="code" href="classAdmin.html">Admin</a> <a class="code" href="classServer.html#a20">GetAdmin</a>(); -00446 <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); -00447 -00469 <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); -00470 -00485 <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); -00486 -00508 <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); -00509 -00522 <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); -00523 -00529 <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); -00530 -00536 <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); -00537 -00543 <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); -00544 -00555 <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); -00556 -00561 <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); -00562 -00574 <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); -00575 -00581 <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); -00582 -00588 <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); -00589 -00598 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a34">IsUlined</a>(std::string server); -00599 -00603 <span class="keyword">virtual</span> <a class="code" href="modules_8h.html#a28">chanuserlist</a> <a class="code" href="classServer.html#a35">GetUsers</a>(<a class="code" href="classchanrec.html">chanrec</a>* chan); -00604 -00605 }; -00606 -<a name="l00607"></a><a class="code" href="modules_8h.html#a22">00607</a> <span class="preprocessor">#define CONF_NOT_A_NUMBER 0x000010</span> -<a name="l00608"></a><a class="code" href="modules_8h.html#a23">00608</a> <span class="preprocessor"></span><span class="preprocessor">#define CONF_NOT_UNSIGNED 0x000080</span> -<a name="l00609"></a><a class="code" href="modules_8h.html#a24">00609</a> <span class="preprocessor"></span><span class="preprocessor">#define CONF_VALUE_NOT_FOUND 0x000100</span> -<a name="l00610"></a><a class="code" href="modules_8h.html#a25">00610</a> <span class="preprocessor"></span><span class="preprocessor">#define CONF_FILE_NOT_FOUND 0x000200</span> -00611 <span class="preprocessor"></span> -<a name="l00618"></a><a class="code" href="classConfigReader.html">00618</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> -00619 { -00620 <span class="keyword">protected</span>: -<a name="l00626"></a><a class="code" href="classConfigReader.html#n0">00626</a> std::stringstream *<a class="code" href="classConfigReader.html#n0">cache</a>; -<a name="l00629"></a><a class="code" href="classConfigReader.html#n1">00629</a> <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#n1">readerror</a>; -<a name="l00630"></a><a class="code" href="classConfigReader.html#n2">00630</a> <span class="keywordtype">long</span> <a class="code" href="classConfigReader.html#n2">error</a>; -00631 -00632 <span class="keyword">public</span>: -00637 <a class="code" href="classConfigReader.html#a0">ConfigReader</a>(); <span class="comment">// default constructor reads ircd.conf</span> -00641 <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> -00645 <span class="comment"></span> <a class="code" href="classConfigReader.html#a2">~ConfigReader</a>(); -00650 std::string <a class="code" href="classConfigReader.html#a3">ReadValue</a>(std::string tag, std::string name, <span class="keywordtype">int</span> index); -00656 <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); -00665 <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); -00670 <span class="keywordtype">long</span> <a class="code" href="classConfigReader.html#a6">GetError</a>(); -00677 <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#a7">Enumerate</a>(std::string tag); -00682 <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#a8">Verify</a>(); -00683 -00689 <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#a9">EnumerateValues</a>(std::string tag, <span class="keywordtype">int</span> index); -00690 }; -00691 -00692 -00693 -<a name="l00699"></a><a class="code" href="classFileReader.html">00699</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> -00700 { -<a name="l00701"></a><a class="code" href="classFileReader.html#o0">00701</a> <a class="code" href="modules_8h.html#a26">file_cache</a> <a class="code" href="classFileReader.html#o0">fc</a>; -00702 <span class="keyword">public</span>: -00707 <a class="code" href="classFileReader.html#a0">FileReader</a>(); -00708 -00714 <a class="code" href="classFileReader.html#a0">FileReader</a>(std::string filename); -00715 -00719 <a class="code" href="classFileReader.html#a2">~FileReader</a>(); -00720 -00726 <span class="keywordtype">void</span> <a class="code" href="classFileReader.html#a3">LoadFile</a>(std::string filename); -00727 -00731 <span class="keywordtype">bool</span> <a class="code" href="classFileReader.html#a4">Exists</a>(); -00732 -00737 std::string <a class="code" href="classFileReader.html#a5">GetLine</a>(<span class="keywordtype">int</span> x); -00738 -00744 <span class="keywordtype">int</span> <a class="code" href="classFileReader.html#a6">FileSize</a>(); -00745 }; +00243 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a14">OnInfo</a>(<a class="code" href="classuserrec.html">userrec</a>* user); +00244 +00249 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a15">OnWhois</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="classuserrec.html">userrec</a>* dest); +00250 +00256 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a16">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); +00257 +00266 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a17">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); +00267 +00279 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a18">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); +00280 +00291 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a19">OnUserPreNick</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string newnick); +00292 +00314 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a20">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); +00315 +00321 <span class="keyword">virtual</span> <a class="code" href="modules_8h.html#a27">string_list</a> <a class="code" href="classModule.html#a21">OnUserSync</a>(<a class="code" href="classuserrec.html">userrec</a>* user); +00322 +00328 <span class="keyword">virtual</span> <a class="code" href="modules_8h.html#a27">string_list</a> <a class="code" href="classModule.html#a22">OnChannelSync</a>(<a class="code" href="classchanrec.html">chanrec</a>* chan); +00329 }; +00330 +00331 +<a name="l00337"></a><a class="code" href="classServer.html">00337</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> +00338 { +00339 <span class="keyword">public</span>: +00343 <a class="code" href="classServer.html#a0">Server</a>(); +00347 <span class="keyword">virtual</span> <a class="code" href="classServer.html#a1">~Server</a>(); +00348 +00352 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a2">SendOpers</a>(std::string s); +00357 <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); +00362 <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); +00367 <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); +00372 <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); +00387 <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); +00394 <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); +00399 <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); +00407 <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); +00412 <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); +00413 +00417 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a12">IsNick</a>(std::string nick); +00421 <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); +00425 <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); +00429 <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); +00434 <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); +00438 <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); +00441 <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a18">GetServerName</a>(); +00444 <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a19">GetNetworkName</a>(); +00450 <span class="keyword">virtual</span> <a class="code" href="classAdmin.html">Admin</a> <a class="code" href="classServer.html#a20">GetAdmin</a>(); +00469 <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); +00470 +00492 <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); +00493 +00508 <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); +00509 +00531 <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); +00532 +00545 <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); +00546 +00552 <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); +00553 +00559 <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); +00560 +00566 <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); +00567 +00578 <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); +00579 +00584 <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); +00585 +00597 <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); +00598 +00604 <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); +00605 +00611 <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); +00612 +00621 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a34">IsUlined</a>(std::string server); +00622 +00626 <span class="keyword">virtual</span> <a class="code" href="modules_8h.html#a28">chanuserlist</a> <a class="code" href="classServer.html#a35">GetUsers</a>(<a class="code" href="classchanrec.html">chanrec</a>* chan); +00627 +00628 }; +00629 +<a name="l00630"></a><a class="code" href="modules_8h.html#a22">00630</a> <span class="preprocessor">#define CONF_NOT_A_NUMBER 0x000010</span> +<a name="l00631"></a><a class="code" href="modules_8h.html#a23">00631</a> <span class="preprocessor"></span><span class="preprocessor">#define CONF_NOT_UNSIGNED 0x000080</span> +<a name="l00632"></a><a class="code" href="modules_8h.html#a24">00632</a> <span class="preprocessor"></span><span class="preprocessor">#define CONF_VALUE_NOT_FOUND 0x000100</span> +<a name="l00633"></a><a class="code" href="modules_8h.html#a25">00633</a> <span class="preprocessor"></span><span class="preprocessor">#define CONF_FILE_NOT_FOUND 0x000200</span> +00634 <span class="preprocessor"></span> +<a name="l00641"></a><a class="code" href="classConfigReader.html">00641</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> +00642 { +00643 <span class="keyword">protected</span>: +<a name="l00649"></a><a class="code" href="classConfigReader.html#p0">00649</a> std::stringstream *<a class="code" href="classConfigReader.html#p0">cache</a>; +<a name="l00650"></a><a class="code" href="classConfigReader.html#p1">00650</a> std::stringstream *<a class="code" href="classConfigReader.html#p1">errorlog</a>; +<a name="l00653"></a><a class="code" href="classConfigReader.html#p2">00653</a> <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#p2">readerror</a>; +<a name="l00654"></a><a class="code" href="classConfigReader.html#p3">00654</a> <span class="keywordtype">long</span> <a class="code" href="classConfigReader.html#p3">error</a>; +00655 +00656 <span class="keyword">public</span>: +00661 <a class="code" href="classConfigReader.html#a0">ConfigReader</a>(); <span class="comment">// default constructor reads ircd.conf</span> +00665 <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> +00669 <span class="comment"></span> <a class="code" href="classConfigReader.html#a2">~ConfigReader</a>(); +00674 std::string <a class="code" href="classConfigReader.html#a3">ReadValue</a>(std::string tag, std::string name, <span class="keywordtype">int</span> index); +00680 <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); +00689 <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); +00694 <span class="keywordtype">long</span> <a class="code" href="classConfigReader.html#a6">GetError</a>(); +00701 <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#a7">Enumerate</a>(std::string tag); +00706 <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#a8">Verify</a>(); +00713 <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); +00714 +00720 <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#a10">EnumerateValues</a>(std::string tag, <span class="keywordtype">int</span> index); +00721 }; +00722 +00723 +00724 +<a name="l00730"></a><a class="code" href="classFileReader.html">00730</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> +00731 { +<a name="l00732"></a><a class="code" href="classFileReader.html#r0">00732</a> <a class="code" href="modules_8h.html#a26">file_cache</a> <a class="code" href="classFileReader.html#r0">fc</a>; +00733 <span class="keyword">public</span>: +00738 <a class="code" href="classFileReader.html#a0">FileReader</a>(); +00739 +00745 <a class="code" href="classFileReader.html#a0">FileReader</a>(std::string filename); 00746 -00747 -<a name="l00754"></a><a class="code" href="classModuleFactory.html">00754</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> -00755 { -00756 <span class="keyword">public</span>: -<a name="l00757"></a><a class="code" href="classModuleFactory.html#a0">00757</a> <a class="code" href="classModuleFactory.html#a0">ModuleFactory</a>() { } -<a name="l00758"></a><a class="code" href="classModuleFactory.html#a1">00758</a> <span class="keyword">virtual</span> <a class="code" href="classModuleFactory.html#a1">~ModuleFactory</a>() { } -00763 <span class="keyword">virtual</span> <a class="code" href="classModule.html">Module</a> * <a class="code" href="classModuleFactory.html#a2">CreateModule</a>() = 0; -00764 }; -00765 -00766 -<a name="l00767"></a><a class="code" href="modules_8h.html#a29">00767</a> <span class="keyword">typedef</span> DLLFactory<ModuleFactory> <a class="code" href="modules_8h.html#a29">ircd_module</a>; -00768 -00769 <span class="preprocessor">#endif</span> -</pre></div><hr><address style="align: right;"><small>Generated on Sun May 2 00:09:18 2004 for InspIRCd by +00750 <a class="code" href="classFileReader.html#a2">~FileReader</a>(); +00751 +00757 <span class="keywordtype">void</span> <a class="code" href="classFileReader.html#a3">LoadFile</a>(std::string filename); +00758 +00762 <span class="keywordtype">bool</span> <a class="code" href="classFileReader.html#a4">Exists</a>(); +00763 +00768 std::string <a class="code" href="classFileReader.html#a5">GetLine</a>(<span class="keywordtype">int</span> x); +00769 +00775 <span class="keywordtype">int</span> <a class="code" href="classFileReader.html#a6">FileSize</a>(); +00776 }; +00777 +00778 +<a name="l00785"></a><a class="code" href="classModuleFactory.html">00785</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> +00786 { +00787 <span class="keyword">public</span>: +<a name="l00788"></a><a class="code" href="classModuleFactory.html#a0">00788</a> <a class="code" href="classModuleFactory.html#a0">ModuleFactory</a>() { } +<a name="l00789"></a><a class="code" href="classModuleFactory.html#a1">00789</a> <span class="keyword">virtual</span> <a class="code" href="classModuleFactory.html#a1">~ModuleFactory</a>() { } +00794 <span class="keyword">virtual</span> <a class="code" href="classModule.html">Module</a> * <a class="code" href="classModuleFactory.html#a2">CreateModule</a>() = 0; +00795 }; +00796 +00797 +<a name="l00798"></a><a class="code" href="modules_8h.html#a29">00798</a> <span class="keyword">typedef</span> DLLFactory<ModuleFactory> <a class="code" href="modules_8h.html#a29">ircd_module</a>; +00799 +00800 <span class="preprocessor">#endif</span> +</pre></div><hr size="1"><address style="align: right;"><small>Generated on Fri Mar 25 03:49:28 2005 for InspIRCd by <a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border=0 -width=110 height=53></a>1.3-rc3 </small></address> +<img src="doxygen.png" alt="doxygen" align="middle" border=0 > +</a>1.3.3 </small></address> </body> </html> |