</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>InspIRCd Compound List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
<tr><td class="indexkey"><a class="el" href="classAdmin.html">Admin</a></td><td class="indexvalue">Holds /ADMIN data This class contains the admin details of the local server</td></tr>
<tr><td class="indexkey"><a class="el" href="classBanItem.html">BanItem</a></td><td class="indexvalue">A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to hold channel bans (+b)</td></tr>
<tr><td class="indexkey"><a class="el" href="classHostItem.html">HostItem</a></td><td class="indexvalue">Holds an entry for a ban list, exemption list, or invite list</td></tr>
<tr><td class="indexkey"><a class="el" href="classInvited.html">Invited</a></td><td class="indexvalue">Holds a channel name to which a user has been invited</td></tr>
<tr><td class="indexkey"><a class="el" href="classInviteItem.html">InviteItem</a></td><td class="indexvalue">A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to hold channel invites (+I)</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classModeParameter.html">ModeParameter</a></td><td class="indexvalue">Holds a custom parameter to a module-defined channel mode e.g</td></tr>
<tr><td class="indexkey"><a class="el" href="classModule.html">Module</a></td><td class="indexvalue">Base class for all InspIRCd modules This class is the base class for InspIRCd modules</td></tr>
<tr><td class="indexkey"><a class="el" href="classModuleFactory.html">ModuleFactory</a></td><td class="indexvalue">Instantiates classes inherited from <a class="el" href="classModule.html">Module</a> This class creates a class inherited from type <a class="el" href="classModule.html">Module</a>, using new</td></tr>
<tr><td class="indexkey"><a class="el" href="classpacket.html">packet</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classuserrec.html">userrec</a></td><td class="indexvalue">Holds all information about a user This class stores all information about a user connected to the irc server</td></tr>
<tr><td class="indexkey"><a class="el" href="classVersion.html">Version</a></td><td class="indexvalue">Holds a module's Version information The four members (set by the constructor only) indicate details as to the version number of a module</td></tr>
</table>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:08 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:21 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>base.h</h1><a href="base_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>
00028
00029 <span class="preprocessor">#endif</span>
00030 <span class="preprocessor"></span>
-</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:02 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:14 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>base.h File Reference</h1><code>#include "inspircd_config.h"</code><br>
<code>#include <time.h></code><br>
<tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classclassbase.html">classbase</a></td></tr>
<tr><td> </td><td><font size=-1><em>The base class for all inspircd classes.</em> <a href="classclassbase.html#_details">More...</a><em></em></font><br><br></td></tr>
</table>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:03 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:15 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>channels.cpp</h1><a href="channels_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="preprocessor">#include "inspircd_config.h"</span>
00002 <span class="preprocessor">#include "<a class="code" href="channels_8h.html">channels.h</a>"</span>
00003 <span class="preprocessor">#include "inspircd.h"</span>
00004 <span class="preprocessor">#include <stdio.h></span>
-00005
-<a name="l00006"></a><a class="code" href="classchanrec.html#a2">00006</a> <a class="code" href="classchanrec.html#a2">chanrec::chanrec</a>()
-00007 {
-00008 strcpy(name,<span class="stringliteral">""</span>);
-00009 strcpy(custom_modes,<span class="stringliteral">""</span>);
-00010 strcpy(topic,<span class="stringliteral">""</span>);
-00011 strcpy(setby,<span class="stringliteral">""</span>);
-00012 strcpy(key,<span class="stringliteral">""</span>);
-00013 <a class="code" href="classchanrec.html#m3">created</a> = <a class="code" href="classchanrec.html#m4">topicset</a> = <a class="code" href="classchanrec.html#m6">limit</a> = 0;
-00014 <a class="code" href="classchanrec.html#m8">topiclock</a> = <a class="code" href="classchanrec.html#m9">noexternal</a> = <a class="code" href="classchanrec.html#m10">inviteonly</a> = <a class="code" href="classchanrec.html#m11">moderated</a> = <a class="code" href="classchanrec.html#m12">secret</a> = <a class="code" href="classchanrec.html#m13">c_private</a> = <span class="keyword">false</span>;
-00015 }
-00016
-<a name="l00017"></a><a class="code" href="classchanrec.html#a0">00017</a> <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#a0">chanrec::SetCustomMode</a>(<span class="keywordtype">char</span> mode,<span class="keywordtype">bool</span> mode_on)
-00018 {
-00019 <span class="keywordflow">if</span> (mode_on) {
-00020 <span class="keywordtype">char</span> m[3];
-00021 m[0] = mode;
-00022 m[1] = <span class="charliteral">'\0'</span>;
-00023 <span class="keywordflow">if</span> (!strchr(this->custom_modes,mode))
-00024 {
-00025 strncat(custom_modes,m,MAXMODES);
-00026 }
-00027 log(DEBUG,<span class="stringliteral">"Custom mode %c set"</span>,mode);
-00028 }
-00029 <span class="keywordflow">else</span> {
-00030 <span class="keywordtype">char</span> temp[MAXMODES];
-00031 <span class="keywordtype">int</span> count = 0;
-00032 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> q = 0; q < strlen(custom_modes); q++) {
-00033 <span class="keywordflow">if</span> (<a class="code" href="classchanrec.html#m1">custom_modes</a>[q] != mode) {
-00034 temp[count++] = mode;
-00035 }
-00036 }
-00037 temp[count] = <span class="charliteral">'\0'</span>;
-00038 strncpy(custom_modes,temp,MAXMODES);
-00039 log(DEBUG,<span class="stringliteral">"Custom mode %c removed"</span>,mode);
-00040 }
-00041 }
-00042
-<a name="l00043"></a><a class="code" href="classchanrec.html#a1">00043</a> <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#a1">chanrec::SetCustomModeParam</a>(<span class="keywordtype">char</span> mode,<span class="keywordtype">char</span>* parameter,<span class="keywordtype">bool</span> mode_on)
-00044 {
-00045 }
-00046
-00047
-00048
-</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:02 2004 for InspIRCd by
+00005 <span class="preprocessor">#include <string></span>
+00006 <span class="preprocessor">#include <vector></span>
+00007
+00008 <span class="keyword">using</span> <span class="keyword">namespace </span>std;
+00009
+<a name="l00010"></a><a class="code" href="channels_8cpp.html#a0">00010</a> vector<ModeParameter> <a class="code" href="channels_8cpp.html#a0">custom_mode_params</a>;
+00011
+<a name="l00012"></a><a class="code" href="classchanrec.html#a4">00012</a> <a class="code" href="classchanrec.html#a4">chanrec::chanrec</a>()
+00013 {
+00014 strcpy(name,<span class="stringliteral">""</span>);
+00015 strcpy(custom_modes,<span class="stringliteral">""</span>);
+00016 strcpy(topic,<span class="stringliteral">""</span>);
+00017 strcpy(setby,<span class="stringliteral">""</span>);
+00018 strcpy(key,<span class="stringliteral">""</span>);
+00019 <a class="code" href="classchanrec.html#m3">created</a> = <a class="code" href="classchanrec.html#m4">topicset</a> = <a class="code" href="classchanrec.html#m6">limit</a> = 0;
+00020 <a class="code" href="classchanrec.html#m8">topiclock</a> = <a class="code" href="classchanrec.html#m9">noexternal</a> = <a class="code" href="classchanrec.html#m10">inviteonly</a> = <a class="code" href="classchanrec.html#m11">moderated</a> = <a class="code" href="classchanrec.html#m12">secret</a> = <a class="code" href="classchanrec.html#m13">c_private</a> = <span class="keyword">false</span>;
+00021 }
+00022
+<a name="l00023"></a><a class="code" href="classchanrec.html#a0">00023</a> <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#a0">chanrec::SetCustomMode</a>(<span class="keywordtype">char</span> mode,<span class="keywordtype">bool</span> mode_on)
+00024 {
+00025 <span class="keywordflow">if</span> (mode_on) {
+00026 <span class="keywordtype">char</span> m[3];
+00027 m[0] = mode;
+00028 m[1] = <span class="charliteral">'\0'</span>;
+00029 <span class="keywordflow">if</span> (!strchr(this->custom_modes,mode))
+00030 {
+00031 strncat(custom_modes,m,MAXMODES);
+00032 }
+00033 log(DEBUG,<span class="stringliteral">"Custom mode %c set"</span>,mode);
+00034 }
+00035 <span class="keywordflow">else</span> {
+00036 <span class="keywordtype">char</span> temp[MAXBUF];
+00037 <span class="keywordtype">int</span> count = 0;
+00038 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> q = 0; q < strlen(custom_modes); q++) {
+00039 <span class="keywordflow">if</span> (<a class="code" href="classchanrec.html#m1">custom_modes</a>[q] != mode) {
+00040 temp[count++] = mode;
+00041 }
+00042 }
+00043 temp[count] = <span class="charliteral">'\0'</span>;
+00044 strncpy(custom_modes,temp,MAXMODES);
+00045 log(DEBUG,<span class="stringliteral">"Custom mode %c removed"</span>,mode);
+00046 this-><a class="code" href="classchanrec.html#a1">SetCustomModeParam</a>(mode,<span class="stringliteral">""</span>,<span class="keyword">false</span>);
+00047 }
+00048 }
+00049
+<a name="l00050"></a><a class="code" href="classchanrec.html#a1">00050</a> <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#a1">chanrec::SetCustomModeParam</a>(<span class="keywordtype">char</span> mode,<span class="keywordtype">char</span>* parameter,<span class="keywordtype">bool</span> mode_on)
+00051 {
+00052
+00053 log(DEBUG,<span class="stringliteral">"SetCustomModeParam called"</span>);
+00054 <a class="code" href="classModeParameter.html">ModeParameter</a> M;
+00055 M.<a class="code" href="classModeParameter.html#m0">mode</a> = mode;
+00056 strcpy(M.<a class="code" href="classModeParameter.html#m2">channel</a>,this->name);
+00057 strcpy(M.<a class="code" href="classModeParameter.html#m1">parameter</a>,parameter);
+00058 <span class="keywordflow">if</span> (mode_on)
+00059 {
+00060 log(DEBUG,<span class="stringliteral">"Custom mode parameter %c %s added"</span>,mode,parameter);
+00061 <a class="code" href="channels_8cpp.html#a0">custom_mode_params</a>.push_back(M);
+00062 }
+00063 <span class="keywordflow">else</span>
+00064 {
+00065 <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#a0">custom_mode_params</a>.size())
+00066 {
+00067 <span class="keywordflow">for</span> (vector<ModeParameter>::iterator i = <a class="code" href="channels_8cpp.html#a0">custom_mode_params</a>.begin(); i < <a class="code" href="channels_8cpp.html#a0">custom_mode_params</a>.end(); i++)
+00068 {
+00069 <span class="keywordflow">if</span> ((i->mode == mode) && (!strcasecmp(this->name,i->channel)))
+00070 {
+00071 log(DEBUG,<span class="stringliteral">"Custom mode parameter %c %s removed"</span>,mode,parameter);
+00072 <a class="code" href="channels_8cpp.html#a0">custom_mode_params</a>.erase(i);
+00073 <span class="keywordflow">return</span>;
+00074 }
+00075 }
+00076 }
+00077 log(DEBUG,<span class="stringliteral">"*** BUG *** Attempt to remove non-existent mode parameter!"</span>);
+00078 }
+00079 }
+00080
+<a name="l00081"></a><a class="code" href="classchanrec.html#a2">00081</a> <span class="keywordtype">bool</span> <a class="code" href="classchanrec.html#a2">chanrec::IsCustomModeSet</a>(<span class="keywordtype">char</span> mode)
+00082 {
+00083 log(DEBUG,<span class="stringliteral">"Checking ISCustomModeSet: %c %s"</span>,mode,this->custom_modes);
+00084 <span class="keywordflow">return</span> (strchr(this->custom_modes,mode) != 0);
+00085 }
+00086
+<a name="l00087"></a><a class="code" href="classchanrec.html#a3">00087</a> std::string <a class="code" href="classchanrec.html#a3">chanrec::GetModeParameter</a>(<span class="keywordtype">char</span> mode)
+00088 {
+00089 <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#a0">custom_mode_params</a>.size())
+00090 {
+00091 <span class="keywordflow">for</span> (vector<ModeParameter>::iterator i = <a class="code" href="channels_8cpp.html#a0">custom_mode_params</a>.begin(); i < <a class="code" href="channels_8cpp.html#a0">custom_mode_params</a>.end(); i++)
+00092 {
+00093 <span class="keywordflow">if</span> ((i->mode == mode) && (!strcasecmp(this->name,i->channel)))
+00094 {
+00095 <span class="keywordflow">return</span> std::string(i->parameter);
+00096 }
+00097 }
+00098 }
+00099 <span class="keywordflow">return</span> std::string(<span class="stringliteral">""</span>);
+00100 }
+</pre></div><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:14 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>channels.cpp File Reference</h1><code>#include "inspircd_config.h"</code><br>
<code>#include "<a class="el" href="channels_8h-source.html">channels.h</a>"</code><br>
<code>#include "inspircd.h"</code><br>
<code>#include <stdio.h></code><br>
+<code>#include <string></code><br>
+<code>#include <vector></code><br>
<p>
Include dependency graph for channels.cpp:<p><center><img src="channels_8cpp__incl.gif" border="0" usemap="#channels.cpp_map" alt="Include dependency graph"></center>
<map name="channels.cpp_map">
-<area href="channels_8h.html" shape="rect" coords="96,155,168,176" alt="">
+<area href="channels_8h.html" shape="rect" coords="151,155,223,176" alt="">
<area href="base_8h.html" shape="rect" coords="108,86,156,107" alt="">
</map>
<p>
<a href="channels_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Namespaces</h2></td></tr>
+<tr><td nowrap align=right valign=top>namespace </td><td valign=bottom><a class="el" href="namespacestd.html">std</a></td></tr>
+<tr><td colspan=2><br><h2>Variables</h2></td></tr>
+<tr><td nowrap align=right valign=top>vector< <a class="el" href="classModeParameter.html">ModeParameter</a> > </td><td valign=bottom><a class="el" href="channels_8cpp.html#a0">custom_mode_params</a></td></tr>
</table>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:04 2004 for InspIRCd by
+<hr><h2>Variable Documentation</h2>
+<a name="a0" doxytag="channels.cpp::custom_mode_params"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> vector<<a class="el" href="classModeParameter.html">ModeParameter</a>> custom_mode_params
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="channels_8cpp-source.html#l00010">10</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
+<p>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00087">chanrec::GetModeParameter()</a>, and <a class="el" href="channels_8cpp-source.html#l00050">chanrec::SetCustomModeParam()</a>. </td>
+ </tr>
+</table>
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:15 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>channels.h</h1><a href="channels_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>
00007 <span class="preprocessor">#include "<a class="code" href="base_8h.html">base.h</a>"</span>
00008 <span class="preprocessor">#include <time.h></span>
00009 <span class="preprocessor">#include <vector></span>
-00010
-00011 <span class="preprocessor">#ifndef __CHANNELS_H__</span>
-00012 <span class="preprocessor"></span><span class="preprocessor">#define __CHANNELS_H__</span>
-00013 <span class="preprocessor"></span>
-<a name="l00017"></a><a class="code" href="classHostItem.html">00017</a> <span class="keyword">class </span><a class="code" href="classHostItem.html">HostItem</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-00018 {
-00019 <span class="keyword">public</span>:
-<a name="l00020"></a><a class="code" href="classHostItem.html#m0">00020</a> time_t <a class="code" href="classHostItem.html#m0">set_time</a>;
-<a name="l00021"></a><a class="code" href="classHostItem.html#m1">00021</a> <span class="keywordtype">char</span> <a class="code" href="classHostItem.html#m1">set_by</a>[NICKMAX];
-<a name="l00022"></a><a class="code" href="classHostItem.html#m2">00022</a> <span class="keywordtype">char</span> <a class="code" href="classHostItem.html#m2">data</a>[MAXBUF];
-00023
-<a name="l00024"></a><a class="code" href="classHostItem.html#a0">00024</a> <a class="code" href="classHostItem.html#a0">HostItem</a>() { <span class="comment">/* stub */</span> }
-<a name="l00025"></a><a class="code" href="classHostItem.html#a1">00025</a> <span class="keyword">virtual</span> <a class="code" href="classHostItem.html#a1">~HostItem</a>() { <span class="comment">/* stub */</span> }
-00026 };
-00027
-00028 <span class="comment">// banlist is inherited from HostList mainly for readability</span>
-00029 <span class="comment">// reasons only</span>
-00030
-<a name="l00033"></a><a class="code" href="classBanItem.html">00033</a> <span class="keyword">class </span><a class="code" href="classBanItem.html">BanItem</a> : <span class="keyword">public</span> <a class="code" href="classHostItem.html">HostItem</a>
-00034 {
-00035 };
-00036
-00037 <span class="comment">// same with this...</span>
-00038
-<a name="l00041"></a><a class="code" href="classExemptItem.html">00041</a> <span class="keyword">class </span><a class="code" href="classExemptItem.html">ExemptItem</a> : <span class="keyword">public</span> <a class="code" href="classHostItem.html">HostItem</a>
-00042 {
-00043 };
-00044
-00045 <span class="comment">// and this...</span>
-00046
-<a name="l00049"></a><a class="code" href="classInviteItem.html">00049</a> <span class="keyword">class </span><a class="code" href="classInviteItem.html">InviteItem</a> : <span class="keyword">public</span> <a class="code" href="classHostItem.html">HostItem</a>
-00050 {
-00051 };
-00052
+00010 <span class="preprocessor">#include <string></span>
+00011
+00012 <span class="preprocessor">#ifndef __CHANNELS_H__</span>
+00013 <span class="preprocessor"></span><span class="preprocessor">#define __CHANNELS_H__</span>
+00014 <span class="preprocessor"></span>
+<a name="l00018"></a><a class="code" href="classHostItem.html">00018</a> <span class="keyword">class </span><a class="code" href="classHostItem.html">HostItem</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
+00019 {
+00020 <span class="keyword">public</span>:
+<a name="l00021"></a><a class="code" href="classHostItem.html#m0">00021</a> time_t <a class="code" href="classHostItem.html#m0">set_time</a>;
+<a name="l00022"></a><a class="code" href="classHostItem.html#m1">00022</a> <span class="keywordtype">char</span> <a class="code" href="classHostItem.html#m1">set_by</a>[NICKMAX];
+<a name="l00023"></a><a class="code" href="classHostItem.html#m2">00023</a> <span class="keywordtype">char</span> <a class="code" href="classHostItem.html#m2">data</a>[MAXBUF];
+00024
+<a name="l00025"></a><a class="code" href="classHostItem.html#a0">00025</a> <a class="code" href="classHostItem.html#a0">HostItem</a>() { <span class="comment">/* stub */</span> }
+<a name="l00026"></a><a class="code" href="classHostItem.html#a1">00026</a> <span class="keyword">virtual</span> <a class="code" href="classHostItem.html#a1">~HostItem</a>() { <span class="comment">/* stub */</span> }
+00027 };
+00028
+00029 <span class="comment">// banlist is inherited from HostList mainly for readability</span>
+00030 <span class="comment">// reasons only</span>
+00031
+<a name="l00034"></a><a class="code" href="classBanItem.html">00034</a> <span class="keyword">class </span><a class="code" href="classBanItem.html">BanItem</a> : <span class="keyword">public</span> <a class="code" href="classHostItem.html">HostItem</a>
+00035 {
+00036 };
+00037
+00038 <span class="comment">// same with this...</span>
+00039
+<a name="l00042"></a><a class="code" href="classExemptItem.html">00042</a> <span class="keyword">class </span><a class="code" href="classExemptItem.html">ExemptItem</a> : <span class="keyword">public</span> <a class="code" href="classHostItem.html">HostItem</a>
+00043 {
+00044 };
+00045
+00046 <span class="comment">// and this...</span>
+00047
+<a name="l00050"></a><a class="code" href="classInviteItem.html">00050</a> <span class="keyword">class </span><a class="code" href="classInviteItem.html">InviteItem</a> : <span class="keyword">public</span> <a class="code" href="classHostItem.html">HostItem</a>
+00051 {
+00052 };
00053
-<a name="l00056"></a><a class="code" href="channels_8h.html#a5">00056</a> <span class="keyword">typedef</span> std::vector<BanItem> <a class="code" href="channels_8h.html#a5">BanList</a>;
-00057
-<a name="l00060"></a><a class="code" href="channels_8h.html#a6">00060</a> <span class="keyword">typedef</span> std::vector<ExemptItem> <a class="code" href="channels_8h.html#a6">ExemptList</a>;
-00061
-<a name="l00064"></a><a class="code" href="channels_8h.html#a7">00064</a> <span class="keyword">typedef</span> std::vector<InviteItem> <a class="code" href="channels_8h.html#a7">InviteList</a>;
-00065
-<a name="l00070"></a><a class="code" href="classchanrec.html">00070</a> <span class="keyword">class </span><a class="code" href="classchanrec.html">chanrec</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-00071 {
-00072 <span class="keyword">public</span>:
-<a name="l00075"></a><a class="code" href="classchanrec.html#m0">00075</a> <span class="keywordtype">char</span> <a class="code" href="classchanrec.html#m0">name</a>[CHANMAX]; <span class="comment">/* channel name */</span>
-<a name="l00079"></a><a class="code" href="classchanrec.html#m1">00079</a> <span class="keywordtype">char</span> <a class="code" href="classchanrec.html#m1">custom_modes</a>[MAXMODES]; <span class="comment">/* modes handled by modules */</span>
-<a name="l00083"></a><a class="code" href="classchanrec.html#m2">00083</a> <span class="keywordtype">char</span> <a class="code" href="classchanrec.html#m2">topic</a>[MAXBUF];
-<a name="l00086"></a><a class="code" href="classchanrec.html#m3">00086</a> time_t <a class="code" href="classchanrec.html#m3">created</a>;
-<a name="l00090"></a><a class="code" href="classchanrec.html#m4">00090</a> time_t <a class="code" href="classchanrec.html#m4">topicset</a>;
-<a name="l00094"></a><a class="code" href="classchanrec.html#m5">00094</a> <span class="keywordtype">char</span> <a class="code" href="classchanrec.html#m5">setby</a>[NICKMAX];
-00095
-<a name="l00099"></a><a class="code" href="classchanrec.html#m6">00099</a> <span class="keywordtype">long</span> <a class="code" href="classchanrec.html#m6">limit</a>;
-00100
-<a name="l00104"></a><a class="code" href="classchanrec.html#m7">00104</a> <span class="keywordtype">char</span> <a class="code" href="classchanrec.html#m7">key</a>[32];
-00105
-<a name="l00108"></a><a class="code" href="classchanrec.html#m8">00108</a> <span class="keywordtype">short</span> <span class="keywordtype">int</span> <a class="code" href="classchanrec.html#m8">topiclock</a>;
-00109
-<a name="l00112"></a><a class="code" href="classchanrec.html#m9">00112</a> <span class="keywordtype">short</span> <span class="keywordtype">int</span> <a class="code" href="classchanrec.html#m9">noexternal</a>;
-00113
-<a name="l00116"></a><a class="code" href="classchanrec.html#m10">00116</a> <span class="keywordtype">short</span> <span class="keywordtype">int</span> <a class="code" href="classchanrec.html#m10">inviteonly</a>;
-00117
-<a name="l00120"></a><a class="code" href="classchanrec.html#m11">00120</a> <span class="keywordtype">short</span> <span class="keywordtype">int</span> <a class="code" href="classchanrec.html#m11">moderated</a>;
-00121
-<a name="l00125"></a><a class="code" href="classchanrec.html#m12">00125</a> <span class="keywordtype">short</span> <span class="keywordtype">int</span> <a class="code" href="classchanrec.html#m12">secret</a>;
-00126
-<a name="l00130"></a><a class="code" href="classchanrec.html#m13">00130</a> <span class="keywordtype">short</span> <span class="keywordtype">int</span> <a class="code" href="classchanrec.html#m13">c_private</a>;
+00054
+<a name="l00059"></a><a class="code" href="classModeParameter.html">00059</a> <span class="keyword">class </span><a class="code" href="classModeParameter.html">ModeParameter</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
+00060 {
+00061 <span class="keyword">public</span>:
+<a name="l00062"></a><a class="code" href="classModeParameter.html#m0">00062</a> <span class="keywordtype">char</span> <a class="code" href="classModeParameter.html#m0">mode</a>;
+<a name="l00063"></a><a class="code" href="classModeParameter.html#m1">00063</a> <span class="keywordtype">char</span> <a class="code" href="classModeParameter.html#m1">parameter</a>[MAXBUF];
+<a name="l00064"></a><a class="code" href="classModeParameter.html#m2">00064</a> <span class="keywordtype">char</span> <a class="code" href="classModeParameter.html#m2">channel</a>[CHANMAX];
+00065 };
+00066
+<a name="l00069"></a><a class="code" href="channels_8h.html#a5">00069</a> <span class="keyword">typedef</span> std::vector<BanItem> <a class="code" href="channels_8h.html#a5">BanList</a>;
+00070
+<a name="l00073"></a><a class="code" href="channels_8h.html#a6">00073</a> <span class="keyword">typedef</span> std::vector<ExemptItem> <a class="code" href="channels_8h.html#a6">ExemptList</a>;
+00074
+<a name="l00077"></a><a class="code" href="channels_8h.html#a7">00077</a> <span class="keyword">typedef</span> std::vector<InviteItem> <a class="code" href="channels_8h.html#a7">InviteList</a>;
+00078
+<a name="l00083"></a><a class="code" href="classchanrec.html">00083</a> <span class="keyword">class </span><a class="code" href="classchanrec.html">chanrec</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
+00084 {
+00085 <span class="keyword">public</span>:
+<a name="l00088"></a><a class="code" href="classchanrec.html#m0">00088</a> <span class="keywordtype">char</span> <a class="code" href="classchanrec.html#m0">name</a>[CHANMAX]; <span class="comment">/* channel name */</span>
+<a name="l00092"></a><a class="code" href="classchanrec.html#m1">00092</a> <span class="keywordtype">char</span> <a class="code" href="classchanrec.html#m1">custom_modes</a>[MAXMODES]; <span class="comment">/* modes handled by modules */</span>
+00093
+<a name="l00097"></a><a class="code" href="classchanrec.html#m2">00097</a> <span class="keywordtype">char</span> <a class="code" href="classchanrec.html#m2">topic</a>[MAXBUF];
+<a name="l00100"></a><a class="code" href="classchanrec.html#m3">00100</a> time_t <a class="code" href="classchanrec.html#m3">created</a>;
+<a name="l00104"></a><a class="code" href="classchanrec.html#m4">00104</a> time_t <a class="code" href="classchanrec.html#m4">topicset</a>;
+<a name="l00108"></a><a class="code" href="classchanrec.html#m5">00108</a> <span class="keywordtype">char</span> <a class="code" href="classchanrec.html#m5">setby</a>[NICKMAX];
+00109
+<a name="l00113"></a><a class="code" href="classchanrec.html#m6">00113</a> <span class="keywordtype">long</span> <a class="code" href="classchanrec.html#m6">limit</a>;
+00114
+<a name="l00118"></a><a class="code" href="classchanrec.html#m7">00118</a> <span class="keywordtype">char</span> <a class="code" href="classchanrec.html#m7">key</a>[32];
+00119
+<a name="l00122"></a><a class="code" href="classchanrec.html#m8">00122</a> <span class="keywordtype">short</span> <span class="keywordtype">int</span> <a class="code" href="classchanrec.html#m8">topiclock</a>;
+00123
+<a name="l00126"></a><a class="code" href="classchanrec.html#m9">00126</a> <span class="keywordtype">short</span> <span class="keywordtype">int</span> <a class="code" href="classchanrec.html#m9">noexternal</a>;
+00127
+<a name="l00130"></a><a class="code" href="classchanrec.html#m10">00130</a> <span class="keywordtype">short</span> <span class="keywordtype">int</span> <a class="code" href="classchanrec.html#m10">inviteonly</a>;
00131
-<a name="l00134"></a><a class="code" href="classchanrec.html#m14">00134</a> <a class="code" href="channels_8h.html#a5">BanList</a> <a class="code" href="classchanrec.html#m14">bans</a>;
+<a name="l00134"></a><a class="code" href="classchanrec.html#m11">00134</a> <span class="keywordtype">short</span> <span class="keywordtype">int</span> <a class="code" href="classchanrec.html#m11">moderated</a>;
00135
-00138 <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#a0">SetCustomMode</a>(<span class="keywordtype">char</span> mode,<span class="keywordtype">bool</span> mode_on);
-00139
-00142 <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#a1">SetCustomModeParam</a>(<span class="keywordtype">char</span> mode,<span class="keywordtype">char</span>* parameter,<span class="keywordtype">bool</span> mode_on);
-00143
-00146 <a class="code" href="classchanrec.html#a2">chanrec</a>();
-00147
-<a name="l00148"></a><a class="code" href="classchanrec.html#a3">00148</a> <span class="keyword">virtual</span> <a class="code" href="classchanrec.html#a3">~chanrec</a>() { <span class="comment">/* stub */</span> }
-00149 };
-00150
-00151 <span class="comment">/* used to hold a channel and a users modes on that channel, e.g. +v, +h, +o</span>
-00152 <span class="comment"> * needs to come AFTER struct chanrec */</span>
+<a name="l00139"></a><a class="code" href="classchanrec.html#m12">00139</a> <span class="keywordtype">short</span> <span class="keywordtype">int</span> <a class="code" href="classchanrec.html#m12">secret</a>;
+00140
+<a name="l00144"></a><a class="code" href="classchanrec.html#m13">00144</a> <span class="keywordtype">short</span> <span class="keywordtype">int</span> <a class="code" href="classchanrec.html#m13">c_private</a>;
+00145
+<a name="l00148"></a><a class="code" href="classchanrec.html#m14">00148</a> <a class="code" href="channels_8h.html#a5">BanList</a> <a class="code" href="classchanrec.html#m14">bans</a>;
+00149
+00152 <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#a0">SetCustomMode</a>(<span class="keywordtype">char</span> mode,<span class="keywordtype">bool</span> mode_on);
00153
-<a name="l00154"></a><a class="code" href="channels_8h.html#a0">00154</a> <span class="preprocessor">#define UCMODE_OP 1</span>
-<a name="l00155"></a><a class="code" href="channels_8h.html#a1">00155</a> <span class="preprocessor"></span><span class="preprocessor">#define UCMODE_VOICE 2</span>
-<a name="l00156"></a><a class="code" href="channels_8h.html#a2">00156</a> <span class="preprocessor"></span><span class="preprocessor">#define UCMODE_HOP 4</span>
-<a name="l00157"></a><a class="code" href="channels_8h.html#a3">00157</a> <span class="preprocessor"></span><span class="preprocessor">#define UCMODE_PROTECT 8</span>
-<a name="l00158"></a><a class="code" href="channels_8h.html#a4">00158</a> <span class="preprocessor"></span><span class="preprocessor">#define UCMODE_FOUNDER 16</span>
-00159 <span class="preprocessor"></span>
-<a name="l00165"></a><a class="code" href="classucrec.html">00165</a> <span class="keyword">class </span><a class="code" href="classucrec.html">ucrec</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-00166 {
-00167 <span class="keyword">public</span>:
-<a name="l00171"></a><a class="code" href="classucrec.html#m0">00171</a> <span class="keywordtype">long</span> <a class="code" href="classucrec.html#m0">uc_modes</a>;
-00172
-<a name="l00176"></a><a class="code" href="classucrec.html#m1">00176</a> <a class="code" href="classchanrec.html">chanrec</a> *<a class="code" href="classucrec.html#m1">channel</a>;
-00177
-<a name="l00178"></a><a class="code" href="classucrec.html#a0">00178</a> <a class="code" href="classucrec.html#a0">ucrec</a>() { <span class="comment">/* stub */</span> }
-<a name="l00179"></a><a class="code" href="classucrec.html#a1">00179</a> <span class="keyword">virtual</span> <a class="code" href="classucrec.html#a1">~ucrec</a>() { <span class="comment">/* stub */</span> }
-00180 };
-00181
-00182 <span class="preprocessor">#endif</span>
-00183 <span class="preprocessor"></span>
-</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:02 2004 for InspIRCd by
+00156 <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#a1">SetCustomModeParam</a>(<span class="keywordtype">char</span> mode,<span class="keywordtype">char</span>* parameter,<span class="keywordtype">bool</span> mode_on);
+00157
+00160 <span class="keywordtype">bool</span> <a class="code" href="classchanrec.html#a2">IsCustomModeSet</a>(<span class="keywordtype">char</span> mode);
+00161
+00168 std::string <a class="code" href="classchanrec.html#a3">GetModeParameter</a>(<span class="keywordtype">char</span> mode);
+00169
+00172 <a class="code" href="classchanrec.html#a4">chanrec</a>();
+00173
+<a name="l00174"></a><a class="code" href="classchanrec.html#a5">00174</a> <span class="keyword">virtual</span> <a class="code" href="classchanrec.html#a5">~chanrec</a>() { <span class="comment">/* stub */</span> }
+00175 };
+00176
+00177 <span class="comment">/* used to hold a channel and a users modes on that channel, e.g. +v, +h, +o</span>
+00178 <span class="comment"> * needs to come AFTER struct chanrec */</span>
+00179
+<a name="l00180"></a><a class="code" href="channels_8h.html#a0">00180</a> <span class="preprocessor">#define UCMODE_OP 1</span>
+<a name="l00181"></a><a class="code" href="channels_8h.html#a1">00181</a> <span class="preprocessor"></span><span class="preprocessor">#define UCMODE_VOICE 2</span>
+<a name="l00182"></a><a class="code" href="channels_8h.html#a2">00182</a> <span class="preprocessor"></span><span class="preprocessor">#define UCMODE_HOP 4</span>
+<a name="l00183"></a><a class="code" href="channels_8h.html#a3">00183</a> <span class="preprocessor"></span><span class="preprocessor">#define UCMODE_PROTECT 8</span>
+<a name="l00184"></a><a class="code" href="channels_8h.html#a4">00184</a> <span class="preprocessor"></span><span class="preprocessor">#define UCMODE_FOUNDER 16</span>
+00185 <span class="preprocessor"></span>
+<a name="l00191"></a><a class="code" href="classucrec.html">00191</a> <span class="keyword">class </span><a class="code" href="classucrec.html">ucrec</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
+00192 {
+00193 <span class="keyword">public</span>:
+<a name="l00197"></a><a class="code" href="classucrec.html#m0">00197</a> <span class="keywordtype">long</span> <a class="code" href="classucrec.html#m0">uc_modes</a>;
+00198
+<a name="l00202"></a><a class="code" href="classucrec.html#m1">00202</a> <a class="code" href="classchanrec.html">chanrec</a> *<a class="code" href="classucrec.html#m1">channel</a>;
+00203
+<a name="l00204"></a><a class="code" href="classucrec.html#a0">00204</a> <a class="code" href="classucrec.html#a0">ucrec</a>() { <span class="comment">/* stub */</span> }
+<a name="l00205"></a><a class="code" href="classucrec.html#a1">00205</a> <span class="keyword">virtual</span> <a class="code" href="classucrec.html#a1">~ucrec</a>() { <span class="comment">/* stub */</span> }
+00206 };
+00207
+00208 <span class="preprocessor">#endif</span>
+00209 <span class="preprocessor"></span>
+</pre></div><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:14 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>channels.h File Reference</h1><code>#include "inspircd_config.h"</code><br>
<code>#include "<a class="el" href="base_8h-source.html">base.h</a>"</code><br>
<code>#include <time.h></code><br>
<code>#include <vector></code><br>
+<code>#include <string></code><br>
<p>
Include dependency graph for channels.h:<p><center><img src="channels_8h__incl.gif" border="0" usemap="#channels.h_map" alt="Include dependency graph"></center>
<tr><td> </td><td><font size=-1><em>Holds an entry for a ban list, exemption list, or invite list.</em> <a href="classHostItem.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classInviteItem.html">InviteItem</a></td></tr>
<tr><td> </td><td><font size=-1><em>A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to hold channel invites (+I).</em> <a href="classInviteItem.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classModeParameter.html">ModeParameter</a></td></tr>
+<tr><td> </td><td><font size=-1><em>Holds a custom parameter to a module-defined channel mode e.g.</em> <a href="classModeParameter.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classucrec.html">ucrec</a></td></tr>
<tr><td> </td><td><font size=-1><em>Holds a user's modes on a channel This class associates a users privilages with a channel by creating a pointer link between a userrec and chanrec class.</em> <a href="classucrec.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00158">158</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+Definition at line <a class="el" href="channels_8h-source.html#l00184">184</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
</tr>
</table>
<a name="a2" doxytag="channels.h::UCMODE_HOP"></a><p>
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00156">156</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+Definition at line <a class="el" href="channels_8h-source.html#l00182">182</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
</tr>
</table>
<a name="a0" doxytag="channels.h::UCMODE_OP"></a><p>
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00154">154</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+Definition at line <a class="el" href="channels_8h-source.html#l00180">180</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
</tr>
</table>
<a name="a3" doxytag="channels.h::UCMODE_PROTECT"></a><p>
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00157">157</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+Definition at line <a class="el" href="channels_8h-source.html#l00183">183</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
</tr>
</table>
<a name="a1" doxytag="channels.h::UCMODE_VOICE"></a><p>
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00155">155</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+Definition at line <a class="el" href="channels_8h-source.html#l00181">181</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
</tr>
</table>
<hr><h2>Typedef Documentation</h2>
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00056">56</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+Definition at line <a class="el" href="channels_8h-source.html#l00069">69</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
</tr>
</table>
<a name="a6" doxytag="channels.h::ExemptList"></a><p>
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00060">60</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+Definition at line <a class="el" href="channels_8h-source.html#l00073">73</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
</tr>
</table>
<a name="a7" doxytag="channels.h::InviteList"></a><p>
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00064">64</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+Definition at line <a class="el" href="channels_8h-source.html#l00077">77</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
</tr>
</table>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:04 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:16 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>Admin Member List</h1>This is the complete list of members for <a class="el" href="classAdmin.html">Admin</a>, including all inherited members.<table>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classAdmin.html#a0">Admin</a>(std::string name, std::string email, std::string nick)</td><td><a class="el" href="classAdmin.html">Admin</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#m0">age</a></td><td><a class="el" href="classclassbase.html">classbase</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classAdmin.html#m0">Name</a></td><td><a class="el" href="classAdmin.html">Admin</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classAdmin.html#m2">Nick</a></td><td><a class="el" href="classAdmin.html">Admin</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:09 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:21 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>Admin Class Reference</h1>Holds /ADMIN data This class contains the admin details of the local server.
<a href="#_details">More...</a>
<p>
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00091">91</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00105">105</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00091 : <a class="code" href="classAdmin.html#m0">Name</a>(name), <a class="code" href="classAdmin.html#m1">Email</a>(email), <a class="code" href="classAdmin.html#m2">Nick</a>(nick) { };
+<div class="fragment"><pre>00105 : <a class="code" href="classAdmin.html#m0">Name</a>(name), <a class="code" href="classAdmin.html#m1">Email</a>(email), <a class="code" href="classAdmin.html#m2">Nick</a>(nick) { };
</pre></div> </td>
</tr>
</table>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:09 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:21 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>BanItem Member List</h1>This is the complete list of members for <a class="el" href="classBanItem.html">BanItem</a>, including all inherited members.<table>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#m0">age</a></td><td><a class="el" href="classclassbase.html">classbase</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a0">classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classHostItem.html#m0">set_time</a></td><td><a class="el" href="classHostItem.html">HostItem</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classHostItem.html#a1">~HostItem</a>()</td><td><a class="el" href="classHostItem.html">HostItem</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:09 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:22 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>BanItem Class Reference</h1>A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to hold channel bans (+b).
<a href="#_details">More...</a>
<p>
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00033">33</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr>The documentation for this class was generated from the following file:<ul>
+Definition at line <a class="el" href="channels_8h-source.html#l00034">34</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:09 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:22 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>ConfigReader Member List</h1>This is the complete list of members for <a class="el" href="classConfigReader.html">ConfigReader</a>, including all inherited members.<table>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#m0">age</a></td><td><a class="el" href="classclassbase.html">classbase</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a0">classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classConfigReader.html#a5">Verify</a>()</td><td><a class="el" href="classConfigReader.html">ConfigReader</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classConfigReader.html#a2">~ConfigReader</a>()</td><td><a class="el" href="classConfigReader.html">ConfigReader</a></td><td></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:11 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:24 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>ConfigReader Class Reference</h1>Allows reading of values from configuration files This class allows a module to read from either the main configuration file (inspircd.conf) or from a module-specified configuration file.
<a href="#_details">More...</a>
<p>
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00357">357</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
+Definition at line <a class="el" href="modules_8h-source.html#l00358">358</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
<a name="a0" doxytag="ConfigReader::ConfigReader"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<p>
This constructor initialises the ConfigReader class to read the inspircd.conf file as specified when running ./configure.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00236">236</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00265">265</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l00362">fname</a>.
+References <a class="el" href="modules_8h-source.html#l00363">fname</a>.
<p>
-<div class="fragment"><pre>00237 {
-00238 <a class="code" href="classConfigReader.html#n0">fname</a> = CONFIG_FILE;
-00239 }
+<div class="fragment"><pre>00266 {
+00267 <a class="code" href="classConfigReader.html#n0">fname</a> = CONFIG_FILE;
+00268 }
</pre></div> </td>
</tr>
</table>
<p>
This constructor initialises the ConfigReader class to read a user-specified config file
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00247">247</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00276">276</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00247 : <a class="code" href="classConfigReader.html#n0">fname</a>(filename) { };
+<div class="fragment"><pre>00276 : <a class="code" href="classConfigReader.html#n0">fname</a>(filename) { };
</pre></div> </td>
</tr>
</table>
<p>
This method destroys the ConfigReader class.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00242">242</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00271">271</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00243 {
-00244 }
+<div class="fragment"><pre>00272 {
+00273 }
</pre></div> </td>
</tr>
</table>
<p>
This method counts the number of times a tag appears in a config file, for use where there are several tags of the same kind, e.g. with opers and connect types. It can be used with the index value of <a class="el" href="classConfigReader.html#a3">ConfigReader::ReadValue</a> to loop through all copies of a multiple instance tag.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00257">257</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00286">286</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l00362">fname</a>.
+References <a class="el" href="modules_8h-source.html#l00363">fname</a>.
<p>
-<div class="fragment"><pre>00258 {
-00259 <span class="keywordflow">return</span> EnumConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str());
-00260 }
+<div class="fragment"><pre>00287 {
+00288 <span class="keywordflow">return</span> EnumConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str());
+00289 }
</pre></div> </td>
</tr>
</table>
<p>
This method retrieves a value from the config file. Where multiple copies of the tag exist in the config file, index indicates which of the values to retrieve.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00249">249</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00278">278</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l00362">fname</a>.
+References <a class="el" href="modules_8h-source.html#l00363">fname</a>.
<p>
-<div class="fragment"><pre>00250 {
-00251 <span class="keywordtype">char</span> val[MAXBUF];
-00252 ReadConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str(),name.c_str(),index,val);
-00253 <span class="keywordflow">return</span> val;
-00254 }
+<div class="fragment"><pre>00279 {
+00280 <span class="keywordtype">char</span> val[MAXBUF];
+00281 ReadConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str(),name.c_str(),index,val);
+00282 <span class="keywordflow">return</span> val;
+00283 }
</pre></div> </td>
</tr>
</table>
<p>
This method is unimplemented and will always return true.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00263">263</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00292">292</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00264 {
-00265 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-00266 }
+<div class="fragment"><pre>00293 {
+00294 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00295 }
</pre></div> </td>
</tr>
</table>
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00362">362</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
+Definition at line <a class="el" href="modules_8h-source.html#l00363">363</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00236">ConfigReader()</a>, <a class="el" href="modules_8cpp-source.html#l00257">Enumerate()</a>, and <a class="el" href="modules_8cpp-source.html#l00249">ReadValue()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00265">ConfigReader()</a>, <a class="el" href="modules_8cpp-source.html#l00286">Enumerate()</a>, and <a class="el" href="modules_8cpp-source.html#l00278">ReadValue()</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:11 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:24 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>ConnectClass Member List</h1>This is the complete list of members for <a class="el" href="classConnectClass.html">ConnectClass</a>, including all inherited members.<table>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#m0">age</a></td><td><a class="el" href="classclassbase.html">classbase</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a0">classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classConnectClass.html#m2">pass</a></td><td><a class="el" href="classConnectClass.html">ConnectClass</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classConnectClass.html#m0">type</a></td><td><a class="el" href="classConnectClass.html">ConnectClass</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:12 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:25 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>ConnectClass Class Reference</h1>Holds information relevent to <connect allow> and <connect deny> tags in the config file.
<a href="#_details">More...</a>
<p>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="users_8h-source.html">users.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:12 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:25 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>ExemptItem Member List</h1>This is the complete list of members for <a class="el" href="classExemptItem.html">ExemptItem</a>, including all inherited members.<table>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#m0">age</a></td><td><a class="el" href="classclassbase.html">classbase</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a0">classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classHostItem.html#m0">set_time</a></td><td><a class="el" href="classHostItem.html">HostItem</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classHostItem.html#a1">~HostItem</a>()</td><td><a class="el" href="classHostItem.html">HostItem</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:13 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:26 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>ExemptItem Class Reference</h1>A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to hold channel exempts (+e).
<a href="#_details">More...</a>
<p>
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00041">41</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr>The documentation for this class was generated from the following file:<ul>
+Definition at line <a class="el" href="channels_8h-source.html#l00042">42</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:13 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:26 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>ExtMode Member List</h1>This is the complete list of members for <a class="el" href="classExtMode.html">ExtMode</a>, including all inherited members.<table>
- <tr bgcolor="#f0f0f0"><td><a class="el" href="classExtMode.html#m2">default_on</a></td><td><a class="el" href="classExtMode.html">ExtMode</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><a class="el" href="classExtMode.html#a0">ExtMode</a>(char mc, int ty, bool d_on, int p_on, int p_off)</td><td><a class="el" href="classExtMode.html">ExtMode</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classExtMode.html#a0">ExtMode</a>(char mc, int ty, bool oper, int p_on, int p_off)</td><td><a class="el" href="classExtMode.html">ExtMode</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classExtMode.html#m0">modechar</a></td><td><a class="el" href="classExtMode.html">ExtMode</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><a class="el" href="classExtMode.html#m4">params_when_off</a></td><td><a class="el" href="classExtMode.html">ExtMode</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><a class="el" href="classExtMode.html#m3">params_when_on</a></td><td><a class="el" href="classExtMode.html">ExtMode</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classExtMode.html#m4">needsoper</a></td><td><a class="el" href="classExtMode.html">ExtMode</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classExtMode.html#m3">params_when_off</a></td><td><a class="el" href="classExtMode.html">ExtMode</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classExtMode.html#m2">params_when_on</a></td><td><a class="el" href="classExtMode.html">ExtMode</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classExtMode.html#m1">type</a></td><td><a class="el" href="classExtMode.html">ExtMode</a></td><td></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:13 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:26 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>ExtMode Class Reference</h1>Collaboration diagram for ExtMode:<p><center><img src="classExtMode__coll__graph.gif" border="0" usemap="#ExtMode__coll__map" alt="Collaboration graph"></center>
<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classExtMode-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
-<tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classExtMode.html#a0">ExtMode</a> (char mc, int ty, bool d_on, int p_on, int p_off)</td></tr>
+<tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classExtMode.html#a0">ExtMode</a> (char mc, int ty, bool oper, int p_on, int p_off)</td></tr>
<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
<tr><td nowrap align=right valign=top>char </td><td valign=bottom><a class="el" href="classExtMode.html#m0">modechar</a></td></tr>
<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classExtMode.html#m1">type</a></td></tr>
-<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classExtMode.html#m2">default_on</a></td></tr>
-<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classExtMode.html#m3">params_when_on</a></td></tr>
-<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classExtMode.html#m4">params_when_off</a></td></tr>
+<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classExtMode.html#m2">params_when_on</a></td></tr>
+<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classExtMode.html#m3">params_when_off</a></td></tr>
+<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classExtMode.html#m4">needsoper</a></td></tr>
</table>
<hr><h2>Constructor & Destructor Documentation</h2>
<a name="a0" doxytag="ExtMode::ExtMode"></a><p>
<td></td>
<td></td>
<td class="md" nowrap>bool </td>
- <td class="mdname" nowrap> <em>d_on</em>, </td>
+ <td class="mdname" nowrap> <em>oper</em>, </td>
</tr>
<tr>
<td></td>
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00025">25</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00025 : <a class="code" href="classExtMode.html#m0">modechar</a>(mc), <a class="code" href="classExtMode.html#m1">type</a>(ty), <a class="code" href="classExtMode.html#m2">default_on</a>(d_on), <a class="code" href="classExtMode.html#m3">params_when_on</a>(p_on), <a class="code" href="classExtMode.html#m4">params_when_off</a>(p_off) { };
+<div class="fragment"><pre>00025 : <a class="code" href="classExtMode.html#m0">modechar</a>(mc), <a class="code" href="classExtMode.html#m1">type</a>(ty), <a class="code" href="classExtMode.html#m4">needsoper</a>(oper), <a class="code" href="classExtMode.html#m2">params_when_on</a>(p_on), <a class="code" href="classExtMode.html#m3">params_when_off</a>(p_off) { };
</pre></div> </td>
</tr>
</table>
<hr><h2>Member Data Documentation</h2>
-<a name="m2" doxytag="ExtMode::default_on"></a><p>
+<a name="m0" doxytag="ExtMode::modechar"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> bool ExtMode::default_on
+ <td class="md" nowrap valign="top"> char ExtMode::modechar
</table>
</td>
</tr>
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00022">22</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>. </td>
+Definition at line <a class="el" href="modules_8cpp-source.html#l00020">20</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>. </td>
</tr>
</table>
-<a name="m0" doxytag="ExtMode::modechar"></a><p>
+<a name="m4" doxytag="ExtMode::needsoper"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> char ExtMode::modechar
+ <td class="md" nowrap valign="top"> bool ExtMode::needsoper
</table>
</td>
</tr>
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00020">20</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>. </td>
+Definition at line <a class="el" href="modules_8cpp-source.html#l00024">24</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>. </td>
</tr>
</table>
-<a name="m4" doxytag="ExtMode::params_when_off"></a><p>
+<a name="m3" doxytag="ExtMode::params_when_off"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00024">24</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>. </td>
+Definition at line <a class="el" href="modules_8cpp-source.html#l00023">23</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>. </td>
</tr>
</table>
-<a name="m3" doxytag="ExtMode::params_when_on"></a><p>
+<a name="m2" doxytag="ExtMode::params_when_on"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00023">23</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>. </td>
+Definition at line <a class="el" href="modules_8cpp-source.html#l00022">22</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>. </td>
</tr>
</table>
<a name="m1" doxytag="ExtMode::type"></a><p>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:13 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:26 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>FileReader Member List</h1>This is the complete list of members for <a class="el" href="classFileReader.html">FileReader</a>, including all inherited members.<table>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#m0">age</a></td><td><a class="el" href="classclassbase.html">classbase</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a0">classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classFileReader.html#a3">LoadFile</a>(std::string filename)</td><td><a class="el" href="classFileReader.html">FileReader</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classFileReader.html#a2">~FileReader</a>()</td><td><a class="el" href="classFileReader.html">FileReader</a></td><td></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:14 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:27 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>FileReader Class Reference</h1>Caches a text file into memory and can be used to retrieve lines from it.
<a href="#_details">More...</a>
<p>
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00402">402</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
+Definition at line <a class="el" href="modules_8h-source.html#l00403">403</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
<a name="a0" doxytag="FileReader::FileReader"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<p>
This method does not load any file into memory, you must use the LoadFile method after constructing the class this way.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00276">276</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00305">305</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00277 {
-00278 }
+<div class="fragment"><pre>00306 {
+00307 }
</pre></div> </td>
</tr>
</table>
<p>
This method initialises the class with a file loaded into it ready for GetLine and and other methods to be called. If the file could not be loaded, <a class="el" href="classFileReader.html#a6">FileReader::FileSize</a> returns 0.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00269">269</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00298">298</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l00404">fc</a>, and <a class="el" href="modules_8h-source.html#l00029">file_cache</a>.
+References <a class="el" href="modules_8h-source.html#l00405">fc</a>, and <a class="el" href="modules_8h-source.html#l00029">file_cache</a>.
<p>
-<div class="fragment"><pre>00270 {
-00271 <a class="code" href="modules_8h.html#a10">file_cache</a> c;
-00272 readfile(c,filename.c_str());
-00273 this-><a class="code" href="classFileReader.html#o0">fc</a> = c;
-00274 }
+<div class="fragment"><pre>00299 {
+00300 <a class="code" href="modules_8h.html#a10">file_cache</a> c;
+00301 readfile(c,filename.c_str());
+00302 this-><a class="code" href="classFileReader.html#o0">fc</a> = c;
+00303 }
</pre></div> </td>
</tr>
</table>
<p>
This deletes the memory allocated to the file.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00288">288</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00317">317</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00289 {
-00290 }
+<div class="fragment"><pre>00318 {
+00319 }
</pre></div> </td>
</tr>
</table>
<p>
This method retrieves one line from the text file. If an empty non-NULL string is returned, the index was out of bounds, or the line had no data on it.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00292">292</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00321">321</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l00404">fc</a>.
+References <a class="el" href="modules_8h-source.html#l00405">fc</a>.
<p>
-<div class="fragment"><pre>00293 {
-00294 <span class="keywordflow">if</span> (<a class="code" href="classFileReader.html#o0">fc</a>.size() == 0)
-00295 {
-00296 <span class="keywordflow">return</span>(false);
-00297 }
-00298 <span class="keywordflow">else</span>
-00299 {
-00300 <span class="keywordflow">return</span>(true);
-00301 }
-00302 }
+<div class="fragment"><pre>00322 {
+00323 <span class="keywordflow">if</span> (<a class="code" href="classFileReader.html#o0">fc</a>.size() == 0)
+00324 {
+00325 <span class="keywordflow">return</span>(false);
+00326 }
+00327 <span class="keywordflow">else</span>
+00328 {
+00329 <span class="keywordflow">return</span>(true);
+00330 }
+00331 }
</pre></div> </td>
</tr>
</table>
<p>
This method returns the number of lines in the read file. If it is 0, no lines have been read into memory, either because the file is empty or it does not exist, or cannot be opened due to permission problems.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00311">311</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00340">340</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l00404">fc</a>.
+References <a class="el" href="modules_8h-source.html#l00405">fc</a>.
<p>
-<div class="fragment"><pre>00312 {
-00313 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>.size();
-00314 }
+<div class="fragment"><pre>00341 {
+00342 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>.size();
+00343 }
</pre></div> </td>
</tr>
</table>
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00304">304</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00333">333</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l00404">fc</a>.
+References <a class="el" href="modules_8h-source.html#l00405">fc</a>.
<p>
-<div class="fragment"><pre>00305 {
-00306 <span class="keywordflow">if</span> ((x<0) || (x><a class="code" href="classFileReader.html#o0">fc</a>.size()))
-00307 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
-00308 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>[x];
-00309 }
+<div class="fragment"><pre>00334 {
+00335 <span class="keywordflow">if</span> ((x<0) || (x><a class="code" href="classFileReader.html#o0">fc</a>.size()))
+00336 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
+00337 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>[x];
+00338 }
</pre></div> </td>
</tr>
</table>
<p>
This method loads a file into the class ready for GetLine and and other methods to be called. If the file could not be loaded, <a class="el" href="classFileReader.html#a6">FileReader::FileSize</a> returns 0.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00280">280</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00309">309</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l00404">fc</a>, and <a class="el" href="modules_8h-source.html#l00029">file_cache</a>.
+References <a class="el" href="modules_8h-source.html#l00405">fc</a>, and <a class="el" href="modules_8h-source.html#l00029">file_cache</a>.
<p>
-<div class="fragment"><pre>00281 {
-00282 <a class="code" href="modules_8h.html#a10">file_cache</a> c;
-00283 readfile(c,filename.c_str());
-00284 this-><a class="code" href="classFileReader.html#o0">fc</a> = c;
-00285 }
+<div class="fragment"><pre>00310 {
+00311 <a class="code" href="modules_8h.html#a10">file_cache</a> c;
+00312 readfile(c,filename.c_str());
+00313 this-><a class="code" href="classFileReader.html#o0">fc</a> = c;
+00314 }
</pre></div> </td>
</tr>
</table>
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00404">404</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
+Definition at line <a class="el" href="modules_8h-source.html#l00405">405</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00292">Exists()</a>, <a class="el" href="modules_8cpp-source.html#l00269">FileReader()</a>, <a class="el" href="modules_8cpp-source.html#l00311">FileSize()</a>, <a class="el" href="modules_8cpp-source.html#l00304">GetLine()</a>, and <a class="el" href="modules_8cpp-source.html#l00280">LoadFile()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00321">Exists()</a>, <a class="el" href="modules_8cpp-source.html#l00298">FileReader()</a>, <a class="el" href="modules_8cpp-source.html#l00340">FileSize()</a>, <a class="el" href="modules_8cpp-source.html#l00333">GetLine()</a>, and <a class="el" href="modules_8cpp-source.html#l00309">LoadFile()</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:14 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:27 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>HostItem Member List</h1>This is the complete list of members for <a class="el" href="classHostItem.html">HostItem</a>, including all inherited members.<table>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#m0">age</a></td><td><a class="el" href="classclassbase.html">classbase</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a0">classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classHostItem.html#m0">set_time</a></td><td><a class="el" href="classHostItem.html">HostItem</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classHostItem.html#a1">~HostItem</a>()</td><td><a class="el" href="classHostItem.html">HostItem</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:14 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:27 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>HostItem Class Reference</h1>Holds an entry for a ban list, exemption list, or invite list.
<a href="#_details">More...</a>
<p>
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00017">17</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
+Definition at line <a class="el" href="channels_8h-source.html#l00018">18</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
<a name="a0" doxytag="HostItem::HostItem"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00024">24</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
+Definition at line <a class="el" href="channels_8h-source.html#l00025">25</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
<p>
-<div class="fragment"><pre>00024 { <span class="comment">/* stub */</span> }
+<div class="fragment"><pre>00025 { <span class="comment">/* stub */</span> }
</pre></div> </td>
</tr>
</table>
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00025">25</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
+Definition at line <a class="el" href="channels_8h-source.html#l00026">26</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
<p>
-<div class="fragment"><pre>00025 { <span class="comment">/* stub */</span> }
+<div class="fragment"><pre>00026 { <span class="comment">/* stub */</span> }
</pre></div> </td>
</tr>
</table>
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00022">22</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+Definition at line <a class="el" href="channels_8h-source.html#l00023">23</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
</tr>
</table>
<a name="m1" doxytag="HostItem::set_by"></a><p>
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00021">21</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+Definition at line <a class="el" href="channels_8h-source.html#l00022">22</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
</tr>
</table>
<a name="m0" doxytag="HostItem::set_time"></a><p>
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00020">20</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+Definition at line <a class="el" href="channels_8h-source.html#l00021">21</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:14 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:27 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>InviteItem Member List</h1>This is the complete list of members for <a class="el" href="classInviteItem.html">InviteItem</a>, including all inherited members.<table>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#m0">age</a></td><td><a class="el" href="classclassbase.html">classbase</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a0">classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classHostItem.html#m0">set_time</a></td><td><a class="el" href="classHostItem.html">HostItem</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classHostItem.html#a1">~HostItem</a>()</td><td><a class="el" href="classHostItem.html">HostItem</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:16 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:28 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>InviteItem Class Reference</h1>A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to hold channel invites (+I).
<a href="#_details">More...</a>
<p>
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00049">49</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr>The documentation for this class was generated from the following file:<ul>
+Definition at line <a class="el" href="channels_8h-source.html#l00050">50</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:16 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:28 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>Invited Member List</h1>This is the complete list of members for <a class="el" href="classInvited.html">Invited</a>, including all inherited members.<table>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#m0">age</a></td><td><a class="el" href="classclassbase.html">classbase</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classInvited.html#m0">channel</a></td><td><a class="el" href="classInvited.html">Invited</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a0">classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:15 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:27 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>Invited Class Reference</h1>Holds a channel name to which a user has been invited.
<a href="#_details">More...</a>
<p>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="users_8h-source.html">users.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:15 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:27 2004 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>
--- /dev/null
+<!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>Member List</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>ModeParameter Member List</h1>This is the complete list of members for <a class="el" href="classModeParameter.html">ModeParameter</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#m0">age</a></td><td><a class="el" href="classclassbase.html">classbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classModeParameter.html#m2">channel</a></td><td><a class="el" href="classModeParameter.html">ModeParameter</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a0">classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classModeParameter.html#m0">mode</a></td><td><a class="el" href="classModeParameter.html">ModeParameter</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classModeParameter.html#m1">parameter</a></td><td><a class="el" href="classModeParameter.html">ModeParameter</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:29 2004 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>
+</body>
+</html>
--- /dev/null
+<!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>ModeParameter class Reference</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>ModeParameter Class Reference</h1>Holds a custom parameter to a module-defined channel mode e.g.
+<a href="#_details">More...</a>
+<p>
+<code>#include <<a class="el" href="channels_8h-source.html">channels.h</a>></code>
+<p>
+Inheritance diagram for ModeParameter:<p><center><img src="classModeParameter__inherit__graph.gif" border="0" usemap="#ModeParameter__inherit__map" alt="Inheritance graph"></center>
+<map name="ModeParameter__inherit__map">
+<area href="classclassbase.html" shape="rect" coords="25,16,92,37" alt="">
+</map>
+<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for ModeParameter:<p><center><img src="classModeParameter__coll__graph.gif" border="0" usemap="#ModeParameter__coll__map" alt="Collaboration graph"></center>
+<map name="ModeParameter__coll__map">
+<area href="classclassbase.html" shape="rect" coords="7,107,73,128" alt="">
+</map>
+<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classModeParameter-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>char </td><td valign=bottom><a class="el" href="classModeParameter.html#m0">mode</a></td></tr>
+<tr><td nowrap align=right valign=top>char </td><td valign=bottom><a class="el" href="classModeParameter.html#m1">parameter</a> [MAXBUF]</td></tr>
+<tr><td nowrap align=right valign=top>char </td><td valign=bottom><a class="el" href="classModeParameter.html#m2">channel</a> [CHANMAX]</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Holds a custom parameter to a module-defined channel mode e.g.
+<p>
+for +L this would hold the channel name.
+<p>
+
+<p>
+Definition at line <a class="el" href="channels_8h-source.html#l00059">59</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr><h2>Member Data Documentation</h2>
+<a name="m2" doxytag="ModeParameter::channel"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char ModeParameter::channel[CHANMAX]
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="channels_8h-source.html#l00064">64</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
+<p>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00050">chanrec::SetCustomModeParam()</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="ModeParameter::mode"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char ModeParameter::mode
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="channels_8h-source.html#l00062">62</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
+<p>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00050">chanrec::SetCustomModeParam()</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="ModeParameter::parameter"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char ModeParameter::parameter[MAXBUF]
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="channels_8h-source.html#l00063">63</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
+<p>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00050">chanrec::SetCustomModeParam()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="channels_8h-source.html">channels.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:29 2004 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>
+</body>
+</html>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>Module Member List</h1>This is the complete list of members for <a class="el" href="classModule.html">Module</a>, including all inherited members.<table>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#m0">age</a></td><td><a class="el" href="classclassbase.html">classbase</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a0">classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classModule.html#a4">OnUserQuit</a>(userrec *user)</td><td><a class="el" href="classModule.html">Module</a></td><td><code> [virtual]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classModule.html#a1">~Module</a>()</td><td><a class="el" href="classModule.html">Module</a></td><td><code> [virtual]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:16 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:29 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>Module Class Reference</h1>Base class for all InspIRCd modules This class is the base class for InspIRCd modules.
<a href="#_details">More...</a>
<p>
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00093">93</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00107">107</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00093 { }
+<div class="fragment"><pre>00107 { }
</pre></div> </td>
</tr>
</table>
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00094">94</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00108">108</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00094 { }
+<div class="fragment"><pre>00108 { }
</pre></div> </td>
</tr>
</table>
<p>
The method should return a <a class="el" href="classVersion.html">Version</a> object with its version information assigned via <a class="el" href="classVersion.html#a0">Version::Version</a>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00105">105</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00119">119</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00105 { <span class="keywordflow">return</span> <a class="code" href="classVersion.html">Version</a>(1,0,0,0); }
+<div class="fragment"><pre>00119 { <span class="keywordflow">return</span> <a class="code" href="classVersion.html">Version</a>(1,0,0,0); }
</pre></div> </td>
</tr>
</table>
<p>
The type parameter is MT_SERVER, MT_CLIENT or MT_CHANNEL, dependent on where the mode is being changed. mode_on is set when the mode is being set, in which case params contains a list of parameters for the mode as strings. If mode_on is false, the mode is being removed, and parameters may contain the parameters for the mode, dependent on wether they were defined when a mode handler was set up with <a class="el" href="classServer.html#a19">Server::AddExtendedMode</a> If the mode is not a channel mode, chanrec* chan is null, and should not be read from or written to.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00104">104</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00118">118</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00104 { }
+<div class="fragment"><pre>00118 { }
</pre></div> </td>
</tr>
</table>
<p>
The packet is represented as a char*, as it should be regarded as a buffer, and not a string. This allows you to easily represent it in the correct ways to implement encryption, compression, digital signatures and anything else you may want to add. This should be regarded as a pre-processor and will be called immediately after the packet is received but before any other operations with the core of the ircd.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00100">100</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00114">114</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00100 { }
+<div class="fragment"><pre>00114 { }
</pre></div> </td>
</tr>
</table>
<p>
The packet is represented as a char*, as it should be regarded as a buffer, and not a string. This allows you to easily represent it in the correct ways to implement encryption, compression, digital signatures and anything else you may want to add. This should be regarded as a pre-processor and will be called before ANY other operations within the ircd core program.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00099">99</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00113">113</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00099 { }
+<div class="fragment"><pre>00113 { }
</pre></div> </td>
</tr>
</table>
<p>
This method is called prior to a /REHASH or when a SIGHUP is received from the operating system. You should use it to reload any files so that your module keeps in step with the rest of the application.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00101">101</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00115">115</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00101 { }
+<div class="fragment"><pre>00115 { }
</pre></div> </td>
</tr>
</table>
<p>
This method is the lowest level of handler available to a module. It will be called with raw data which is passing through a connected socket. If you wish, you may munge this data by changing the string parameter "raw". If you do this, after your function exits it will immediately be cut down to 510 characters plus a carriage return and linefeed.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00102">102</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00116">116</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00102 { }
+<div class="fragment"><pre>00116 { }
</pre></div> </td>
</tr>
</table>
<p>
The details of the connecting user are available to you in the parameter userrec *user
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00095">95</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00109">109</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00095 { }
+<div class="fragment"><pre>00109 { }
</pre></div> </td>
</tr>
</table>
<p>
The details of the joining user are available to you in the parameter userrec *user, and the details of the channel they have joined is available in the variable chanrec *channel
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00097">97</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00111">111</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00097 { }
+<div class="fragment"><pre>00111 { }
</pre></div> </td>
</tr>
</table>
<p>
The details of the leaving user are available to you in the parameter userrec *user, and the details of the channel they have left is available in the variable chanrec *channel
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00098">98</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00112">112</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00098 { }
+<div class="fragment"><pre>00112 { }
</pre></div> </td>
</tr>
</table>
<p>
The details of the exiting user are available to you in the parameter userrec *user
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00096">96</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00110">110</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00096 { }
+<div class="fragment"><pre>00110 { }
</pre></div> </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:16 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:29 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>ModuleFactory Member List</h1>This is the complete list of members for <a class="el" href="classModuleFactory.html">ModuleFactory</a>, including all inherited members.<table>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#m0">age</a></td><td><a class="el" href="classclassbase.html">classbase</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a0">classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classModuleFactory.html#a0">ModuleFactory</a>()</td><td><a class="el" href="classModuleFactory.html">ModuleFactory</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classModuleFactory.html#a1">~ModuleFactory</a>()</td><td><a class="el" href="classModuleFactory.html">ModuleFactory</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:17 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:30 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>ModuleFactory Class Reference</h1>Instantiates classes inherited from <a class="el" href="classModule.html">Module</a> This class creates a class inherited from type <a class="el" href="classModule.html">Module</a>, using new.
<a href="#_details">More...</a>
<p>
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00448">448</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
+Definition at line <a class="el" href="modules_8h-source.html#l00449">449</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
<a name="a0" doxytag="ModuleFactory::ModuleFactory"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00451">451</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
+Definition at line <a class="el" href="modules_8h-source.html#l00452">452</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
-<div class="fragment"><pre>00451 { }
+<div class="fragment"><pre>00452 { }
</pre></div> </td>
</tr>
</table>
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00452">452</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
+Definition at line <a class="el" href="modules_8h-source.html#l00453">453</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
-<div class="fragment"><pre>00452 { }
+<div class="fragment"><pre>00453 { }
</pre></div> </td>
</tr>
</table>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:17 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:30 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>Server Member List</h1>This is the complete list of members for <a class="el" href="classServer.html">Server</a>, including all inherited members.<table>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classServer.html#a20">AddCommand</a>(char *cmd, handlerfunc f, char flags, int minparams)</td><td><a class="el" href="classServer.html">Server</a></td><td><code> [virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><a class="el" href="classServer.html#a19">AddExtendedMode</a>(char modechar, int type, bool default_on, int params_when_on, int params_when_off)</td><td><a class="el" href="classServer.html">Server</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classServer.html#a19">AddExtendedMode</a>(char modechar, int type, bool requires_oper, int params_when_on, int params_when_off)</td><td><a class="el" href="classServer.html">Server</a></td><td><code> [virtual]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#m0">age</a></td><td><a class="el" href="classclassbase.html">classbase</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classServer.html#a15">ChanMode</a>(userrec *User, chanrec *Chan)</td><td><a class="el" href="classServer.html">Server</a></td><td><code> [virtual]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a0">classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classServer.html#a0">Server</a>()</td><td><a class="el" href="classServer.html">Server</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classServer.html#a1">~Server</a>()</td><td><a class="el" href="classServer.html">Server</a></td><td><code> [virtual]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:18 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:31 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>Server Class Reference</h1>Allows server output and query functions This class contains methods which allow a module to query the state of the irc server, and produce output to users and other servers.
<a href="#_details">More...</a>
<p>
<tr><td> </td><td><font size=-1><em>Returns the network name, global to all linked servers.</em> <a href="#a17"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="classAdmin.html">Admin</a> </td><td valign=bottom><a class="el" href="classServer.html#a18">GetAdmin</a> ()</td></tr>
<tr><td> </td><td><font size=-1><em>Returns the information of the server as returned by the /ADMIN command.</em> <a href="#a18"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>virtual bool </td><td valign=bottom><a class="el" href="classServer.html#a19">AddExtendedMode</a> (char modechar, int type, bool default_on, int params_when_on, int params_when_off)</td></tr>
+<tr><td nowrap align=right valign=top>virtual bool </td><td valign=bottom><a class="el" href="classServer.html#a19">AddExtendedMode</a> (char modechar, int type, bool requires_oper, int params_when_on, int params_when_off)</td></tr>
<tr><td> </td><td><font size=-1><em>Adds an extended mode letter which is parsed by a module This allows modules to add extra mode letters, e.g.</em> <a href="#a19"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void </td><td valign=bottom><a class="el" href="classServer.html#a20">AddCommand</a> (char *cmd, <a class="el" href="ctables_8h.html#a0">handlerfunc</a> f, char flags, int minparams)</td></tr>
<tr><td> </td><td><font size=-1><em>Adds a command to the command table.</em> <a href="#a20"></a><em></em></font><br><br></td></tr>
<p>
Creates a Server object.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00111">111</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00125">125</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00112 {
-00113 }
+<div class="fragment"><pre>00126 {
+00127 }
</pre></div> </td>
</tr>
</table>
<p>
Destroys a Server object.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00115">115</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00129">129</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00116 {
-00117 }
+<div class="fragment"><pre>00130 {
+00131 }
</pre></div> </td>
</tr>
</table>
typedef void (handlerfunc) (char**, int, userrec*); ... void handle_kill(char **parameters, int pcnt, userrec *user)<p>
When the command is typed, the parameters will be placed into the parameters array (similar to argv) and the parameter count will be placed into pcnt (similar to argv). There will never be any less parameters than the 'minparams' value you specified when creating the command. The *user parameter is the class of the user which caused the command to trigger, who will always have the flag you specified in 'flags' when creating the initial command. For example to create an oper only command create the commands with flags='o'.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00129">129</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00143">143</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
References <a class="el" href="modules_8h.html#a13">createcommand()</a>.
<p>
-<div class="fragment"><pre>00130 {
-00131 <a class="code" href="modules_8h.html#a13">createcommand</a>(cmd,f,flags,minparams);
-00132 }
+<div class="fragment"><pre>00144 {
+00145 <a class="code" href="modules_8h.html#a13">createcommand</a>(cmd,f,flags,minparams);
+00146 }
</pre></div> </td>
</tr>
</table>
<td></td>
<td></td>
<td class="md" nowrap>bool </td>
- <td class="mdname" nowrap> <em>default_on</em>, </td>
+ <td class="mdname" nowrap> <em>requires_oper</em>, </td>
</tr>
<tr>
<td></td>
<p>
Adds an extended mode letter which is parsed by a module This allows modules to add extra mode letters, e.g.
<p>
-+x for hostcloak. the "type" parameter is either MT_CHANNEL, MT_CLIENT, or MT_SERVER, to indicate wether the mode is a channel mode, a client mode, or a server mode. default_on is true if the mode is to be applied to default connections. params_when_on is the number of modes to expect when the mode is turned on (for type MT_CHANNEL only), e.g. with mode +b, this would have a value of 1. the params_when_off value has a similar value to params_when_on, except it indicates the number of parameters to expect when the mode is disabled. Modes which act in a similar way to channel mode +l (e.g. require a parameter to enable, but not to disable) should use this parameter. The function returns false if the mode is unavailable, and will not attempt to allocate another character, as this will confuse users. This also means that as only one module can claim a specific mode character, the core does not need to keep track of which modules own which modes, which speeds up operation of the server. In this version, a mode can have at most one parameter, attempting to use more parameters will have undefined effects.
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00230">230</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8cpp-source.html#l00075">DoAddExtendedMode()</a>.
-<p>
-<div class="fragment"><pre>00231 {
-00232 <span class="keywordflow">return</span> <a class="code" href="modules_8cpp.html#a7">DoAddExtendedMode</a>(modechar,type,default_on,params_when_on,params_when_off);
-00233 }
++x for hostcloak. the "type" parameter is either MT_CHANNEL, MT_CLIENT, or MT_SERVER, to indicate wether the mode is a channel mode, a client mode, or a server mode. requires_oper is used with MT_CLIENT type modes only to indicate the mode can only be set or unset by an oper. If this is used for MT_CHANNEL type modes it is ignored. params_when_on is the number of modes to expect when the mode is turned on (for type MT_CHANNEL only), e.g. with mode +k, this would have a value of 1. the params_when_off value has a similar value to params_when_on, except it indicates the number of parameters to expect when the mode is disabled. Modes which act in a similar way to channel mode +l (e.g. require a parameter to enable, but not to disable) should use this parameter. The function returns false if the mode is unavailable, and will not attempt to allocate another character, as this will confuse users. This also means that as only one module can claim a specific mode character, the core does not need to keep track of which modules own which modes, which speeds up operation of the server. In this version, a mode can have at most one parameter, attempting to use more parameters will have undefined effects.
+<p>
+Definition at line <a class="el" href="modules_8cpp-source.html#l00244">244</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+<p>
+References <a class="el" href="modules_8cpp-source.html#l00089">DoAddExtendedMode()</a>, <a class="el" href="modules_8h-source.html#l00018">MT_CLIENT</a>, and <a class="el" href="modules_8h-source.html#l00019">MT_SERVER</a>.
+<p>
+<div class="fragment"><pre>00245 {
+00246 <span class="keywordflow">if</span> (type == <a class="code" href="modules_8h.html#a7">MT_SERVER</a>)
+00247 {
+00248 log(DEBUG,<span class="stringliteral">"*** API ERROR *** Modes of type MT_SERVER are reserved for future expansion"</span>);
+00249 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00250 }
+00251 <span class="keywordflow">if</span> (((params_when_on>0) || (params_when_off>0)) && (type == <a class="code" href="modules_8h.html#a6">MT_CLIENT</a>))
+00252 {
+00253 log(DEBUG,<span class="stringliteral">"*** API ERROR *** Parameters on MT_CLIENT modes are not supported"</span>);
+00254 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00255 }
+00256 <span class="keywordflow">if</span> ((params_when_on>1) || (params_when_off>1))
+00257 {
+00258 log(DEBUG,<span class="stringliteral">"*** API ERROR *** More than one parameter for an MT_CHANNEL mode is not yet supported"</span>);
+00259 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00260 }
+00261 <span class="keywordflow">return</span> <a class="code" href="modules_8cpp.html#a8">DoAddExtendedMode</a>(modechar,type,requires_oper,params_when_on,params_when_off);
+00262 }
</pre></div> </td>
</tr>
</table>
<p>
This function will return a string containing either @, , +, or an empty string, representing the user's privilages upon the channel you specify.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00208">208</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00222">222</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00209 {
-00210 <span class="keywordflow">return</span> cmode(User,Chan);
-00211 }
+<div class="fragment"><pre>00223 {
+00224 <span class="keywordflow">return</span> cmode(User,Chan);
+00225 }
</pre></div> </td>
</tr>
</table>
<p>
This method is used internally by the NICK and QUIT commands, and the <a class="el" href="classServer.html#a10">Server::SendCommon</a> method.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00171">171</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00185">185</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00172 {
-00173 <span class="keywordflow">return</span> (common_channels(u1,u2) != 0);
-00174 }
+<div class="fragment"><pre>00186 {
+00187 <span class="keywordflow">return</span> (common_channels(u1,u2) != 0);
+00188 }
</pre></div> </td>
</tr>
</table>
<p>
This function will return NULL if the channel does not exist.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00203">203</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00217">217</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00204 {
-00205 <span class="keywordflow">return</span> FindChan(channel.c_str());
-00206 }
+<div class="fragment"><pre>00218 {
+00219 <span class="keywordflow">return</span> FindChan(channel.c_str());
+00220 }
</pre></div> </td>
</tr>
</table>
<p>
This function will return NULL if the nick does not exist.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00198">198</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00212">212</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00199 {
-00200 <span class="keywordflow">return</span> Find(nick);
-00201 }
+<div class="fragment"><pre>00213 {
+00214 <span class="keywordflow">return</span> Find(nick);
+00215 }
</pre></div> </td>
</tr>
</table>
<p>
See the <a class="el" href="classAdmin.html">Admin</a> class for further information of the return value. The members <a class="el" href="classAdmin.html#m2">Admin::Nick</a>, <a class="el" href="classAdmin.html#m1">Admin::Email</a> and <a class="el" href="classAdmin.html#m0">Admin::Name</a> contain the information for the server where the module is loaded.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00223">223</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00237">237</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00224 {
-00225 <span class="keywordflow">return</span> <a class="code" href="classAdmin.html">Admin</a>(getadminname(),getadminemail(),getadminnick());
-00226 }
+<div class="fragment"><pre>00238 {
+00239 <span class="keywordflow">return</span> <a class="code" href="classAdmin.html">Admin</a>(getadminname(),getadminemail(),getadminnick());
+00240 }
</pre></div> </td>
</tr>
</table>
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00218">218</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00232">232</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00219 {
-00220 <span class="keywordflow">return</span> getnetworkname();
-00221 }
+<div class="fragment"><pre>00233 {
+00234 <span class="keywordflow">return</span> getnetworkname();
+00235 }
</pre></div> </td>
</tr>
</table>
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00213">213</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00227">227</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00214 {
-00215 <span class="keywordflow">return</span> getservername();
-00216 }
+<div class="fragment"><pre>00228 {
+00229 <span class="keywordflow">return</span> getservername();
+00230 }
</pre></div> </td>
</tr>
</table>
<p>
Nicks for unregistered connections will return false.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00193">193</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00207">207</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00194 {
-00195 <span class="keywordflow">return</span> (isnick(nick.c_str()) != 0);
-00196 }
+<div class="fragment"><pre>00208 {
+00209 <span class="keywordflow">return</span> (isnick(nick.c_str()) != 0);
+00210 }
</pre></div> </td>
</tr>
</table>
<p>
This method writes a line of text to the log. If the level given is lower than the level given in the configuration, this command has no effect.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00124">124</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00138">138</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00125 {
-00126 log(level,<span class="stringliteral">"%s"</span>,s.c_str());
-00127 }
+<div class="fragment"><pre>00139 {
+00140 log(level,<span class="stringliteral">"%s"</span>,s.c_str());
+00141 }
</pre></div> </td>
</tr>
</table>
<p>
This method writes a line of text to an established socket, cutting it to 510 characters plus a carriage return and linefeed if required.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00139">139</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00153">153</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00140 {
-00141 Write(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
-00142 }
+<div class="fragment"><pre>00154 {
+00155 Write(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
+00156 }
</pre></div> </td>
</tr>
</table>
<p>
This method writes a line of text to a channel, with the given user's nick/ident /host combination prepended, as used in PRIVMSG etc commands (see RFC 1459). If the IncludeSender flag is set, then the text is also sent back to the user from which it originated, as seen in MODE (see RFC 1459).
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00159">159</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-<div class="fragment"><pre>00160 {
-00161 <span class="keywordflow">if</span> (IncludeSender)
-00162 {
-00163 WriteChannel(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
-00164 }
-00165 <span class="keywordflow">else</span>
-00166 {
-00167 ChanExceptSender(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
-00168 }
-00169 }
+Definition at line <a class="el" href="modules_8cpp-source.html#l00173">173</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+<p>
+<div class="fragment"><pre>00174 {
+00175 <span class="keywordflow">if</span> (IncludeSender)
+00176 {
+00177 WriteChannel(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
+00178 }
+00179 <span class="keywordflow">else</span>
+00180 {
+00181 ChanExceptSender(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
+00182 }
+00183 }
</pre></div> </td>
</tr>
</table>
<p>
This method writes a line of text to all users which share a common channel with a given user, with the user's nick/ident/host combination prepended, as used in PRIVMSG etc commands (see RFC 1459). If the IncludeSender flag is set, then the text is also sent back to the user from which it originated, as seen in NICK (see RFC 1459). Otherwise, it is only sent to the other recipients, as seen in QUIT.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00176">176</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-<div class="fragment"><pre>00177 {
-00178 <span class="keywordflow">if</span> (IncludeSender)
-00179 {
-00180 WriteCommon(User,<span class="stringliteral">"%s"</span>,text.c_str());
-00181 }
-00182 <span class="keywordflow">else</span>
-00183 {
-00184 WriteCommonExcept(User,<span class="stringliteral">"%s"</span>,text.c_str());
-00185 }
-00186 }
+Definition at line <a class="el" href="modules_8cpp-source.html#l00190">190</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+<p>
+<div class="fragment"><pre>00191 {
+00192 <span class="keywordflow">if</span> (IncludeSender)
+00193 {
+00194 WriteCommon(User,<span class="stringliteral">"%s"</span>,text.c_str());
+00195 }
+00196 <span class="keywordflow">else</span>
+00197 {
+00198 WriteCommonExcept(User,<span class="stringliteral">"%s"</span>,text.c_str());
+00199 }
+00200 }
</pre></div> </td>
</tr>
</table>
<p>
This method writes a line of text to an established socket, with the given user's nick/ident /host combination prepended, as used in PRIVSG etc commands (see RFC 1459)
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00149">149</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00163">163</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00150 {
-00151 WriteFrom(Socket,User,<span class="stringliteral">"%s"</span>,s.c_str());
-00152 }
+<div class="fragment"><pre>00164 {
+00165 WriteFrom(Socket,User,<span class="stringliteral">"%s"</span>,s.c_str());
+00166 }
</pre></div> </td>
</tr>
</table>
Srv->SendMode(modes,3,user);<p>
The modes will originate from the server where the command was issued, however responses (e.g. numerics) will be sent to the user you provide as the third parameter. You must be sure to get the number of parameters correct in the pcnt parameter otherwise you could leave your server in an unstable state!
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00134">134</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00148">148</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
References <a class="el" href="modules_8h.html#a14">server_mode()</a>.
<p>
-<div class="fragment"><pre>00135 {
-00136 <a class="code" href="modules_8h.html#a14">server_mode</a>(parameters,pcnt,user);
-00137 }
+<div class="fragment"><pre>00149 {
+00150 <a class="code" href="modules_8h.html#a14">server_mode</a>(parameters,pcnt,user);
+00151 }
</pre></div> </td>
</tr>
</table>
<p>
This method sends a server notice to all opers with the usermode +s.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00119">119</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00133">133</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00120 {
-00121 WriteOpers(<span class="stringliteral">"%s"</span>,s.c_str());
-00122 }
+<div class="fragment"><pre>00134 {
+00135 WriteOpers(<span class="stringliteral">"%s"</span>,s.c_str());
+00136 }
</pre></div> </td>
</tr>
</table>
<p>
This method writes a line of text to an established socket, with the servername prepended as used by numerics (see RFC 1459)
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00144">144</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00158">158</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00145 {
-00146 WriteServ(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
-00147 }
+<div class="fragment"><pre>00159 {
+00160 WriteServ(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
+00161 }
</pre></div> </td>
</tr>
</table>
<p>
This method writes a line of text to a user, with a user's nick/ident /host combination prepended, as used in PRIVMSG etc commands (see RFC 1459)
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00154">154</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00168">168</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00155 {
-00156 WriteTo(Source,Dest,<span class="stringliteral">"%s"</span>,s.c_str());
-00157 }
+<div class="fragment"><pre>00169 {
+00170 WriteTo(Source,Dest,<span class="stringliteral">"%s"</span>,s.c_str());
+00171 }
</pre></div> </td>
</tr>
</table>
<p>
This method writes a WALLOPS message to all users with the +w flag, originating from the specified user.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00188">188</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00202">202</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00189 {
-00190 WriteWallOps(User,<span class="stringliteral">"%s"</span>,text.c_str());
-00191 }
+<div class="fragment"><pre>00203 {
+00204 WriteWallOps(User,<span class="stringliteral">"%s"</span>,text.c_str());
+00205 }
</pre></div> </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:18 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:31 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>Version Member List</h1>This is the complete list of members for <a class="el" href="classVersion.html">Version</a>, including all inherited members.<table>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#m0">age</a></td><td><a class="el" href="classclassbase.html">classbase</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classVersion.html#m3">Build</a></td><td><a class="el" href="classVersion.html">Version</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classVersion.html#m2">Revision</a></td><td><a class="el" href="classVersion.html">Version</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classVersion.html#a0">Version</a>(int major, int minor, int revision, int build)</td><td><a class="el" href="classVersion.html">Version</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:20 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:34 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>Version Class Reference</h1>Holds a module's Version information The four members (set by the constructor only) indicate details as to the version number of a module.
<a href="#_details">More...</a>
<p>
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00087">87</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00101">101</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00087 : <a class="code" href="classVersion.html#m0">Major</a>(major), <a class="code" href="classVersion.html#m1">Minor</a>(minor), <a class="code" href="classVersion.html#m2">Revision</a>(revision), <a class="code" href="classVersion.html#m3">Build</a>(build) { };
+<div class="fragment"><pre>00101 : <a class="code" href="classVersion.html#m0">Major</a>(major), <a class="code" href="classVersion.html#m1">Minor</a>(minor), <a class="code" href="classVersion.html#m2">Revision</a>(revision), <a class="code" href="classVersion.html#m3">Build</a>(build) { };
</pre></div> </td>
</tr>
</table>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:20 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:34 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>chanrec Member List</h1>This is the complete list of members for <a class="el" href="classchanrec.html">chanrec</a>, including all inherited members.<table>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#m0">age</a></td><td><a class="el" href="classclassbase.html">classbase</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classchanrec.html#m14">bans</a></td><td><a class="el" href="classchanrec.html">chanrec</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classchanrec.html#m13">c_private</a></td><td><a class="el" href="classchanrec.html">chanrec</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><a class="el" href="classchanrec.html#a2">chanrec</a>()</td><td><a class="el" href="classchanrec.html">chanrec</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classchanrec.html#a4">chanrec</a>()</td><td><a class="el" href="classchanrec.html">chanrec</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a0">classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classchanrec.html#m3">created</a></td><td><a class="el" href="classchanrec.html">chanrec</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classchanrec.html#m1">custom_modes</a></td><td><a class="el" href="classchanrec.html">chanrec</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classchanrec.html#a3">GetModeParameter</a>(char mode)</td><td><a class="el" href="classchanrec.html">chanrec</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classchanrec.html#m10">inviteonly</a></td><td><a class="el" href="classchanrec.html">chanrec</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classchanrec.html#a2">IsCustomModeSet</a>(char mode)</td><td><a class="el" href="classchanrec.html">chanrec</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classchanrec.html#m7">key</a></td><td><a class="el" href="classchanrec.html">chanrec</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classchanrec.html#m6">limit</a></td><td><a class="el" href="classchanrec.html">chanrec</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classchanrec.html#m11">moderated</a></td><td><a class="el" href="classchanrec.html">chanrec</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classchanrec.html#m2">topic</a></td><td><a class="el" href="classchanrec.html">chanrec</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classchanrec.html#m8">topiclock</a></td><td><a class="el" href="classchanrec.html">chanrec</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classchanrec.html#m4">topicset</a></td><td><a class="el" href="classchanrec.html">chanrec</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><a class="el" href="classchanrec.html#a3">~chanrec</a>()</td><td><a class="el" href="classchanrec.html">chanrec</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classchanrec.html#a5">~chanrec</a>()</td><td><a class="el" href="classchanrec.html">chanrec</a></td><td><code> [inline, virtual]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:10 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:23 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>chanrec Class Reference</h1>Holds all relevent information for a channel.
<a href="#_details">More...</a>
<p>
<tr><td> </td><td><font size=-1><em>Sets or unsets a custom mode in the channels info.</em> <a href="#a0"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classchanrec.html#a1">SetCustomModeParam</a> (char mode, char *parameter, bool mode_on)</td></tr>
<tr><td> </td><td><font size=-1><em>Sets or unsets the parameters for a custom mode in a channels info.</em> <a href="#a1"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classchanrec.html#a2">chanrec</a> ()</td></tr>
-<tr><td> </td><td><font size=-1><em>Creates a channel record and initialises it with default values.</em> <a href="#a2"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>virtual </td><td valign=bottom><a class="el" href="classchanrec.html#a3">~chanrec</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classchanrec.html#a2">IsCustomModeSet</a> (char mode)</td></tr>
+<tr><td> </td><td><font size=-1><em>Returns true if a custom mode is set on a channel.</em> <a href="#a2"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>std::string </td><td valign=bottom><a class="el" href="classchanrec.html#a3">GetModeParameter</a> (char mode)</td></tr>
+<tr><td> </td><td><font size=-1><em>Returns the parameter for a custom mode on a channel.</em> <a href="#a3"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classchanrec.html#a4">chanrec</a> ()</td></tr>
+<tr><td> </td><td><font size=-1><em>Creates a channel record and initialises it with default values.</em> <a href="#a4"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual </td><td valign=bottom><a class="el" href="classchanrec.html#a5">~chanrec</a> ()</td></tr>
<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
<tr><td nowrap align=right valign=top>char </td><td valign=bottom><a class="el" href="classchanrec.html#m0">name</a> [CHANMAX]</td></tr>
<tr><td> </td><td><font size=-1><em>The channels name.</em> <a href="#m0"></a><em></em></font><br><br></td></tr>
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00070">70</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
-<a name="a2" doxytag="chanrec::chanrec"></a><p>
+Definition at line <a class="el" href="channels_8h-source.html#l00083">83</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
+<a name="a4" doxytag="chanrec::chanrec"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<p>
<p>
-Definition at line <a class="el" href="channels_8cpp-source.html#l00006">6</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
+Definition at line <a class="el" href="channels_8cpp-source.html#l00012">12</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
<p>
-References <a class="el" href="channels_8h-source.html#l00130">c_private</a>, <a class="el" href="channels_8h-source.html#l00086">created</a>, <a class="el" href="channels_8h-source.html#l00116">inviteonly</a>, <a class="el" href="channels_8h-source.html#l00099">limit</a>, <a class="el" href="channels_8h-source.html#l00120">moderated</a>, <a class="el" href="channels_8h-source.html#l00112">noexternal</a>, <a class="el" href="channels_8h-source.html#l00125">secret</a>, <a class="el" href="channels_8h-source.html#l00108">topiclock</a>, and <a class="el" href="channels_8h-source.html#l00090">topicset</a>.
+References <a class="el" href="channels_8h-source.html#l00144">c_private</a>, <a class="el" href="channels_8h-source.html#l00100">created</a>, <a class="el" href="channels_8h-source.html#l00130">inviteonly</a>, <a class="el" href="channels_8h-source.html#l00113">limit</a>, <a class="el" href="channels_8h-source.html#l00134">moderated</a>, <a class="el" href="channels_8h-source.html#l00126">noexternal</a>, <a class="el" href="channels_8h-source.html#l00139">secret</a>, <a class="el" href="channels_8h-source.html#l00122">topiclock</a>, and <a class="el" href="channels_8h-source.html#l00104">topicset</a>.
<p>
-<div class="fragment"><pre>00007 {
-00008 strcpy(name,<span class="stringliteral">""</span>);
-00009 strcpy(custom_modes,<span class="stringliteral">""</span>);
-00010 strcpy(topic,<span class="stringliteral">""</span>);
-00011 strcpy(setby,<span class="stringliteral">""</span>);
-00012 strcpy(key,<span class="stringliteral">""</span>);
-00013 <a class="code" href="classchanrec.html#m3">created</a> = <a class="code" href="classchanrec.html#m4">topicset</a> = <a class="code" href="classchanrec.html#m6">limit</a> = 0;
-00014 <a class="code" href="classchanrec.html#m8">topiclock</a> = <a class="code" href="classchanrec.html#m9">noexternal</a> = <a class="code" href="classchanrec.html#m10">inviteonly</a> = <a class="code" href="classchanrec.html#m11">moderated</a> = <a class="code" href="classchanrec.html#m12">secret</a> = <a class="code" href="classchanrec.html#m13">c_private</a> = <span class="keyword">false</span>;
-00015 }
+<div class="fragment"><pre>00013 {
+00014 strcpy(name,<span class="stringliteral">""</span>);
+00015 strcpy(custom_modes,<span class="stringliteral">""</span>);
+00016 strcpy(topic,<span class="stringliteral">""</span>);
+00017 strcpy(setby,<span class="stringliteral">""</span>);
+00018 strcpy(key,<span class="stringliteral">""</span>);
+00019 <a class="code" href="classchanrec.html#m3">created</a> = <a class="code" href="classchanrec.html#m4">topicset</a> = <a class="code" href="classchanrec.html#m6">limit</a> = 0;
+00020 <a class="code" href="classchanrec.html#m8">topiclock</a> = <a class="code" href="classchanrec.html#m9">noexternal</a> = <a class="code" href="classchanrec.html#m10">inviteonly</a> = <a class="code" href="classchanrec.html#m11">moderated</a> = <a class="code" href="classchanrec.html#m12">secret</a> = <a class="code" href="classchanrec.html#m13">c_private</a> = <span class="keyword">false</span>;
+00021 }
</pre></div> </td>
</tr>
</table>
-<a name="a3" doxytag="chanrec::~chanrec"></a><p>
+<a name="a5" doxytag="chanrec::~chanrec"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00148">148</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
+Definition at line <a class="el" href="channels_8h-source.html#l00174">174</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
<p>
-<div class="fragment"><pre>00148 { <span class="comment">/* stub */</span> }
+<div class="fragment"><pre>00174 { <span class="comment">/* stub */</span> }
</pre></div> </td>
</tr>
</table>
<hr><h2>Member Function Documentation</h2>
+<a name="a3" doxytag="chanrec::GetModeParameter"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string chanrec::GetModeParameter </td>
+ <td class="md" valign="top">( </td>
+ <td class="md" nowrap valign="top">char </td>
+ <td class="mdname1" valign="top" nowrap> <em>mode</em> </td>
+ <td class="md" valign="top">) </td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+
+ </td>
+ <td>
+
+<p>
+Returns the parameter for a custom mode on a channel.
+<p>
+For example if "+L #foo" is set, and you pass this method 'L', it will return '#foo'. If the mode is not set on the channel, or the mode has no parameters associated with it, it will return an empty string.
+<p>
+Definition at line <a class="el" href="channels_8cpp-source.html#l00087">87</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
+<p>
+References <a class="el" href="channels_8cpp-source.html#l00010">custom_mode_params</a>.
+<p>
+<div class="fragment"><pre>00088 {
+00089 <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#a0">custom_mode_params</a>.size())
+00090 {
+00091 <span class="keywordflow">for</span> (vector<ModeParameter>::iterator i = <a class="code" href="channels_8cpp.html#a0">custom_mode_params</a>.begin(); i < <a class="code" href="channels_8cpp.html#a0">custom_mode_params</a>.end(); i++)
+00092 {
+00093 <span class="keywordflow">if</span> ((i->mode == mode) && (!strcasecmp(this->name,i->channel)))
+00094 {
+00095 <span class="keywordflow">return</span> std::string(i->parameter);
+00096 }
+00097 }
+00098 }
+00099 <span class="keywordflow">return</span> std::string(<span class="stringliteral">""</span>);
+00100 }
+</pre></div> </td>
+ </tr>
+</table>
+<a name="a2" doxytag="chanrec::IsCustomModeSet"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool chanrec::IsCustomModeSet </td>
+ <td class="md" valign="top">( </td>
+ <td class="md" nowrap valign="top">char </td>
+ <td class="mdname1" valign="top" nowrap> <em>mode</em> </td>
+ <td class="md" valign="top">) </td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+
+ </td>
+ <td>
+
+<p>
+Returns true if a custom mode is set on a channel.
+<p>
+
+<p>
+Definition at line <a class="el" href="channels_8cpp-source.html#l00081">81</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
+<p>
+<div class="fragment"><pre>00082 {
+00083 log(DEBUG,<span class="stringliteral">"Checking ISCustomModeSet: %c %s"</span>,mode,this->custom_modes);
+00084 <span class="keywordflow">return</span> (strchr(this->custom_modes,mode) != 0);
+00085 }
+</pre></div> </td>
+ </tr>
+</table>
<a name="a0" doxytag="chanrec::SetCustomMode"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<p>
<p>
-Definition at line <a class="el" href="channels_8cpp-source.html#l00017">17</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
-<p>
-References <a class="el" href="channels_8h-source.html#l00079">custom_modes</a>.
-<p>
-<div class="fragment"><pre>00018 {
-00019 <span class="keywordflow">if</span> (mode_on) {
-00020 <span class="keywordtype">char</span> m[3];
-00021 m[0] = mode;
-00022 m[1] = <span class="charliteral">'\0'</span>;
-00023 <span class="keywordflow">if</span> (!strchr(this->custom_modes,mode))
-00024 {
-00025 strncat(custom_modes,m,MAXMODES);
-00026 }
-00027 log(DEBUG,<span class="stringliteral">"Custom mode %c set"</span>,mode);
-00028 }
-00029 <span class="keywordflow">else</span> {
-00030 <span class="keywordtype">char</span> temp[MAXMODES];
-00031 <span class="keywordtype">int</span> count = 0;
-00032 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> q = 0; q < strlen(custom_modes); q++) {
-00033 <span class="keywordflow">if</span> (<a class="code" href="classchanrec.html#m1">custom_modes</a>[q] != mode) {
-00034 temp[count++] = mode;
-00035 }
-00036 }
-00037 temp[count] = <span class="charliteral">'\0'</span>;
-00038 strncpy(custom_modes,temp,MAXMODES);
-00039 log(DEBUG,<span class="stringliteral">"Custom mode %c removed"</span>,mode);
-00040 }
-00041 }
+Definition at line <a class="el" href="channels_8cpp-source.html#l00023">23</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
+<p>
+References <a class="el" href="channels_8h-source.html#l00092">custom_modes</a>, and <a class="el" href="channels_8cpp-source.html#l00050">SetCustomModeParam()</a>.
+<p>
+<div class="fragment"><pre>00024 {
+00025 <span class="keywordflow">if</span> (mode_on) {
+00026 <span class="keywordtype">char</span> m[3];
+00027 m[0] = mode;
+00028 m[1] = <span class="charliteral">'\0'</span>;
+00029 <span class="keywordflow">if</span> (!strchr(this->custom_modes,mode))
+00030 {
+00031 strncat(custom_modes,m,MAXMODES);
+00032 }
+00033 log(DEBUG,<span class="stringliteral">"Custom mode %c set"</span>,mode);
+00034 }
+00035 <span class="keywordflow">else</span> {
+00036 <span class="keywordtype">char</span> temp[MAXBUF];
+00037 <span class="keywordtype">int</span> count = 0;
+00038 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> q = 0; q < strlen(custom_modes); q++) {
+00039 <span class="keywordflow">if</span> (<a class="code" href="classchanrec.html#m1">custom_modes</a>[q] != mode) {
+00040 temp[count++] = mode;
+00041 }
+00042 }
+00043 temp[count] = <span class="charliteral">'\0'</span>;
+00044 strncpy(custom_modes,temp,MAXMODES);
+00045 log(DEBUG,<span class="stringliteral">"Custom mode %c removed"</span>,mode);
+00046 this-><a class="code" href="classchanrec.html#a1">SetCustomModeParam</a>(mode,<span class="stringliteral">""</span>,<span class="keyword">false</span>);
+00047 }
+00048 }
</pre></div> </td>
</tr>
</table>
<p>
<p>
-Definition at line <a class="el" href="channels_8cpp-source.html#l00043">43</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
-<p>
-<div class="fragment"><pre>00044 {
-00045 }
+Definition at line <a class="el" href="channels_8cpp-source.html#l00050">50</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
+<p>
+References <a class="el" href="channels_8h-source.html#l00064">ModeParameter::channel</a>, <a class="el" href="channels_8cpp-source.html#l00010">custom_mode_params</a>, <a class="el" href="channels_8h-source.html#l00062">ModeParameter::mode</a>, and <a class="el" href="channels_8h-source.html#l00063">ModeParameter::parameter</a>.
+<p>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00023">SetCustomMode()</a>.
+<p>
+<div class="fragment"><pre>00051 {
+00052
+00053 log(DEBUG,<span class="stringliteral">"SetCustomModeParam called"</span>);
+00054 <a class="code" href="classModeParameter.html">ModeParameter</a> M;
+00055 M.<a class="code" href="classModeParameter.html#m0">mode</a> = mode;
+00056 strcpy(M.<a class="code" href="classModeParameter.html#m2">channel</a>,this->name);
+00057 strcpy(M.<a class="code" href="classModeParameter.html#m1">parameter</a>,parameter);
+00058 <span class="keywordflow">if</span> (mode_on)
+00059 {
+00060 log(DEBUG,<span class="stringliteral">"Custom mode parameter %c %s added"</span>,mode,parameter);
+00061 <a class="code" href="channels_8cpp.html#a0">custom_mode_params</a>.push_back(M);
+00062 }
+00063 <span class="keywordflow">else</span>
+00064 {
+00065 <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#a0">custom_mode_params</a>.size())
+00066 {
+00067 <span class="keywordflow">for</span> (vector<ModeParameter>::iterator i = <a class="code" href="channels_8cpp.html#a0">custom_mode_params</a>.begin(); i < <a class="code" href="channels_8cpp.html#a0">custom_mode_params</a>.end(); i++)
+00068 {
+00069 <span class="keywordflow">if</span> ((i->mode == mode) && (!strcasecmp(this->name,i->channel)))
+00070 {
+00071 log(DEBUG,<span class="stringliteral">"Custom mode parameter %c %s removed"</span>,mode,parameter);
+00072 <a class="code" href="channels_8cpp.html#a0">custom_mode_params</a>.erase(i);
+00073 <span class="keywordflow">return</span>;
+00074 }
+00075 }
+00076 }
+00077 log(DEBUG,<span class="stringliteral">"*** BUG *** Attempt to remove non-existent mode parameter!"</span>);
+00078 }
+00079 }
</pre></div> </td>
</tr>
</table>
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00134">134</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+Definition at line <a class="el" href="channels_8h-source.html#l00148">148</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
</tr>
</table>
<a name="m13" doxytag="chanrec::c_private"></a><p>
<p>
This value cannot be set at the same time as <a class="el" href="classchanrec.html#m12">chanrec::secret</a>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00130">130</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
+Definition at line <a class="el" href="channels_8h-source.html#l00144">144</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00006">chanrec()</a>. </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00012">chanrec()</a>. </td>
</tr>
</table>
<a name="m3" doxytag="chanrec::created"></a><p>
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00086">86</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
+Definition at line <a class="el" href="channels_8h-source.html#l00100">100</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00006">chanrec()</a>. </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00012">chanrec()</a>. </td>
</tr>
</table>
<a name="m1" doxytag="chanrec::custom_modes"></a><p>
<p>
Plugins may use this field in any way they see fit.
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00079">79</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
+Definition at line <a class="el" href="channels_8h-source.html#l00092">92</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00017">SetCustomMode()</a>. </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00023">SetCustomMode()</a>. </td>
</tr>
</table>
<a name="m10" doxytag="chanrec::inviteonly"></a><p>
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00116">116</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
+Definition at line <a class="el" href="channels_8h-source.html#l00130">130</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00006">chanrec()</a>. </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00012">chanrec()</a>. </td>
</tr>
</table>
<a name="m7" doxytag="chanrec::key"></a><p>
<p>
If this value is an empty string, there is no channel key in place.
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00104">104</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+Definition at line <a class="el" href="channels_8h-source.html#l00118">118</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
</tr>
</table>
<a name="m6" doxytag="chanrec::limit"></a><p>
<p>
If this value is zero, there is no limit in place.
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00099">99</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
+Definition at line <a class="el" href="channels_8h-source.html#l00113">113</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00006">chanrec()</a>. </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00012">chanrec()</a>. </td>
</tr>
</table>
<a name="m11" doxytag="chanrec::moderated"></a><p>
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00120">120</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
+Definition at line <a class="el" href="channels_8h-source.html#l00134">134</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00006">chanrec()</a>. </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00012">chanrec()</a>. </td>
</tr>
</table>
<a name="m0" doxytag="chanrec::name"></a><p>
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00075">75</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+Definition at line <a class="el" href="channels_8h-source.html#l00088">88</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
</tr>
</table>
<a name="m9" doxytag="chanrec::noexternal"></a><p>
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00112">112</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
+Definition at line <a class="el" href="channels_8h-source.html#l00126">126</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00006">chanrec()</a>. </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00012">chanrec()</a>. </td>
</tr>
</table>
<a name="m12" doxytag="chanrec::secret"></a><p>
<p>
This value cannot be set at the same time as <a class="el" href="classchanrec.html#m13">chanrec::c_private</a>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00125">125</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
+Definition at line <a class="el" href="channels_8h-source.html#l00139">139</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00006">chanrec()</a>. </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00012">chanrec()</a>. </td>
</tr>
</table>
<a name="m5" doxytag="chanrec::setby"></a><p>
<p>
If this member is an empty string, no topic was ever set.
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00094">94</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+Definition at line <a class="el" href="channels_8h-source.html#l00108">108</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
</tr>
</table>
<a name="m2" doxytag="chanrec::topic"></a><p>
<p>
If this is an empty string, no channel topic is set.
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00083">83</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+Definition at line <a class="el" href="channels_8h-source.html#l00097">97</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
</tr>
</table>
<a name="m8" doxytag="chanrec::topiclock"></a><p>
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00108">108</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
+Definition at line <a class="el" href="channels_8h-source.html#l00122">122</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00006">chanrec()</a>. </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00012">chanrec()</a>. </td>
</tr>
</table>
<a name="m4" doxytag="chanrec::topicset"></a><p>
<p>
If no topic was ever set, this will be equal to <a class="el" href="classchanrec.html#m3">chanrec::created</a>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00090">90</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
+Definition at line <a class="el" href="channels_8h-source.html#l00104">104</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00006">chanrec()</a>. </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00012">chanrec()</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a><li><a class="el" href="channels_8cpp-source.html">channels.cpp</a></ul>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:10 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:23 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>classbase Member List</h1>This is the complete list of members for <a class="el" href="classclassbase.html">classbase</a>, including all inherited members.<table>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#m0">age</a></td><td><a class="el" href="classclassbase.html">classbase</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a0">classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:10 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:23 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>classbase Class Reference</h1>The base class for all inspircd classes.
<a href="#_details">More...</a>
<p>
<p>
Inheritance diagram for classbase:<p><center><img src="classclassbase__inherit__graph.gif" border="0" usemap="#classbase__inherit__map" alt="Inheritance graph"></center>
<map name="classbase__inherit__map">
-<area href="classAdmin.html" shape="rect" coords="159,5,207,27" alt="">
-<area href="classchanrec.html" shape="rect" coords="153,51,212,72" alt="">
-<area href="classcommand__t.html" shape="rect" coords="144,96,221,117" alt="">
-<area href="classConfigReader.html" shape="rect" coords="137,141,228,163" alt="">
-<area href="classConnectClass.html" shape="rect" coords="139,187,227,208" alt="">
-<area href="classconnection.html" shape="rect" coords="148,232,217,253" alt="">
-<area href="classFileReader.html" shape="rect" coords="145,277,220,299" alt="">
-<area href="classHostItem.html" shape="rect" coords="153,323,212,344" alt="">
-<area href="classInvited.html" shape="rect" coords="160,368,205,389" alt="">
-<area href="classModule.html" shape="rect" coords="157,413,208,435" alt="">
-<area href="classModuleFactory.html" shape="rect" coords="136,459,229,480" alt="">
-<area href="classpacket.html" shape="rect" coords="157,504,208,525" alt="">
-<area href="classServer.html" shape="rect" coords="157,549,208,571" alt="">
-<area href="classucrec.html" shape="rect" coords="160,595,205,616" alt="">
-<area href="classVersion.html" shape="rect" coords="156,640,209,661" alt="">
+<area href="classAdmin.html" shape="rect" coords="163,5,211,26" alt="">
+<area href="classchanrec.html" shape="rect" coords="157,50,216,72" alt="">
+<area href="classcommand__t.html" shape="rect" coords="148,96,225,117" alt="">
+<area href="classConfigReader.html" shape="rect" coords="141,141,232,162" alt="">
+<area href="classConnectClass.html" shape="rect" coords="143,186,231,208" alt="">
+<area href="classconnection.html" shape="rect" coords="152,232,221,253" alt="">
+<area href="classFileReader.html" shape="rect" coords="149,277,224,298" alt="">
+<area href="classHostItem.html" shape="rect" coords="157,322,216,344" alt="">
+<area href="classInvited.html" shape="rect" coords="164,368,209,389" alt="">
+<area href="classModeParameter.html" shape="rect" coords="135,413,239,434" alt="">
+<area href="classModule.html" shape="rect" coords="161,458,212,480" alt="">
+<area href="classModuleFactory.html" shape="rect" coords="140,504,233,525" alt="">
+<area href="classpacket.html" shape="rect" coords="161,549,212,570" alt="">
+<area href="classServer.html" shape="rect" coords="161,594,212,616" alt="">
+<area href="classucrec.html" shape="rect" coords="164,640,209,661" alt="">
+<area href="classVersion.html" shape="rect" coords="160,685,213,706" alt="">
</map>
<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for classbase:<p><center><img src="classclassbase__coll__graph.gif" border="0" usemap="#classbase__coll__map" alt="Collaboration graph"></center>
<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classclassbase-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="base_8h-source.html">base.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:10 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:23 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>command_t Member List</h1>This is the complete list of members for <a class="el" href="classcommand__t.html">command_t</a>, including all inherited members.<table>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#m0">age</a></td><td><a class="el" href="classclassbase.html">classbase</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a0">classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classcommand__t.html#m5">total_bytes</a></td><td><a class="el" href="classcommand__t.html">command_t</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classcommand__t.html#m4">use_count</a></td><td><a class="el" href="classcommand__t.html">command_t</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:11 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:24 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>command_t Class Reference</h1>A structure that defines a command.
<a href="#_details">More...</a>
<p>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="ctables_8h-source.html">ctables.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:11 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:24 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>connection Member List</h1>This is the complete list of members for <a class="el" href="classconnection.html">connection</a>, including all inherited members.<table>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#m0">age</a></td><td><a class="el" href="classclassbase.html">classbase</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classconnection.html#a2">BeginLink</a>(char *targethost, int port, char *password)</td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classconnection.html#m13">signon</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classconnection.html#a3">TerminateLink</a>(char *targethost)</td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:13 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:25 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>connection Class Reference</h1><code>#include <<a class="el" href="connection_8h-source.html">connection.h</a>></code>
<p>
Inheritance diagram for connection:<p><center><img src="classconnection__inherit__graph.gif" border="0" usemap="#connection__inherit__map" alt="Inheritance graph"></center>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="connection_8h-source.html">connection.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:12 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:25 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>InspIRCd Compound Index</h1><table align=center width="95%" border="0" cellspacing="0" cellpadding="0">
<tr><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> A </div></td></tr></table>
</td><td><a class="el" href="classcommand__t.html">command_t</a> </td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> F </div></td></tr></table>
</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> M </div></td></tr></table>
-</td><td><a class="el" href="classserverrec.html">serverrec</a> </td></tr><tr><td><a class="el" href="classAdmin.html">Admin</a> </td><td><a class="el" href="classConfigReader.html">ConfigReader</a> </td><td><a class="el" href="classFileReader.html">FileReader</a> </td><td><a class="el" href="classModule.html">Module</a> </td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> U </div></td></tr></table>
-</td></tr><tr><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> B </div></td></tr></table>
+</td><td><a class="el" href="classServer.html">Server</a> </td></tr><tr><td><a class="el" href="classAdmin.html">Admin</a> </td><td><a class="el" href="classConfigReader.html">ConfigReader</a> </td><td><a class="el" href="classFileReader.html">FileReader</a> </td><td><a class="el" href="classModeParameter.html">ModeParameter</a> </td><td><a class="el" href="classserverrec.html">serverrec</a> </td></tr><tr><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> B </div></td></tr></table>
</td><td><a class="el" href="classConnectClass.html">ConnectClass</a> </td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> H </div></td></tr></table>
-</td><td><a class="el" href="classModuleFactory.html">ModuleFactory</a> </td><td><a class="el" href="classucrec.html">ucrec</a> </td></tr><tr><td><a class="el" href="classBanItem.html">BanItem</a> </td><td><a class="el" href="classconnection.html">connection</a> </td><td><a class="el" href="classHostItem.html">HostItem</a> </td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> P </div></td></tr></table>
-</td><td><a class="el" href="classuserrec.html">userrec</a> </td></tr><tr><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> C </div></td></tr></table>
+</td><td><a class="el" href="classModule.html">Module</a> </td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> U </div></td></tr></table>
+</td></tr><tr><td><a class="el" href="classBanItem.html">BanItem</a> </td><td><a class="el" href="classconnection.html">connection</a> </td><td><a class="el" href="classHostItem.html">HostItem</a> </td><td><a class="el" href="classModuleFactory.html">ModuleFactory</a> </td><td><a class="el" href="classucrec.html">ucrec</a> </td></tr><tr><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> C </div></td></tr></table>
</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> E </div></td></tr></table>
</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> I </div></td></tr></table>
-</td><td><a class="el" href="classpacket.html">packet</a> </td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> V </div></td></tr></table>
-</td></tr><tr><td><a class="el" href="classchanrec.html">chanrec</a> </td><td><a class="el" href="classExemptItem.html">ExemptItem</a> </td><td><a class="el" href="classInvited.html">Invited</a> </td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> S </div></td></tr></table>
-</td><td><a class="el" href="classVersion.html">Version</a> </td></tr><tr><td><a class="el" href="classclassbase.html">classbase</a> </td><td><a class="el" href="classExtMode.html">ExtMode</a> </td><td><a class="el" href="classInviteItem.html">InviteItem</a> </td><td><a class="el" href="classServer.html">Server</a> </td></tr></table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:08 2004 for InspIRCd by
+</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> P </div></td></tr></table>
+</td><td><a class="el" href="classuserrec.html">userrec</a> </td></tr><tr><td><a class="el" href="classchanrec.html">chanrec</a> </td><td><a class="el" href="classExemptItem.html">ExemptItem</a> </td><td><a class="el" href="classInvited.html">Invited</a> </td><td><a class="el" href="classpacket.html">packet</a> </td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> V </div></td></tr></table>
+</td></tr><tr><td><a class="el" href="classclassbase.html">classbase</a> </td><td><a class="el" href="classExtMode.html">ExtMode</a> </td><td><a class="el" href="classInviteItem.html">InviteItem</a> </td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> S </div></td></tr></table>
+</td><td><a class="el" href="classVersion.html">Version</a> </td></tr></table><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:21 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>packet Member List</h1>This is the complete list of members for <a class="el" href="classpacket.html">packet</a>, including all inherited members.<table>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#m0">age</a></td><td><a class="el" href="classclassbase.html">classbase</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a0">classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classpacket.html#m2">type</a></td><td><a class="el" href="classpacket.html">packet</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classpacket.html#a1">~packet</a>()</td><td><a class="el" href="classpacket.html">packet</a></td><td></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:17 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:30 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>packet Class Reference</h1><code>#include <<a class="el" href="connection_8h-source.html">connection.h</a>></code>
<p>
Inheritance diagram for packet:<p><center><img src="classpacket__inherit__graph.gif" border="0" usemap="#packet__inherit__map" alt="Inheritance graph"></center>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="connection_8h-source.html">connection.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:17 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:30 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>serverrec Member List</h1>This is the complete list of members for <a class="el" href="classserverrec.html">serverrec</a>, including all inherited members.<table>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#m0">age</a></td><td><a class="el" href="classclassbase.html">classbase</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classconnection.html#a2">BeginLink</a>(char *targethost, int port, char *password)</td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classserverrec.html#m6">version</a></td><td><a class="el" href="classserverrec.html">serverrec</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classserverrec.html#a2">~serverrec</a>()</td><td><a class="el" href="classserverrec.html">serverrec</a></td><td></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:19 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:32 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>serverrec Class Reference</h1>A class that defines the local server or a remote server.
<a href="#_details">More...</a>
<p>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="servers_8h-source.html">servers.h</a><li><a class="el" href="servers_8cpp-source.html">servers.cpp</a></ul>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:18 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:32 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>ucrec Member List</h1>This is the complete list of members for <a class="el" href="classucrec.html">ucrec</a>, including all inherited members.<table>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#m0">age</a></td><td><a class="el" href="classclassbase.html">classbase</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classucrec.html#m1">channel</a></td><td><a class="el" href="classucrec.html">ucrec</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classucrec.html#a0">ucrec</a>()</td><td><a class="el" href="classucrec.html">ucrec</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classucrec.html#a1">~ucrec</a>()</td><td><a class="el" href="classucrec.html">ucrec</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:19 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:33 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>ucrec Class Reference</h1>Holds a user's modes on a channel This class associates a users privilages with a channel by creating a pointer link between a userrec and chanrec class.
<a href="#_details">More...</a>
<p>
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00165">165</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
+Definition at line <a class="el" href="channels_8h-source.html#l00191">191</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
<a name="a0" doxytag="ucrec::ucrec"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00178">178</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
+Definition at line <a class="el" href="channels_8h-source.html#l00204">204</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
<p>
-<div class="fragment"><pre>00178 { <span class="comment">/* stub */</span> }
+<div class="fragment"><pre>00204 { <span class="comment">/* stub */</span> }
</pre></div> </td>
</tr>
</table>
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00179">179</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
+Definition at line <a class="el" href="channels_8h-source.html#l00205">205</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
<p>
-<div class="fragment"><pre>00179 { <span class="comment">/* stub */</span> }
+<div class="fragment"><pre>00205 { <span class="comment">/* stub */</span> }
</pre></div> </td>
</tr>
</table>
<p>
If the record is not in use, this value will be NULL.
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00176">176</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
+Definition at line <a class="el" href="channels_8h-source.html#l00202">202</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
<p>
Referenced by <a class="el" href="users_8cpp-source.html#l00011">userrec::userrec()</a>. </td>
</tr>
<p>
UCMODE_FOUNDER values. If this value is zero, the user has no privilages upon the channel.
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00171">171</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+Definition at line <a class="el" href="channels_8h-source.html#l00197">197</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:19 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:33 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>userrec Member List</h1>This is the complete list of members for <a class="el" href="classuserrec.html">userrec</a>, including all inherited members.<table>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#m0">age</a></td><td><a class="el" href="classclassbase.html">classbase</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classuserrec.html#m7">awaymsg</a></td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classuserrec.html#a0">userrec</a>()</td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classuserrec.html#a1">~userrec</a>()</td><td><a class="el" href="classuserrec.html">userrec</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:20 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:33 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>userrec Class Reference</h1>Holds all information about a user This class stores all information about a user connected to the irc server.
<a href="#_details">More...</a>
<p>
<tr><td> </td><td><font size=-1><em>The host displayed to non-opers (used for cloaking etc).</em> <a href="#m2"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>char </td><td valign=bottom><a class="el" href="classuserrec.html#m3">fullname</a> [128]</td></tr>
<tr><td> </td><td><font size=-1><em>The users full name.</em> <a href="#m3"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>char </td><td valign=bottom><a class="el" href="classuserrec.html#m4">modes</a> [32]</td></tr>
+<tr><td nowrap align=right valign=top>char </td><td valign=bottom><a class="el" href="classuserrec.html#m4">modes</a> [MAXBUF]</td></tr>
<tr><td> </td><td><font size=-1><em>The user's mode string.</em> <a href="#m4"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="classucrec.html">ucrec</a> </td><td valign=bottom><a class="el" href="classuserrec.html#m5">chans</a> [MAXCHANS]</td></tr>
<tr><td nowrap align=right valign=top>char </td><td valign=bottom><a class="el" href="classuserrec.html#m6">server</a> [256]</td></tr>
<p>
Definition at line <a class="el" href="users_8cpp-source.html#l00011">11</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
<p>
-References <a class="el" href="connection_8h-source.html#l00047">connection::bytes_in</a>, <a class="el" href="connection_8h-source.html#l00048">connection::bytes_out</a>, <a class="el" href="channels_8h-source.html#l00176">ucrec::channel</a>, <a class="el" href="users_8h-source.html#l00092">chans</a>, <a class="el" href="connection_8h-source.html#l00049">connection::cmds_in</a>, <a class="el" href="connection_8h-source.html#l00050">connection::cmds_out</a>, <a class="el" href="connection_8h-source.html#l00043">connection::fd</a>, <a class="el" href="connection_8h-source.html#l00051">connection::haspassed</a>, <a class="el" href="connection_8h-source.html#l00056">connection::idle_lastmsg</a>, <a class="el" href="users_8h-source.html#l00064">invites</a>, <a class="el" href="connection_8h-source.html#l00045">connection::ip</a>, <a class="el" href="connection_8h-source.html#l00054">connection::lastping</a>, <a class="el" href="connection_8h-source.html#l00057">connection::nping</a>, <a class="el" href="connection_8h-source.html#l00052">connection::port</a>, <a class="el" href="connection_8h-source.html#l00053">connection::registered</a>, and <a class="el" href="connection_8h-source.html#l00055">connection::signon</a>.
+References <a class="el" href="connection_8h-source.html#l00047">connection::bytes_in</a>, <a class="el" href="connection_8h-source.html#l00048">connection::bytes_out</a>, <a class="el" href="channels_8h-source.html#l00202">ucrec::channel</a>, <a class="el" href="users_8h-source.html#l00092">chans</a>, <a class="el" href="connection_8h-source.html#l00049">connection::cmds_in</a>, <a class="el" href="connection_8h-source.html#l00050">connection::cmds_out</a>, <a class="el" href="connection_8h-source.html#l00043">connection::fd</a>, <a class="el" href="connection_8h-source.html#l00051">connection::haspassed</a>, <a class="el" href="connection_8h-source.html#l00056">connection::idle_lastmsg</a>, <a class="el" href="users_8h-source.html#l00064">invites</a>, <a class="el" href="connection_8h-source.html#l00045">connection::ip</a>, <a class="el" href="connection_8h-source.html#l00054">connection::lastping</a>, <a class="el" href="connection_8h-source.html#l00057">connection::nping</a>, <a class="el" href="connection_8h-source.html#l00052">connection::port</a>, <a class="el" href="connection_8h-source.html#l00053">connection::registered</a>, and <a class="el" href="connection_8h-source.html#l00055">connection::signon</a>.
<p>
<div class="fragment"><pre>00012 {
00013 <span class="comment">// the PROPER way to do it, AVOID bzero at *ALL* costs</span>
References <a class="el" href="users_8h-source.html#l00064">invites</a>.
<p>
<div class="fragment"><pre>00071 {
-00072 <span class="keywordflow">for</span> (InvitedList::iterator i = <a class="code" href="classuserrec.html#o0">invites</a>.begin(); i != <a class="code" href="classuserrec.html#o0">invites</a>.end(); i++)
-00073 {
-00074 <span class="keywordflow">if</span> (i->channel) {
-00075 <span class="keywordflow">if</span> (!strcasecmp(i->channel,channel))
-00076 {
-00077 <a class="code" href="classuserrec.html#o0">invites</a>.erase(i);
-00078 <span class="keywordflow">return</span>;
-00079 }
-00080 }
-00081 }
-00082 }
+00072 log(DEBUG,<span class="stringliteral">"Removing invites"</span>);
+00073 <span class="keywordflow">if</span> (<a class="code" href="classuserrec.html#o0">invites</a>.size())
+00074 {
+00075 <span class="keywordflow">for</span> (InvitedList::iterator i = <a class="code" href="classuserrec.html#o0">invites</a>.begin(); i != <a class="code" href="classuserrec.html#o0">invites</a>.end(); i++)
+00076 {
+00077 <span class="keywordflow">if</span> (i->channel) {
+00078 <span class="keywordflow">if</span> (!strcasecmp(i->channel,channel))
+00079 {
+00080 <a class="code" href="classuserrec.html#o0">invites</a>.erase(i);
+00081 <span class="keywordflow">return</span>;
+00082 }
+00083 }
+00084 }
+00085 }
+00086 }
</pre></div> </td>
</tr>
</table>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> char userrec::modes[32]
+ <td class="md" nowrap valign="top"> char userrec::modes[MAXBUF]
</table>
</td>
</tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="users_8h-source.html">users.h</a><li><a class="el" href="users_8cpp-source.html">users.cpp</a></ul>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:20 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:33 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>connection.h</h1><a href="connection_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>
00071
00072 <span class="preprocessor">#endif</span>
00073 <span class="preprocessor"></span>
-</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:02 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:14 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>connection.h File Reference</h1><code>#include "inspircd_config.h"</code><br>
<code>#include "<a class="el" href="base_8h-source.html">base.h</a>"</code><br>
<code>#include <string></code><br>
Definition at line <a class="el" href="connection_8h-source.html#l00022">22</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
</tr>
</table>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:05 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:17 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>ctables.h</h1><a href="ctables_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>
00049
00050 <span class="preprocessor">#endif</span>
00051 <span class="preprocessor"></span>
-</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:02 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:14 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>ctables.h File Reference</h1><code>#include "inspircd_config.h"</code><br>
<code>#include "inspircd.h"</code><br>
<code>#include "<a class="el" href="base_8h-source.html">base.h</a>"</code><br>
Definition at line <a class="el" href="ctables_8h-source.html#l00023">23</a> of file <a class="el" href="ctables_8h-source.html">ctables.h</a>. </td>
</tr>
</table>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:05 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:17 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>InspIRCd File List</h1>Here is a list of all files with brief descriptions:<table>
<tr><td class="indexkey"><a class="el" href="base_8h.html">base.h</a> <a href="base_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="channels_8cpp.html">channels.cpp</a> <a href="channels_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="users_8cpp.html">users.cpp</a> <a href="users_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="users_8h.html">users.h</a> <a href="users_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
</table>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:02 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:14 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>InspIRCd Compound Members</h1><center>
<a href="#index_a">a</a> | <a href="#index_b">b</a> | <a href="#index_c">c</a> | <a href="#index_d">d</a> | <a href="#index_e">e</a> | <a href="#index_f">f</a> | <a href="#index_g">g</a> | <a href="#index_h">h</a> | <a href="#index_i">i</a> | <a href="#index_j">j</a> | <a href="#index_k">k</a> | <a href="#index_l">l</a> | <a href="#index_m">m</a> | <a href="#index_n">n</a> | <a href="#index_o">o</a> | <a href="#index_p">p</a> | <a href="#index_r">r</a> | <a href="#index_s">s</a> | <a href="#index_t">t</a> | <a href="#index_u">u</a> | <a href="#index_v">v</a> | <a href="#index_~">~</a></center>
<li>c_private
: <a class="el" href="classchanrec.html#m13">chanrec</a><li>ChanMode()
: <a class="el" href="classServer.html#a15">Server</a><li>channel
-: <a class="el" href="classInvited.html#m0">Invited</a>, <a class="el" href="classucrec.html#m1">ucrec</a><li>chanrec()
-: <a class="el" href="classchanrec.html#a2">chanrec</a><li>chans
+: <a class="el" href="classInvited.html#m0">Invited</a>, <a class="el" href="classucrec.html#m1">ucrec</a>, <a class="el" href="classModeParameter.html#m2">ModeParameter</a><li>chanrec()
+: <a class="el" href="classchanrec.html#a4">chanrec</a><li>chans
: <a class="el" href="classuserrec.html#m5">userrec</a><li>classbase()
: <a class="el" href="classclassbase.html#a0">classbase</a><li>cmds_in
: <a class="el" href="classconnection.html#m7">connection</a><li>cmds_out
<h3><a name="index_d">- d -</a>
</h3><ul>
<li>data
-: <a class="el" href="classpacket.html#m3">packet</a>, <a class="el" href="classHostItem.html#m2">HostItem</a><li>default_on
-: <a class="el" href="classExtMode.html#m2">ExtMode</a><li>dhost
+: <a class="el" href="classpacket.html#m3">packet</a>, <a class="el" href="classHostItem.html#m2">HostItem</a><li>dhost
: <a class="el" href="classuserrec.html#m2">userrec</a></ul>
<h3><a name="index_e">- e -</a>
</h3><ul>
: <a class="el" href="classServer.html#a18">Server</a><li>GetFullHost()
: <a class="el" href="classuserrec.html#a2">userrec</a><li>GetFullRealHost()
: <a class="el" href="classuserrec.html#a3">userrec</a><li>GetLine()
-: <a class="el" href="classFileReader.html#a5">FileReader</a><li>GetNetworkName()
+: <a class="el" href="classFileReader.html#a5">FileReader</a><li>GetModeParameter()
+: <a class="el" href="classchanrec.html#a3">chanrec</a><li>GetNetworkName()
: <a class="el" href="classServer.html#a17">Server</a><li>GetServerName()
: <a class="el" href="classServer.html#a16">Server</a><li>GetVersion()
: <a class="el" href="classModule.html#a2">Module</a></ul>
: <a class="el" href="classchanrec.html#m10">chanrec</a><li>invites
: <a class="el" href="classuserrec.html#o0">userrec</a><li>InviteTo()
: <a class="el" href="classuserrec.html#a5">userrec</a><li>ip
-: <a class="el" href="classconnection.html#m3">connection</a><li>IsInvited()
+: <a class="el" href="classconnection.html#m3">connection</a><li>IsCustomModeSet()
+: <a class="el" href="classchanrec.html#a2">chanrec</a><li>IsInvited()
: <a class="el" href="classuserrec.html#a4">userrec</a><li>IsNick()
: <a class="el" href="classServer.html#a12">Server</a></ul>
<h3><a name="index_j">- j -</a>
<li>Major
: <a class="el" href="classVersion.html#m0">Version</a><li>min_params
: <a class="el" href="classcommand__t.html#m3">command_t</a><li>Minor
-: <a class="el" href="classVersion.html#m1">Version</a><li>modechar
+: <a class="el" href="classVersion.html#m1">Version</a><li>mode
+: <a class="el" href="classModeParameter.html#m0">ModeParameter</a><li>modechar
: <a class="el" href="classExtMode.html#m0">ExtMode</a><li>moderated
: <a class="el" href="classchanrec.html#m11">chanrec</a><li>modes
: <a class="el" href="classuserrec.html#m4">userrec</a><li>Module()
</h3><ul>
<li>name
: <a class="el" href="classserverrec.html#m0">serverrec</a>, <a class="el" href="classchanrec.html#m0">chanrec</a><li>Name
-: <a class="el" href="classAdmin.html#m0">Admin</a><li>nick
+: <a class="el" href="classAdmin.html#m0">Admin</a><li>needsoper
+: <a class="el" href="classExtMode.html#m4">ExtMode</a><li>nick
: <a class="el" href="classuserrec.html#m0">userrec</a><li>Nick
: <a class="el" href="classAdmin.html#m2">Admin</a><li>noexternal
: <a class="el" href="classchanrec.html#m9">chanrec</a><li>nping
<h3><a name="index_p">- p -</a>
</h3><ul>
<li>packet()
-: <a class="el" href="classpacket.html#a0">packet</a><li>params_when_off
-: <a class="el" href="classExtMode.html#m4">ExtMode</a><li>params_when_on
-: <a class="el" href="classExtMode.html#m3">ExtMode</a><li>pass
+: <a class="el" href="classpacket.html#a0">packet</a><li>parameter
+: <a class="el" href="classModeParameter.html#m1">ModeParameter</a><li>params_when_off
+: <a class="el" href="classExtMode.html#m3">ExtMode</a><li>params_when_on
+: <a class="el" href="classExtMode.html#m2">ExtMode</a><li>pass
: <a class="el" href="classConnectClass.html#m2">ConnectClass</a><li>pingtime
: <a class="el" href="classserverrec.html#m1">serverrec</a><li>port
: <a class="el" href="classconnection.html#m10">connection</a></ul>
: <a class="el" href="classServer.html#a5">Server</a><li>SendSYN()
: <a class="el" href="classconnection.html#a6">connection</a><li>SendTo()
: <a class="el" href="classServer.html#a7">Server</a><li>SendWallops()
-: <a class="el" href="classServer.html#a11">Server</a><li>Server()
-: <a class="el" href="classServer.html#a0">Server</a><li>server
-: <a class="el" href="classuserrec.html#m6">userrec</a><li>serverrec()
+: <a class="el" href="classServer.html#a11">Server</a><li>server
+: <a class="el" href="classuserrec.html#m6">userrec</a><li>Server()
+: <a class="el" href="classServer.html#a0">Server</a><li>serverrec()
: <a class="el" href="classserverrec.html#a1">serverrec</a><li>set_by
: <a class="el" href="classHostItem.html#m1">HostItem</a><li>set_time
: <a class="el" href="classHostItem.html#m0">HostItem</a><li>setby
<h3><a name="index_v">- v -</a>
</h3><ul>
<li>Verify()
-: <a class="el" href="classConfigReader.html#a5">ConfigReader</a><li>Version()
-: <a class="el" href="classVersion.html#a0">Version</a><li>version
-: <a class="el" href="classserverrec.html#m6">serverrec</a></ul>
+: <a class="el" href="classConfigReader.html#a5">ConfigReader</a><li>version
+: <a class="el" href="classserverrec.html#m6">serverrec</a><li>Version()
+: <a class="el" href="classVersion.html#a0">Version</a></ul>
<h3><a name="index_~">- ~ -</a>
</h3><ul>
<li>~chanrec()
-: <a class="el" href="classchanrec.html#a3">chanrec</a><li>~classbase()
+: <a class="el" href="classchanrec.html#a5">chanrec</a><li>~classbase()
: <a class="el" href="classclassbase.html#a1">classbase</a><li>~ConfigReader()
: <a class="el" href="classConfigReader.html#a2">ConfigReader</a><li>~FileReader()
: <a class="el" href="classFileReader.html#a2">FileReader</a><li>~HostItem()
: <a class="el" href="classserverrec.html#a2">serverrec</a><li>~ucrec()
: <a class="el" href="classucrec.html#a1">ucrec</a><li>~userrec()
: <a class="el" href="classuserrec.html#a1">userrec</a></ul>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:08 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:21 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>InspIRCd File Members</h1><center>
<a href="#index_b">b</a> | <a href="#index_c">c</a> | <a href="#index_d">d</a> | <a href="#index_e">e</a> | <a href="#index_f">f</a> | <a href="#index_h">h</a> | <a href="#index_i">i</a> | <a href="#index_l">l</a> | <a href="#index_m">m</a> | <a href="#index_n">n</a> | <a href="#index_p">p</a> | <a href="#index_s">s</a> | <a href="#index_u">u</a> | <a href="#index_v">v</a></center>
: <a class="el" href="users_8h.html#a4">users.h</a><li>CC_DENY
: <a class="el" href="users_8h.html#a5">users.h</a><li>ClassVector
: <a class="el" href="users_8h.html#a7">users.h</a><li>createcommand()
-: <a class="el" href="modules_8h.html#a13">modules.h</a></ul>
+: <a class="el" href="modules_8h.html#a13">modules.h</a><li>custom_mode_params
+: <a class="el" href="channels_8cpp.html#a0">channels.cpp</a></ul>
<h3><a name="index_d">- d -</a>
</h3><ul>
<li>DEBUG
: <a class="el" href="modules_8h.html#a0">modules.h</a><li>DEFAULT
: <a class="el" href="modules_8h.html#a2">modules.h</a><li>DoAddExtendedMode()
-: <a class="el" href="modules_8cpp.html#a7">modules.cpp</a></ul>
+: <a class="el" href="modules_8cpp.html#a8">modules.cpp</a></ul>
<h3><a name="index_e">- e -</a>
</h3><ul>
<li>EMode
<h3><a name="index_f">- f -</a>
</h3><ul>
<li>factory()
-: <a class="el" href="modules_8cpp.html#a9">modules.cpp</a><li>file_cache
+: <a class="el" href="modules_8cpp.html#a10">modules.cpp</a><li>file_cache
: <a class="el" href="modules_8h.html#a10">modules.h</a><li>FOREACH_MOD
: <a class="el" href="modules_8h.html#a8">modules.h</a><li>FOREACH_RESULT
: <a class="el" href="modules_8h.html#a9">modules.h</a></ul>
<li>MODCOUNT
: <a class="el" href="modules_8cpp.html#a3">modules.cpp</a><li>ModeDefined()
: <a class="el" href="modules_8cpp.html#a4">modules.cpp</a><li>ModeDefinedOff()
-: <a class="el" href="modules_8cpp.html#a6">modules.cpp</a><li>ModeDefinedOn()
+: <a class="el" href="modules_8cpp.html#a7">modules.cpp</a><li>ModeDefinedOn()
+: <a class="el" href="modules_8cpp.html#a6">modules.cpp</a><li>ModeDefinedOper()
: <a class="el" href="modules_8cpp.html#a5">modules.cpp</a><li>modules()
-: <a class="el" href="modules_8cpp.html#a8">modules.cpp</a><li>MT_CHANNEL
+: <a class="el" href="modules_8cpp.html#a9">modules.cpp</a><li>MT_CHANNEL
: <a class="el" href="modules_8h.html#a5">modules.h</a><li>MT_CLIENT
: <a class="el" href="modules_8h.html#a6">modules.h</a><li>MT_SERVER
: <a class="el" href="modules_8h.html#a7">modules.h</a></ul>
</h3><ul>
<li>VERBOSE
: <a class="el" href="modules_8h.html#a1">modules.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:20 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:34 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>Graph Legend</h1>This page explains how to interpret the graphs that are generated by doxygen.<p>
Consider the following example: <div class="fragment"><pre><span class="comment"></span>
<span class="comment">/*! Invisible class because of truncation */</span>
<li>
A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance. </li>
</ul>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:20 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:34 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>InspIRCd Class Hierarchy</h1><a href="inherits.html">Go to the graphical class hierarchy</a>
<p>
This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
<li><a class="el" href="classInviteItem.html">InviteItem</a>
</ul>
<li><a class="el" href="classInvited.html">Invited</a>
+<li><a class="el" href="classModeParameter.html">ModeParameter</a>
<li><a class="el" href="classModule.html">Module</a>
<li><a class="el" href="classModuleFactory.html">ModuleFactory</a>
<li><a class="el" href="classpacket.html">packet</a>
</ul>
<li><a class="el" href="classExtMode.html">ExtMode</a>
</ul>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:08 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:21 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>InspIRCd Graphical Class Hierarchy</h1><a href="hierarchy.html">Go to the textual class hierarchy</a>
<p>
<table border=0 cellspacing=10 cellpadding=0>
<tr><td><img src="inherit__graph__0.gif" border="0" alt="" usemap="#classbase_map">
<map name="classbase_map">
-<area href="classclassbase.html" shape="rect" coords="19,323,85,344" alt="">
-<area href="classAdmin.html" shape="rect" coords="159,5,207,27" alt="">
-<area href="classchanrec.html" shape="rect" coords="153,51,212,72" alt="">
-<area href="classcommand__t.html" shape="rect" coords="144,96,221,117" alt="">
-<area href="classConfigReader.html" shape="rect" coords="137,141,228,163" alt="">
-<area href="classConnectClass.html" shape="rect" coords="139,187,227,208" alt="">
-<area href="classconnection.html" shape="rect" coords="148,232,217,253" alt="">
-<area href="classFileReader.html" shape="rect" coords="145,277,220,299" alt="">
-<area href="classHostItem.html" shape="rect" coords="153,323,212,344" alt="">
-<area href="classInvited.html" shape="rect" coords="160,368,205,389" alt="">
-<area href="classModule.html" shape="rect" coords="157,413,208,435" alt="">
-<area href="classModuleFactory.html" shape="rect" coords="136,459,229,480" alt="">
-<area href="classpacket.html" shape="rect" coords="157,504,208,525" alt="">
-<area href="classServer.html" shape="rect" coords="157,549,208,571" alt="">
-<area href="classucrec.html" shape="rect" coords="160,595,205,616" alt="">
-<area href="classVersion.html" shape="rect" coords="156,640,209,661" alt="">
-<area href="classserverrec.html" shape="rect" coords="285,187,352,208" alt="">
-<area href="classuserrec.html" shape="rect" coords="291,232,347,253" alt="">
-<area href="classBanItem.html" shape="rect" coords="291,277,347,299" alt="">
-<area href="classExemptItem.html" shape="rect" coords="280,323,357,344" alt="">
-<area href="classInviteItem.html" shape="rect" coords="287,368,351,389" alt="">
+<area href="classclassbase.html" shape="rect" coords="19,345,85,366" alt="">
+<area href="classAdmin.html" shape="rect" coords="163,5,211,26" alt="">
+<area href="classchanrec.html" shape="rect" coords="157,50,216,72" alt="">
+<area href="classcommand__t.html" shape="rect" coords="148,96,225,117" alt="">
+<area href="classConfigReader.html" shape="rect" coords="141,141,232,162" alt="">
+<area href="classConnectClass.html" shape="rect" coords="143,186,231,208" alt="">
+<area href="classconnection.html" shape="rect" coords="152,232,221,253" alt="">
+<area href="classFileReader.html" shape="rect" coords="149,277,224,298" alt="">
+<area href="classHostItem.html" shape="rect" coords="157,322,216,344" alt="">
+<area href="classInvited.html" shape="rect" coords="164,368,209,389" alt="">
+<area href="classModeParameter.html" shape="rect" coords="135,413,239,434" alt="">
+<area href="classModule.html" shape="rect" coords="161,458,212,480" alt="">
+<area href="classModuleFactory.html" shape="rect" coords="140,504,233,525" alt="">
+<area href="classpacket.html" shape="rect" coords="161,549,212,570" alt="">
+<area href="classServer.html" shape="rect" coords="161,594,212,616" alt="">
+<area href="classucrec.html" shape="rect" coords="164,640,209,661" alt="">
+<area href="classVersion.html" shape="rect" coords="160,685,213,706" alt="">
+<area href="classserverrec.html" shape="rect" coords="293,186,360,208" alt="">
+<area href="classuserrec.html" shape="rect" coords="299,232,355,253" alt="">
+<area href="classBanItem.html" shape="rect" coords="299,277,355,298" alt="">
+<area href="classExemptItem.html" shape="rect" coords="288,322,365,344" alt="">
+<area href="classInviteItem.html" shape="rect" coords="295,368,359,389" alt="">
</map></td></tr>
<tr><td><img src="inherit__graph__1.gif" border="0" alt="" usemap="#ExtMode_map">
<map name="ExtMode_map">
<area href="classExtMode.html" shape="rect" coords="19,5,77,26" alt="">
</map></td></tr>
</table>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:21 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:35 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>InspIRCd Documentation</h1>
<p>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:02 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:14 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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.cpp</h1><a href="modules_8cpp.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>
00019 <span class="keyword">public</span>:
<a name="l00020"></a><a class="code" href="classExtMode.html#m0">00020</a> <span class="keywordtype">char</span> <a class="code" href="classExtMode.html#m0">modechar</a>;
<a name="l00021"></a><a class="code" href="classExtMode.html#m1">00021</a> <span class="keywordtype">int</span> <a class="code" href="classExtMode.html#m1">type</a>;
-<a name="l00022"></a><a class="code" href="classExtMode.html#m2">00022</a> <span class="keywordtype">bool</span> <a class="code" href="classExtMode.html#m2">default_on</a>;
-<a name="l00023"></a><a class="code" href="classExtMode.html#m3">00023</a> <span class="keywordtype">int</span> <a class="code" href="classExtMode.html#m3">params_when_on</a>;
-<a name="l00024"></a><a class="code" href="classExtMode.html#m4">00024</a> <span class="keywordtype">int</span> <a class="code" href="classExtMode.html#m4">params_when_off</a>;
-<a name="l00025"></a><a class="code" href="classExtMode.html#a0">00025</a> <a class="code" href="classExtMode.html#a0">ExtMode</a>(<span class="keywordtype">char</span> mc, <span class="keywordtype">int</span> ty, <span class="keywordtype">bool</span> d_on, <span class="keywordtype">int</span> p_on, <span class="keywordtype">int</span> p_off) : modechar(mc), type(ty), default_on(d_on), params_when_on(p_on), params_when_off(p_off) { };
+<a name="l00022"></a><a class="code" href="classExtMode.html#m2">00022</a> <span class="keywordtype">int</span> <a class="code" href="classExtMode.html#m2">params_when_on</a>;
+<a name="l00023"></a><a class="code" href="classExtMode.html#m3">00023</a> <span class="keywordtype">int</span> <a class="code" href="classExtMode.html#m3">params_when_off</a>;
+<a name="l00024"></a><a class="code" href="classExtMode.html#m4">00024</a> <span class="keywordtype">bool</span> <a class="code" href="classExtMode.html#m4">needsoper</a>;
+<a name="l00025"></a><a class="code" href="classExtMode.html#a0">00025</a> <a class="code" href="classExtMode.html#a0">ExtMode</a>(<span class="keywordtype">char</span> mc, <span class="keywordtype">int</span> ty, <span class="keywordtype">bool</span> oper, <span class="keywordtype">int</span> p_on, <span class="keywordtype">int</span> p_off) : modechar(mc), type(ty), needsoper(oper), params_when_on(p_on), params_when_off(p_off) { };
00026 };
00027
<a name="l00028"></a><a class="code" href="modules_8cpp.html#a0">00028</a> <span class="keyword">typedef</span> std::vector<ExtMode> <a class="code" href="modules_8cpp.html#a0">ExtModeList</a>;
00045 <span class="keywordflow">return</span> <span class="keyword">false</span>;
00046 }
00047
-00048 <span class="comment">// returns number of parameters for a custom mode when it is switched on</span>
-<a name="l00049"></a><a class="code" href="modules_8cpp.html#a5">00049</a> <span class="keywordtype">int</span> <a class="code" href="modules_8cpp.html#a5">ModeDefinedOn</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type)
-00050 {
+<a name="l00048"></a><a class="code" href="modules_8cpp.html#a5">00048</a> <span class="keywordtype">bool</span> <a class="code" href="modules_8cpp.html#a5">ModeDefinedOper</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type)
+00049 {
+00050 log(DEBUG,<span class="stringliteral">"Size of extmodes vector is %d"</span>,<a class="code" href="modules_8cpp.html#a2">EMode</a>.size());
00051 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i < <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
00052 {
-00053 <span class="keywordflow">if</span> ((i->modechar == modechar) && (i->type == type))
-00054 {
-00055 <span class="keywordflow">return</span> i->params_when_on;
-00056 }
-00057 }
-00058 <span class="keywordflow">return</span> 0;
-00059 }
-00060
-00061 <span class="comment">// returns number of parameters for a custom mode when it is switched on</span>
-<a name="l00062"></a><a class="code" href="modules_8cpp.html#a6">00062</a> <span class="keywordtype">int</span> <a class="code" href="modules_8cpp.html#a6">ModeDefinedOff</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type)
-00063 {
-00064 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i < <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
-00065 {
-00066 <span class="keywordflow">if</span> ((i->modechar == modechar) && (i->type == type))
-00067 {
-00068 <span class="keywordflow">return</span> i->params_when_off;
-00069 }
-00070 }
-00071 <span class="keywordflow">return</span> 0;
-00072 }
-00073
-00074 <span class="comment">// returns true if an extended mode character is in use</span>
-<a name="l00075"></a><a class="code" href="modules_8cpp.html#a7">00075</a> <span class="keywordtype">bool</span> <a class="code" href="modules_8cpp.html#a7">DoAddExtendedMode</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> default_on, <span class="keywordtype">int</span> params_on, <span class="keywordtype">int</span> params_off)
-00076 {
-00077 <span class="keywordflow">if</span> (<a class="code" href="modules_8cpp.html#a4">ModeDefined</a>(modechar,type)) {
-00078 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-00079 }
-00080 <a class="code" href="modules_8cpp.html#a2">EMode</a>.push_back(<a class="code" href="classExtMode.html">ExtMode</a>(modechar,type,default_on,params_on,params_off));
-00081 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-00082 }
-00083
-00084
-00085 <span class="comment">// version is a simple class for holding a modules version number</span>
-00086
-<a name="l00087"></a><a class="code" href="classVersion.html#a0">00087</a> <a class="code" href="classVersion.html#a0">Version::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) : Major(major), Minor(minor), Revision(revision), Build(build) { };
-00088
-00089 <span class="comment">// admin is a simple class for holding a server's administrative info</span>
-00090
-<a name="l00091"></a><a class="code" href="classAdmin.html#a0">00091</a> <a class="code" href="classAdmin.html#a0">Admin::Admin</a>(std::string name, std::string email, std::string nick) : Name(name), Email(email), Nick(nick) { };
-00092
-<a name="l00093"></a><a class="code" href="classModule.html#a0">00093</a> <a class="code" href="classModule.html#a0">Module::Module</a>() { }
-<a name="l00094"></a><a class="code" href="classModule.html#a1">00094</a> <a class="code" href="classModule.html#a1">Module::~Module</a>() { }
-<a name="l00095"></a><a class="code" href="classModule.html#a3">00095</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a3">Module::OnUserConnect</a>(<a class="code" href="classuserrec.html">userrec</a>* user) { }
-<a name="l00096"></a><a class="code" href="classModule.html#a4">00096</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a4">Module::OnUserQuit</a>(<a class="code" href="classuserrec.html">userrec</a>* user) { }
-<a name="l00097"></a><a class="code" href="classModule.html#a5">00097</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a5">Module::OnUserJoin</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel) { }
-<a name="l00098"></a><a class="code" href="classModule.html#a6">00098</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a6">Module::OnUserPart</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel) { }
-<a name="l00099"></a><a class="code" href="classModule.html#a7">00099</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a7">Module::OnPacketTransmit</a>(<span class="keywordtype">char</span> *p) { }
-<a name="l00100"></a><a class="code" href="classModule.html#a8">00100</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a8">Module::OnPacketReceive</a>(<span class="keywordtype">char</span> *p) { }
-<a name="l00101"></a><a class="code" href="classModule.html#a9">00101</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a9">Module::OnRehash</a>() { }
-<a name="l00102"></a><a class="code" href="classModule.html#a10">00102</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a10">Module::OnServerRaw</a>(std::string &raw, <span class="keywordtype">bool</span> inbound) { }
-00103 <span class="keywordtype">int</span> Module::OnUserPreJoin(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <span class="keywordtype">char</span>* cname) { <span class="keywordflow">return</span> 0; }
-<a name="l00104"></a><a class="code" href="classModule.html#a11">00104</a> <span class="keywordtype">bool</span> <a class="code" href="classModule.html#a11">Module::OnExtendedMode</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> mode_on, string_list &params) { }
-<a name="l00105"></a><a class="code" href="classModule.html#a2">00105</a> <a class="code" href="classVersion.html">Version</a> <a class="code" href="classModule.html#a2">Module::GetVersion</a>() { <span class="keywordflow">return</span> <a class="code" href="classVersion.html">Version</a>(1,0,0,0); }
+00053 log(DEBUG,<span class="stringliteral">"i->modechar==%c, modechar=%c, i->type=%d, type=%d"</span>,i->modechar,modechar,i->type,type);
+00054 <span class="keywordflow">if</span> ((i->modechar == modechar) && (i->type == type) && (i->needsoper == <span class="keyword">true</span>))
+00055 {
+00056 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00057 }
+00058 }
+00059 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00060 }
+00061
+00062 <span class="comment">// returns number of parameters for a custom mode when it is switched on</span>
+<a name="l00063"></a><a class="code" href="modules_8cpp.html#a6">00063</a> <span class="keywordtype">int</span> <a class="code" href="modules_8cpp.html#a6">ModeDefinedOn</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type)
+00064 {
+00065 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i < <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
+00066 {
+00067 <span class="keywordflow">if</span> ((i->modechar == modechar) && (i->type == type))
+00068 {
+00069 <span class="keywordflow">return</span> i->params_when_on;
+00070 }
+00071 }
+00072 <span class="keywordflow">return</span> 0;
+00073 }
+00074
+00075 <span class="comment">// returns number of parameters for a custom mode when it is switched on</span>
+<a name="l00076"></a><a class="code" href="modules_8cpp.html#a7">00076</a> <span class="keywordtype">int</span> <a class="code" href="modules_8cpp.html#a7">ModeDefinedOff</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type)
+00077 {
+00078 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i < <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
+00079 {
+00080 <span class="keywordflow">if</span> ((i->modechar == modechar) && (i->type == type))
+00081 {
+00082 <span class="keywordflow">return</span> i->params_when_off;
+00083 }
+00084 }
+00085 <span class="keywordflow">return</span> 0;
+00086 }
+00087
+00088 <span class="comment">// returns true if an extended mode character is in use</span>
+<a name="l00089"></a><a class="code" href="modules_8cpp.html#a8">00089</a> <span class="keywordtype">bool</span> <a class="code" href="modules_8cpp.html#a8">DoAddExtendedMode</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_on, <span class="keywordtype">int</span> params_off)
+00090 {
+00091 <span class="keywordflow">if</span> (<a class="code" href="modules_8cpp.html#a4">ModeDefined</a>(modechar,type)) {
+00092 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00093 }
+00094 <a class="code" href="modules_8cpp.html#a2">EMode</a>.push_back(<a class="code" href="classExtMode.html">ExtMode</a>(modechar,type,requires_oper,params_on,params_off));
+00095 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00096 }
+00097
+00098
+00099 <span class="comment">// version is a simple class for holding a modules version number</span>
+00100
+<a name="l00101"></a><a class="code" href="classVersion.html#a0">00101</a> <a class="code" href="classVersion.html#a0">Version::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) : Major(major), Minor(minor), Revision(revision), Build(build) { };
+00102
+00103 <span class="comment">// admin is a simple class for holding a server's administrative info</span>
+00104
+<a name="l00105"></a><a class="code" href="classAdmin.html#a0">00105</a> <a class="code" href="classAdmin.html#a0">Admin::Admin</a>(std::string name, std::string email, std::string nick) : Name(name), Email(email), Nick(nick) { };
00106
-00107 <span class="comment">// server is a wrapper class that provides methods to all of the C-style</span>
-00108 <span class="comment">// exports in the core</span>
-00109 <span class="comment">//</span>
-00110
-<a name="l00111"></a><a class="code" href="classServer.html#a0">00111</a> <a class="code" href="classServer.html#a0">Server::Server</a>()
-00112 {
-00113 }
-00114
-<a name="l00115"></a><a class="code" href="classServer.html#a1">00115</a> <a class="code" href="classServer.html#a1">Server::~Server</a>()
-00116 {
-00117 }
-00118
-<a name="l00119"></a><a class="code" href="classServer.html#a2">00119</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a2">Server::SendOpers</a>(std::string s)
-00120 {
-00121 WriteOpers(<span class="stringliteral">"%s"</span>,s.c_str());
-00122 }
-00123
-<a name="l00124"></a><a class="code" href="classServer.html#a3">00124</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a3">Server::Log</a>(<span class="keywordtype">int</span> level, std::string s)
-00125 {
-00126 log(level,<span class="stringliteral">"%s"</span>,s.c_str());
+<a name="l00107"></a><a class="code" href="classModule.html#a0">00107</a> <a class="code" href="classModule.html#a0">Module::Module</a>() { }
+<a name="l00108"></a><a class="code" href="classModule.html#a1">00108</a> <a class="code" href="classModule.html#a1">Module::~Module</a>() { }
+<a name="l00109"></a><a class="code" href="classModule.html#a3">00109</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a3">Module::OnUserConnect</a>(<a class="code" href="classuserrec.html">userrec</a>* user) { }
+<a name="l00110"></a><a class="code" href="classModule.html#a4">00110</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a4">Module::OnUserQuit</a>(<a class="code" href="classuserrec.html">userrec</a>* user) { }
+<a name="l00111"></a><a class="code" href="classModule.html#a5">00111</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a5">Module::OnUserJoin</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel) { }
+<a name="l00112"></a><a class="code" href="classModule.html#a6">00112</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a6">Module::OnUserPart</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel) { }
+<a name="l00113"></a><a class="code" href="classModule.html#a7">00113</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a7">Module::OnPacketTransmit</a>(<span class="keywordtype">char</span> *p) { }
+<a name="l00114"></a><a class="code" href="classModule.html#a8">00114</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a8">Module::OnPacketReceive</a>(<span class="keywordtype">char</span> *p) { }
+<a name="l00115"></a><a class="code" href="classModule.html#a9">00115</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a9">Module::OnRehash</a>() { }
+<a name="l00116"></a><a class="code" href="classModule.html#a10">00116</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a10">Module::OnServerRaw</a>(std::string &raw, <span class="keywordtype">bool</span> inbound) { }
+00117 <span class="keywordtype">int</span> Module::OnUserPreJoin(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <span class="keywordtype">char</span>* cname) { <span class="keywordflow">return</span> 0; }
+<a name="l00118"></a><a class="code" href="classModule.html#a11">00118</a> <span class="keywordtype">bool</span> <a class="code" href="classModule.html#a11">Module::OnExtendedMode</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> mode_on, string_list &params) { }
+<a name="l00119"></a><a class="code" href="classModule.html#a2">00119</a> <a class="code" href="classVersion.html">Version</a> <a class="code" href="classModule.html#a2">Module::GetVersion</a>() { <span class="keywordflow">return</span> <a class="code" href="classVersion.html">Version</a>(1,0,0,0); }
+00120
+00121 <span class="comment">// server is a wrapper class that provides methods to all of the C-style</span>
+00122 <span class="comment">// exports in the core</span>
+00123 <span class="comment">//</span>
+00124
+<a name="l00125"></a><a class="code" href="classServer.html#a0">00125</a> <a class="code" href="classServer.html#a0">Server::Server</a>()
+00126 {
00127 }
00128
-<a name="l00129"></a><a class="code" href="classServer.html#a20">00129</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a20">Server::AddCommand</a>(<span class="keywordtype">char</span>* cmd, handlerfunc f, <span class="keywordtype">char</span> flags, <span class="keywordtype">int</span> minparams)
+<a name="l00129"></a><a class="code" href="classServer.html#a1">00129</a> <a class="code" href="classServer.html#a1">Server::~Server</a>()
00130 {
-00131 <a class="code" href="modules_8h.html#a13">createcommand</a>(cmd,f,flags,minparams);
-00132 }
-00133
-<a name="l00134"></a><a class="code" href="classServer.html#a21">00134</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a21">Server::SendMode</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user)
-00135 {
-00136 <a class="code" href="modules_8h.html#a14">server_mode</a>(parameters,pcnt,user);
-00137 }
-00138
-<a name="l00139"></a><a class="code" href="classServer.html#a4">00139</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a4">Server::Send</a>(<span class="keywordtype">int</span> Socket, std::string s)
-00140 {
-00141 Write(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
-00142 }
-00143
-<a name="l00144"></a><a class="code" href="classServer.html#a5">00144</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a5">Server::SendServ</a>(<span class="keywordtype">int</span> Socket, std::string s)
-00145 {
-00146 WriteServ(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
-00147 }
-00148
-<a name="l00149"></a><a class="code" href="classServer.html#a6">00149</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a6">Server::SendFrom</a>(<span class="keywordtype">int</span> Socket, <a class="code" href="classuserrec.html">userrec</a>* User, std::string s)
-00150 {
-00151 WriteFrom(Socket,User,<span class="stringliteral">"%s"</span>,s.c_str());
-00152 }
-00153
-<a name="l00154"></a><a class="code" href="classServer.html#a7">00154</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a7">Server::SendTo</a>(<a class="code" href="classuserrec.html">userrec</a>* Source, <a class="code" href="classuserrec.html">userrec</a>* Dest, std::string s)
-00155 {
-00156 WriteTo(Source,Dest,<span class="stringliteral">"%s"</span>,s.c_str());
-00157 }
-00158
-<a name="l00159"></a><a class="code" href="classServer.html#a8">00159</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a8">Server::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)
-00160 {
-00161 <span class="keywordflow">if</span> (IncludeSender)
-00162 {
-00163 WriteChannel(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
-00164 }
-00165 <span class="keywordflow">else</span>
-00166 {
-00167 ChanExceptSender(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
-00168 }
-00169 }
-00170
-<a name="l00171"></a><a class="code" href="classServer.html#a9">00171</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a9">Server::CommonChannels</a>(<a class="code" href="classuserrec.html">userrec</a>* u1, <a class="code" href="classuserrec.html">userrec</a>* u2)
-00172 {
-00173 <span class="keywordflow">return</span> (common_channels(u1,u2) != 0);
-00174 }
-00175
-<a name="l00176"></a><a class="code" href="classServer.html#a10">00176</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a10">Server::SendCommon</a>(<a class="code" href="classuserrec.html">userrec</a>* User, std::string text,<span class="keywordtype">bool</span> IncludeSender)
-00177 {
-00178 <span class="keywordflow">if</span> (IncludeSender)
-00179 {
-00180 WriteCommon(User,<span class="stringliteral">"%s"</span>,text.c_str());
-00181 }
-00182 <span class="keywordflow">else</span>
-00183 {
-00184 WriteCommonExcept(User,<span class="stringliteral">"%s"</span>,text.c_str());
-00185 }
-00186 }
-00187
-<a name="l00188"></a><a class="code" href="classServer.html#a11">00188</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a11">Server::SendWallops</a>(<a class="code" href="classuserrec.html">userrec</a>* User, std::string text)
-00189 {
-00190 WriteWallOps(User,<span class="stringliteral">"%s"</span>,text.c_str());
-00191 }
-00192
-<a name="l00193"></a><a class="code" href="classServer.html#a12">00193</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a12">Server::IsNick</a>(std::string nick)
-00194 {
-00195 <span class="keywordflow">return</span> (isnick(nick.c_str()) != 0);
-00196 }
-00197
-<a name="l00198"></a><a class="code" href="classServer.html#a13">00198</a> <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="classServer.html#a13">Server::FindNick</a>(std::string nick)
-00199 {
-00200 <span class="keywordflow">return</span> Find(nick);
-00201 }
-00202
-<a name="l00203"></a><a class="code" href="classServer.html#a14">00203</a> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#a14">Server::FindChannel</a>(std::string channel)
-00204 {
-00205 <span class="keywordflow">return</span> FindChan(channel.c_str());
-00206 }
-00207
-<a name="l00208"></a><a class="code" href="classServer.html#a15">00208</a> std::string <a class="code" href="classServer.html#a15">Server::ChanMode</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Chan)
-00209 {
-00210 <span class="keywordflow">return</span> cmode(User,Chan);
-00211 }
-00212
-<a name="l00213"></a><a class="code" href="classServer.html#a16">00213</a> std::string <a class="code" href="classServer.html#a16">Server::GetServerName</a>()
-00214 {
-00215 <span class="keywordflow">return</span> getservername();
-00216 }
-00217
-<a name="l00218"></a><a class="code" href="classServer.html#a17">00218</a> std::string <a class="code" href="classServer.html#a17">Server::GetNetworkName</a>()
-00219 {
-00220 <span class="keywordflow">return</span> getnetworkname();
-00221 }
-00222
-<a name="l00223"></a><a class="code" href="classServer.html#a18">00223</a> <a class="code" href="classAdmin.html">Admin</a> <a class="code" href="classServer.html#a18">Server::GetAdmin</a>()
-00224 {
-00225 <span class="keywordflow">return</span> <a class="code" href="classAdmin.html">Admin</a>(getadminname(),getadminemail(),getadminnick());
-00226 }
-00227
-00228
-00229
-<a name="l00230"></a><a class="code" href="classServer.html#a19">00230</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a19">Server::AddExtendedMode</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> default_on, <span class="keywordtype">int</span> params_when_on, <span class="keywordtype">int</span> params_when_off)
-00231 {
-00232 <span class="keywordflow">return</span> <a class="code" href="modules_8cpp.html#a7">DoAddExtendedMode</a>(modechar,type,default_on,params_when_on,params_when_off);
-00233 }
-00234
-00235
-<a name="l00236"></a><a class="code" href="classConfigReader.html#a0">00236</a> <a class="code" href="classConfigReader.html#a0">ConfigReader::ConfigReader</a>()
-00237 {
-00238 <a class="code" href="classConfigReader.html#n0">fname</a> = CONFIG_FILE;
-00239 }
-00240
+00131 }
+00132
+<a name="l00133"></a><a class="code" href="classServer.html#a2">00133</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a2">Server::SendOpers</a>(std::string s)
+00134 {
+00135 WriteOpers(<span class="stringliteral">"%s"</span>,s.c_str());
+00136 }
+00137
+<a name="l00138"></a><a class="code" href="classServer.html#a3">00138</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a3">Server::Log</a>(<span class="keywordtype">int</span> level, std::string s)
+00139 {
+00140 log(level,<span class="stringliteral">"%s"</span>,s.c_str());
+00141 }
+00142
+<a name="l00143"></a><a class="code" href="classServer.html#a20">00143</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a20">Server::AddCommand</a>(<span class="keywordtype">char</span>* cmd, handlerfunc f, <span class="keywordtype">char</span> flags, <span class="keywordtype">int</span> minparams)
+00144 {
+00145 <a class="code" href="modules_8h.html#a13">createcommand</a>(cmd,f,flags,minparams);
+00146 }
+00147
+<a name="l00148"></a><a class="code" href="classServer.html#a21">00148</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a21">Server::SendMode</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user)
+00149 {
+00150 <a class="code" href="modules_8h.html#a14">server_mode</a>(parameters,pcnt,user);
+00151 }
+00152
+<a name="l00153"></a><a class="code" href="classServer.html#a4">00153</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a4">Server::Send</a>(<span class="keywordtype">int</span> Socket, std::string s)
+00154 {
+00155 Write(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
+00156 }
+00157
+<a name="l00158"></a><a class="code" href="classServer.html#a5">00158</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a5">Server::SendServ</a>(<span class="keywordtype">int</span> Socket, std::string s)
+00159 {
+00160 WriteServ(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
+00161 }
+00162
+<a name="l00163"></a><a class="code" href="classServer.html#a6">00163</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a6">Server::SendFrom</a>(<span class="keywordtype">int</span> Socket, <a class="code" href="classuserrec.html">userrec</a>* User, std::string s)
+00164 {
+00165 WriteFrom(Socket,User,<span class="stringliteral">"%s"</span>,s.c_str());
+00166 }
+00167
+<a name="l00168"></a><a class="code" href="classServer.html#a7">00168</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a7">Server::SendTo</a>(<a class="code" href="classuserrec.html">userrec</a>* Source, <a class="code" href="classuserrec.html">userrec</a>* Dest, std::string s)
+00169 {
+00170 WriteTo(Source,Dest,<span class="stringliteral">"%s"</span>,s.c_str());
+00171 }
+00172
+<a name="l00173"></a><a class="code" href="classServer.html#a8">00173</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a8">Server::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)
+00174 {
+00175 <span class="keywordflow">if</span> (IncludeSender)
+00176 {
+00177 WriteChannel(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
+00178 }
+00179 <span class="keywordflow">else</span>
+00180 {
+00181 ChanExceptSender(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
+00182 }
+00183 }
+00184
+<a name="l00185"></a><a class="code" href="classServer.html#a9">00185</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a9">Server::CommonChannels</a>(<a class="code" href="classuserrec.html">userrec</a>* u1, <a class="code" href="classuserrec.html">userrec</a>* u2)
+00186 {
+00187 <span class="keywordflow">return</span> (common_channels(u1,u2) != 0);
+00188 }
+00189
+<a name="l00190"></a><a class="code" href="classServer.html#a10">00190</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a10">Server::SendCommon</a>(<a class="code" href="classuserrec.html">userrec</a>* User, std::string text,<span class="keywordtype">bool</span> IncludeSender)
+00191 {
+00192 <span class="keywordflow">if</span> (IncludeSender)
+00193 {
+00194 WriteCommon(User,<span class="stringliteral">"%s"</span>,text.c_str());
+00195 }
+00196 <span class="keywordflow">else</span>
+00197 {
+00198 WriteCommonExcept(User,<span class="stringliteral">"%s"</span>,text.c_str());
+00199 }
+00200 }
+00201
+<a name="l00202"></a><a class="code" href="classServer.html#a11">00202</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a11">Server::SendWallops</a>(<a class="code" href="classuserrec.html">userrec</a>* User, std::string text)
+00203 {
+00204 WriteWallOps(User,<span class="stringliteral">"%s"</span>,text.c_str());
+00205 }
+00206
+<a name="l00207"></a><a class="code" href="classServer.html#a12">00207</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a12">Server::IsNick</a>(std::string nick)
+00208 {
+00209 <span class="keywordflow">return</span> (isnick(nick.c_str()) != 0);
+00210 }
+00211
+<a name="l00212"></a><a class="code" href="classServer.html#a13">00212</a> <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="classServer.html#a13">Server::FindNick</a>(std::string nick)
+00213 {
+00214 <span class="keywordflow">return</span> Find(nick);
+00215 }
+00216
+<a name="l00217"></a><a class="code" href="classServer.html#a14">00217</a> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#a14">Server::FindChannel</a>(std::string channel)
+00218 {
+00219 <span class="keywordflow">return</span> FindChan(channel.c_str());
+00220 }
+00221
+<a name="l00222"></a><a class="code" href="classServer.html#a15">00222</a> std::string <a class="code" href="classServer.html#a15">Server::ChanMode</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Chan)
+00223 {
+00224 <span class="keywordflow">return</span> cmode(User,Chan);
+00225 }
+00226
+<a name="l00227"></a><a class="code" href="classServer.html#a16">00227</a> std::string <a class="code" href="classServer.html#a16">Server::GetServerName</a>()
+00228 {
+00229 <span class="keywordflow">return</span> getservername();
+00230 }
+00231
+<a name="l00232"></a><a class="code" href="classServer.html#a17">00232</a> std::string <a class="code" href="classServer.html#a17">Server::GetNetworkName</a>()
+00233 {
+00234 <span class="keywordflow">return</span> getnetworkname();
+00235 }
+00236
+<a name="l00237"></a><a class="code" href="classServer.html#a18">00237</a> <a class="code" href="classAdmin.html">Admin</a> <a class="code" href="classServer.html#a18">Server::GetAdmin</a>()
+00238 {
+00239 <span class="keywordflow">return</span> <a class="code" href="classAdmin.html">Admin</a>(getadminname(),getadminemail(),getadminnick());
+00240 }
00241
-<a name="l00242"></a><a class="code" href="classConfigReader.html#a2">00242</a> <a class="code" href="classConfigReader.html#a2">ConfigReader::~ConfigReader</a>()
-00243 {
-00244 }
-00245
-00246
-<a name="l00247"></a><a class="code" href="classConfigReader.html#a1">00247</a> <a class="code" href="classConfigReader.html#a0">ConfigReader::ConfigReader</a>(std::string filename) : fname(filename) { };
-00248
-<a name="l00249"></a><a class="code" href="classConfigReader.html#a3">00249</a> std::string <a class="code" href="classConfigReader.html#a3">ConfigReader::ReadValue</a>(std::string tag, std::string name, <span class="keywordtype">int</span> index)
-00250 {
-00251 <span class="keywordtype">char</span> val[MAXBUF];
-00252 ReadConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str(),name.c_str(),index,val);
-00253 <span class="keywordflow">return</span> val;
-00254 }
-00255
-00256
-<a name="l00257"></a><a class="code" href="classConfigReader.html#a4">00257</a> <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#a4">ConfigReader::Enumerate</a>(std::string tag)
-00258 {
-00259 <span class="keywordflow">return</span> EnumConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str());
-00260 }
-00261
-00262
-<a name="l00263"></a><a class="code" href="classConfigReader.html#a5">00263</a> <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#a5">ConfigReader::Verify</a>()
-00264 {
-00265 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-00266 }
-00267
-00268
-<a name="l00269"></a><a class="code" href="classFileReader.html#a1">00269</a> <a class="code" href="classFileReader.html#a0">FileReader::FileReader</a>(std::string filename)
-00270 {
-00271 <a class="code" href="modules_8h.html#a10">file_cache</a> c;
-00272 readfile(c,filename.c_str());
-00273 this-><a class="code" href="classFileReader.html#o0">fc</a> = c;
-00274 }
+00242
+00243
+<a name="l00244"></a><a class="code" href="classServer.html#a19">00244</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a19">Server::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)
+00245 {
+00246 <span class="keywordflow">if</span> (type == <a class="code" href="modules_8h.html#a7">MT_SERVER</a>)
+00247 {
+00248 log(DEBUG,<span class="stringliteral">"*** API ERROR *** Modes of type MT_SERVER are reserved for future expansion"</span>);
+00249 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00250 }
+00251 <span class="keywordflow">if</span> (((params_when_on>0) || (params_when_off>0)) && (type == <a class="code" href="modules_8h.html#a6">MT_CLIENT</a>))
+00252 {
+00253 log(DEBUG,<span class="stringliteral">"*** API ERROR *** Parameters on MT_CLIENT modes are not supported"</span>);
+00254 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00255 }
+00256 <span class="keywordflow">if</span> ((params_when_on>1) || (params_when_off>1))
+00257 {
+00258 log(DEBUG,<span class="stringliteral">"*** API ERROR *** More than one parameter for an MT_CHANNEL mode is not yet supported"</span>);
+00259 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00260 }
+00261 <span class="keywordflow">return</span> <a class="code" href="modules_8cpp.html#a8">DoAddExtendedMode</a>(modechar,type,requires_oper,params_when_on,params_when_off);
+00262 }
+00263
+00264
+<a name="l00265"></a><a class="code" href="classConfigReader.html#a0">00265</a> <a class="code" href="classConfigReader.html#a0">ConfigReader::ConfigReader</a>()
+00266 {
+00267 <a class="code" href="classConfigReader.html#n0">fname</a> = CONFIG_FILE;
+00268 }
+00269
+00270
+<a name="l00271"></a><a class="code" href="classConfigReader.html#a2">00271</a> <a class="code" href="classConfigReader.html#a2">ConfigReader::~ConfigReader</a>()
+00272 {
+00273 }
+00274
00275
-<a name="l00276"></a><a class="code" href="classFileReader.html#a0">00276</a> <a class="code" href="classFileReader.html#a0">FileReader::FileReader</a>()
-00277 {
-00278 }
-00279
-<a name="l00280"></a><a class="code" href="classFileReader.html#a3">00280</a> <span class="keywordtype">void</span> <a class="code" href="classFileReader.html#a3">FileReader::LoadFile</a>(std::string filename)
-00281 {
-00282 <a class="code" href="modules_8h.html#a10">file_cache</a> c;
-00283 readfile(c,filename.c_str());
-00284 this-><a class="code" href="classFileReader.html#o0">fc</a> = c;
-00285 }
-00286
-00287
-<a name="l00288"></a><a class="code" href="classFileReader.html#a2">00288</a> <a class="code" href="classFileReader.html#a2">FileReader::~FileReader</a>()
-00289 {
-00290 }
+<a name="l00276"></a><a class="code" href="classConfigReader.html#a1">00276</a> <a class="code" href="classConfigReader.html#a0">ConfigReader::ConfigReader</a>(std::string filename) : fname(filename) { };
+00277
+<a name="l00278"></a><a class="code" href="classConfigReader.html#a3">00278</a> std::string <a class="code" href="classConfigReader.html#a3">ConfigReader::ReadValue</a>(std::string tag, std::string name, <span class="keywordtype">int</span> index)
+00279 {
+00280 <span class="keywordtype">char</span> val[MAXBUF];
+00281 ReadConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str(),name.c_str(),index,val);
+00282 <span class="keywordflow">return</span> val;
+00283 }
+00284
+00285
+<a name="l00286"></a><a class="code" href="classConfigReader.html#a4">00286</a> <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#a4">ConfigReader::Enumerate</a>(std::string tag)
+00287 {
+00288 <span class="keywordflow">return</span> EnumConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str());
+00289 }
+00290
00291
-<a name="l00292"></a><a class="code" href="classFileReader.html#a4">00292</a> <span class="keywordtype">bool</span> <a class="code" href="classFileReader.html#a4">FileReader::Exists</a>()
+<a name="l00292"></a><a class="code" href="classConfigReader.html#a5">00292</a> <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#a5">ConfigReader::Verify</a>()
00293 {
-00294 <span class="keywordflow">if</span> (<a class="code" href="classFileReader.html#o0">fc</a>.size() == 0)
-00295 {
-00296 <span class="keywordflow">return</span>(false);
-00297 }
-00298 <span class="keywordflow">else</span>
-00299 {
-00300 <span class="keywordflow">return</span>(true);
-00301 }
-00302 }
-00303
-<a name="l00304"></a><a class="code" href="classFileReader.html#a5">00304</a> std::string <a class="code" href="classFileReader.html#a5">FileReader::GetLine</a>(<span class="keywordtype">int</span> x)
-00305 {
-00306 <span class="keywordflow">if</span> ((x<0) || (x><a class="code" href="classFileReader.html#o0">fc</a>.size()))
-00307 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
-00308 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>[x];
-00309 }
-00310
-<a name="l00311"></a><a class="code" href="classFileReader.html#a6">00311</a> <span class="keywordtype">int</span> <a class="code" href="classFileReader.html#a6">FileReader::FileSize</a>()
-00312 {
-00313 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>.size();
+00294 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00295 }
+00296
+00297
+<a name="l00298"></a><a class="code" href="classFileReader.html#a1">00298</a> <a class="code" href="classFileReader.html#a0">FileReader::FileReader</a>(std::string filename)
+00299 {
+00300 <a class="code" href="modules_8h.html#a10">file_cache</a> c;
+00301 readfile(c,filename.c_str());
+00302 this-><a class="code" href="classFileReader.html#o0">fc</a> = c;
+00303 }
+00304
+<a name="l00305"></a><a class="code" href="classFileReader.html#a0">00305</a> <a class="code" href="classFileReader.html#a0">FileReader::FileReader</a>()
+00306 {
+00307 }
+00308
+<a name="l00309"></a><a class="code" href="classFileReader.html#a3">00309</a> <span class="keywordtype">void</span> <a class="code" href="classFileReader.html#a3">FileReader::LoadFile</a>(std::string filename)
+00310 {
+00311 <a class="code" href="modules_8h.html#a10">file_cache</a> c;
+00312 readfile(c,filename.c_str());
+00313 this-><a class="code" href="classFileReader.html#o0">fc</a> = c;
00314 }
00315
00316
-00317 std::vector<Module*> <a class="code" href="modules_8cpp.html#a8">modules</a>(255);
-00318 std::vector<ircd_module*> <a class="code" href="modules_8cpp.html#a9">factory</a>(255);
-00319
-<a name="l00320"></a><a class="code" href="modules_8cpp.html#a3">00320</a> <span class="keywordtype">int</span> <a class="code" href="modules_8cpp.html#a3">MODCOUNT</a> = -1;
-00321
-00322
-</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:02 2004 for InspIRCd by
+<a name="l00317"></a><a class="code" href="classFileReader.html#a2">00317</a> <a class="code" href="classFileReader.html#a2">FileReader::~FileReader</a>()
+00318 {
+00319 }
+00320
+<a name="l00321"></a><a class="code" href="classFileReader.html#a4">00321</a> <span class="keywordtype">bool</span> <a class="code" href="classFileReader.html#a4">FileReader::Exists</a>()
+00322 {
+00323 <span class="keywordflow">if</span> (<a class="code" href="classFileReader.html#o0">fc</a>.size() == 0)
+00324 {
+00325 <span class="keywordflow">return</span>(false);
+00326 }
+00327 <span class="keywordflow">else</span>
+00328 {
+00329 <span class="keywordflow">return</span>(true);
+00330 }
+00331 }
+00332
+<a name="l00333"></a><a class="code" href="classFileReader.html#a5">00333</a> std::string <a class="code" href="classFileReader.html#a5">FileReader::GetLine</a>(<span class="keywordtype">int</span> x)
+00334 {
+00335 <span class="keywordflow">if</span> ((x<0) || (x><a class="code" href="classFileReader.html#o0">fc</a>.size()))
+00336 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
+00337 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>[x];
+00338 }
+00339
+<a name="l00340"></a><a class="code" href="classFileReader.html#a6">00340</a> <span class="keywordtype">int</span> <a class="code" href="classFileReader.html#a6">FileReader::FileSize</a>()
+00341 {
+00342 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>.size();
+00343 }
+00344
+00345
+00346 std::vector<Module*> <a class="code" href="modules_8cpp.html#a9">modules</a>(255);
+00347 std::vector<ircd_module*> <a class="code" href="modules_8cpp.html#a10">factory</a>(255);
+00348
+<a name="l00349"></a><a class="code" href="modules_8cpp.html#a3">00349</a> <span class="keywordtype">int</span> <a class="code" href="modules_8cpp.html#a3">MODCOUNT</a> = -1;
+00350
+00351
+</pre></div><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:14 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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.cpp File Reference</h1><code>#include <typeinfo></code><br>
<code>#include <iostream></code><br>
<code>#include "globals.h"</code><br>
<tr><td nowrap align=right valign=top>typedef ExtModeList::iterator </td><td valign=bottom><a class="el" href="modules_8cpp.html#a1">ExtModeListIter</a></td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="modules_8cpp.html#a4">ModeDefined</a> (char modechar, int type)</td></tr>
-<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="modules_8cpp.html#a5">ModeDefinedOn</a> (char modechar, int type)</td></tr>
-<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="modules_8cpp.html#a6">ModeDefinedOff</a> (char modechar, int type)</td></tr>
-<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="modules_8cpp.html#a7">DoAddExtendedMode</a> (char modechar, int type, bool default_on, int params_on, int params_off)</td></tr>
-<tr><td nowrap align=right valign=top>std::vector< <a class="el" href="classModule.html">Module</a> * > </td><td valign=bottom><a class="el" href="modules_8cpp.html#a8">modules</a> (255)</td></tr>
-<tr><td nowrap align=right valign=top>std::vector< <a class="el" href="modules_8h.html#a12">ircd_module</a> * > </td><td valign=bottom><a class="el" href="modules_8cpp.html#a9">factory</a> (255)</td></tr>
+<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="modules_8cpp.html#a5">ModeDefinedOper</a> (char modechar, int type)</td></tr>
+<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="modules_8cpp.html#a6">ModeDefinedOn</a> (char modechar, int type)</td></tr>
+<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="modules_8cpp.html#a7">ModeDefinedOff</a> (char modechar, int type)</td></tr>
+<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="modules_8cpp.html#a8">DoAddExtendedMode</a> (char modechar, int type, bool requires_oper, int params_on, int params_off)</td></tr>
+<tr><td nowrap align=right valign=top>std::vector< <a class="el" href="classModule.html">Module</a> * > </td><td valign=bottom><a class="el" href="modules_8cpp.html#a9">modules</a> (255)</td></tr>
+<tr><td nowrap align=right valign=top>std::vector< <a class="el" href="modules_8h.html#a12">ircd_module</a> * > </td><td valign=bottom><a class="el" href="modules_8cpp.html#a10">factory</a> (255)</td></tr>
<tr><td colspan=2><br><h2>Variables</h2></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="modules_8cpp.html#a0">ExtModeList</a> </td><td valign=bottom><a class="el" href="modules_8cpp.html#a2">EMode</a></td></tr>
<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="modules_8cpp.html#a3">MODCOUNT</a> = -1</td></tr>
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00029">29</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00034">ModeDefined()</a>, <a class="el" href="modules_8cpp-source.html#l00062">ModeDefinedOff()</a>, and <a class="el" href="modules_8cpp-source.html#l00049">ModeDefinedOn()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00034">ModeDefined()</a>, <a class="el" href="modules_8cpp-source.html#l00076">ModeDefinedOff()</a>, <a class="el" href="modules_8cpp-source.html#l00063">ModeDefinedOn()</a>, and <a class="el" href="modules_8cpp-source.html#l00048">ModeDefinedOper()</a>. </td>
</tr>
</table>
<hr><h2>Function Documentation</h2>
-<a name="a7" doxytag="modules.cpp::DoAddExtendedMode"></a><p>
+<a name="a8" doxytag="modules.cpp::DoAddExtendedMode"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<td></td>
<td></td>
<td class="md" nowrap>bool </td>
- <td class="mdname" nowrap> <em>default_on</em>, </td>
+ <td class="mdname" nowrap> <em>requires_oper</em>, </td>
</tr>
<tr>
<td></td>
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00075">75</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00089">89</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>, and <a class="el" href="modules_8cpp-source.html#l00034">ModeDefined()</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00230">Server::AddExtendedMode()</a>.
+Referenced by <a class="el" href="modules_8cpp-source.html#l00244">Server::AddExtendedMode()</a>.
<p>
-<div class="fragment"><pre>00076 {
-00077 <span class="keywordflow">if</span> (<a class="code" href="modules_8cpp.html#a4">ModeDefined</a>(modechar,type)) {
-00078 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-00079 }
-00080 <a class="code" href="modules_8cpp.html#a2">EMode</a>.push_back(<a class="code" href="classExtMode.html">ExtMode</a>(modechar,type,default_on,params_on,params_off));
-00081 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-00082 }
+<div class="fragment"><pre>00090 {
+00091 <span class="keywordflow">if</span> (<a class="code" href="modules_8cpp.html#a4">ModeDefined</a>(modechar,type)) {
+00092 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00093 }
+00094 <a class="code" href="modules_8cpp.html#a2">EMode</a>.push_back(<a class="code" href="classExtMode.html">ExtMode</a>(modechar,type,requires_oper,params_on,params_off));
+00095 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00096 }
</pre></div> </td>
</tr>
</table>
-<a name="a9" doxytag="modules.cpp::factory"></a><p>
+<a name="a10" doxytag="modules.cpp::factory"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<p>
References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>, and <a class="el" href="modules_8cpp-source.html#l00029">ExtModeListIter</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00075">DoAddExtendedMode()</a>.
+Referenced by <a class="el" href="modules_8cpp-source.html#l00089">DoAddExtendedMode()</a>.
<p>
<div class="fragment"><pre>00035 {
00036 log(DEBUG,<span class="stringliteral">"Size of extmodes vector is %d"</span>,<a class="code" href="modules_8cpp.html#a2">EMode</a>.size());
</pre></div> </td>
</tr>
</table>
-<a name="a6" doxytag="modules.cpp::ModeDefinedOff"></a><p>
+<a name="a7" doxytag="modules.cpp::ModeDefinedOff"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00062">62</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00076">76</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>, and <a class="el" href="modules_8cpp-source.html#l00029">ExtModeListIter</a>.
<p>
-<div class="fragment"><pre>00063 {
-00064 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i < <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
-00065 {
-00066 <span class="keywordflow">if</span> ((i->modechar == modechar) && (i->type == type))
-00067 {
-00068 <span class="keywordflow">return</span> i->params_when_off;
-00069 }
-00070 }
-00071 <span class="keywordflow">return</span> 0;
-00072 }
+<div class="fragment"><pre>00077 {
+00078 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i < <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
+00079 {
+00080 <span class="keywordflow">if</span> ((i->modechar == modechar) && (i->type == type))
+00081 {
+00082 <span class="keywordflow">return</span> i->params_when_off;
+00083 }
+00084 }
+00085 <span class="keywordflow">return</span> 0;
+00086 }
</pre></div> </td>
</tr>
</table>
-<a name="a5" doxytag="modules.cpp::ModeDefinedOn"></a><p>
+<a name="a6" doxytag="modules.cpp::ModeDefinedOn"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00049">49</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00063">63</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>, and <a class="el" href="modules_8cpp-source.html#l00029">ExtModeListIter</a>.
<p>
-<div class="fragment"><pre>00050 {
+<div class="fragment"><pre>00064 {
+00065 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i < <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
+00066 {
+00067 <span class="keywordflow">if</span> ((i->modechar == modechar) && (i->type == type))
+00068 {
+00069 <span class="keywordflow">return</span> i->params_when_on;
+00070 }
+00071 }
+00072 <span class="keywordflow">return</span> 0;
+00073 }
+</pre></div> </td>
+ </tr>
+</table>
+<a name="a5" doxytag="modules.cpp::ModeDefinedOper"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool ModeDefinedOper </td>
+ <td class="md" valign="top">( </td>
+ <td class="md" nowrap valign="top">char </td>
+ <td class="mdname" nowrap> <em>modechar</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int </td>
+ <td class="mdname" nowrap> <em>type</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">) </td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="modules_8cpp-source.html#l00048">48</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+<p>
+References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>, and <a class="el" href="modules_8cpp-source.html#l00029">ExtModeListIter</a>.
+<p>
+<div class="fragment"><pre>00049 {
+00050 log(DEBUG,<span class="stringliteral">"Size of extmodes vector is %d"</span>,<a class="code" href="modules_8cpp.html#a2">EMode</a>.size());
00051 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i < <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
00052 {
-00053 <span class="keywordflow">if</span> ((i->modechar == modechar) && (i->type == type))
-00054 {
-00055 <span class="keywordflow">return</span> i->params_when_on;
-00056 }
-00057 }
-00058 <span class="keywordflow">return</span> 0;
-00059 }
+00053 log(DEBUG,<span class="stringliteral">"i->modechar==%c, modechar=%c, i->type=%d, type=%d"</span>,i->modechar,modechar,i->type,type);
+00054 <span class="keywordflow">if</span> ((i->modechar == modechar) && (i->type == type) && (i->needsoper == <span class="keyword">true</span>))
+00055 {
+00056 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00057 }
+00058 }
+00059 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00060 }
</pre></div> </td>
</tr>
</table>
-<a name="a8" doxytag="modules.cpp::modules"></a><p>
+<a name="a9" doxytag="modules.cpp::modules"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00031">31</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00075">DoAddExtendedMode()</a>, <a class="el" href="modules_8cpp-source.html#l00034">ModeDefined()</a>, <a class="el" href="modules_8cpp-source.html#l00062">ModeDefinedOff()</a>, and <a class="el" href="modules_8cpp-source.html#l00049">ModeDefinedOn()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00089">DoAddExtendedMode()</a>, <a class="el" href="modules_8cpp-source.html#l00034">ModeDefined()</a>, <a class="el" href="modules_8cpp-source.html#l00076">ModeDefinedOff()</a>, <a class="el" href="modules_8cpp-source.html#l00063">ModeDefinedOn()</a>, and <a class="el" href="modules_8cpp-source.html#l00048">ModeDefinedOper()</a>. </td>
</tr>
</table>
<a name="a3" doxytag="modules.cpp::MODCOUNT"></a><p>
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00320">320</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>. </td>
+Definition at line <a class="el" href="modules_8cpp-source.html#l00349">349</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>. </td>
</tr>
</table>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:06 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:18 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>
00282 <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a16">GetServerName</a>();
00285 <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a17">GetNetworkName</a>();
00291 <span class="keyword">virtual</span> <a class="code" href="classAdmin.html">Admin</a> <a class="code" href="classServer.html#a18">GetAdmin</a>();
-00309 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a19">AddExtendedMode</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> default_on, <span class="keywordtype">int</span> params_when_on, <span class="keywordtype">int</span> params_when_off);
-00310
-00325 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a20">AddCommand</a>(<span class="keywordtype">char</span>* cmd, handlerfunc f, <span class="keywordtype">char</span> flags, <span class="keywordtype">int</span> minparams);
-00326
-00348 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a21">SendMode</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user);
-00349 };
-00350
-<a name="l00357"></a><a class="code" href="classConfigReader.html">00357</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>
-00358 {
-00359 <span class="keyword">protected</span>:
-<a name="l00362"></a><a class="code" href="classConfigReader.html#n0">00362</a> std::string <a class="code" href="classConfigReader.html#n0">fname</a>;
-00363 <span class="keyword">public</span>:
-00368 <a class="code" href="classConfigReader.html#a0">ConfigReader</a>(); <span class="comment">// default constructor reads ircd.conf</span>
-00372 <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>
-00376 <span class="comment"></span> <a class="code" href="classConfigReader.html#a2">~ConfigReader</a>();
-00381 std::string <a class="code" href="classConfigReader.html#a3">ReadValue</a>(std::string tag, std::string name, <span class="keywordtype">int</span> index);
-00388 <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#a4">Enumerate</a>(std::string tag);
-00392 <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#a5">Verify</a>();
-00393 };
-00394
+00310 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a19">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);
+00311
+00326 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a20">AddCommand</a>(<span class="keywordtype">char</span>* cmd, handlerfunc f, <span class="keywordtype">char</span> flags, <span class="keywordtype">int</span> minparams);
+00327
+00349 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a21">SendMode</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user);
+00350 };
+00351
+<a name="l00358"></a><a class="code" href="classConfigReader.html">00358</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>
+00359 {
+00360 <span class="keyword">protected</span>:
+<a name="l00363"></a><a class="code" href="classConfigReader.html#n0">00363</a> std::string <a class="code" href="classConfigReader.html#n0">fname</a>;
+00364 <span class="keyword">public</span>:
+00369 <a class="code" href="classConfigReader.html#a0">ConfigReader</a>(); <span class="comment">// default constructor reads ircd.conf</span>
+00373 <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>
+00377 <span class="comment"></span> <a class="code" href="classConfigReader.html#a2">~ConfigReader</a>();
+00382 std::string <a class="code" href="classConfigReader.html#a3">ReadValue</a>(std::string tag, std::string name, <span class="keywordtype">int</span> index);
+00389 <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#a4">Enumerate</a>(std::string tag);
+00393 <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#a5">Verify</a>();
+00394 };
00395
00396
-<a name="l00402"></a><a class="code" href="classFileReader.html">00402</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>
-00403 {
-<a name="l00404"></a><a class="code" href="classFileReader.html#o0">00404</a> <a class="code" href="modules_8h.html#a10">file_cache</a> <a class="code" href="classFileReader.html#o0">fc</a>;
-00405 <span class="keyword">public</span>:
-00410 <a class="code" href="classFileReader.html#a0">FileReader</a>();
-00416 <a class="code" href="classFileReader.html#a0">FileReader</a>(std::string filename);
-00420 <a class="code" href="classFileReader.html#a2">~FileReader</a>();
-00426 <span class="keywordtype">void</span> <a class="code" href="classFileReader.html#a3">LoadFile</a>(std::string filename);
-00431 <span class="keywordtype">bool</span> <a class="code" href="classFileReader.html#a4">Exists</a>();
-00432 std::string <a class="code" href="classFileReader.html#a5">GetLine</a>(<span class="keywordtype">int</span> x);
-00438 <span class="keywordtype">int</span> <a class="code" href="classFileReader.html#a6">FileSize</a>();
-00439 };
-00440
+00397
+<a name="l00403"></a><a class="code" href="classFileReader.html">00403</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>
+00404 {
+<a name="l00405"></a><a class="code" href="classFileReader.html#o0">00405</a> <a class="code" href="modules_8h.html#a10">file_cache</a> <a class="code" href="classFileReader.html#o0">fc</a>;
+00406 <span class="keyword">public</span>:
+00411 <a class="code" href="classFileReader.html#a0">FileReader</a>();
+00417 <a class="code" href="classFileReader.html#a0">FileReader</a>(std::string filename);
+00421 <a class="code" href="classFileReader.html#a2">~FileReader</a>();
+00427 <span class="keywordtype">void</span> <a class="code" href="classFileReader.html#a3">LoadFile</a>(std::string filename);
+00432 <span class="keywordtype">bool</span> <a class="code" href="classFileReader.html#a4">Exists</a>();
+00433 std::string <a class="code" href="classFileReader.html#a5">GetLine</a>(<span class="keywordtype">int</span> x);
+00439 <span class="keywordtype">int</span> <a class="code" href="classFileReader.html#a6">FileSize</a>();
+00440 };
00441
-<a name="l00448"></a><a class="code" href="classModuleFactory.html">00448</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>
-00449 {
-00450 <span class="keyword">public</span>:
-<a name="l00451"></a><a class="code" href="classModuleFactory.html#a0">00451</a> <a class="code" href="classModuleFactory.html#a0">ModuleFactory</a>() { }
-<a name="l00452"></a><a class="code" href="classModuleFactory.html#a1">00452</a> <span class="keyword">virtual</span> <a class="code" href="classModuleFactory.html#a1">~ModuleFactory</a>() { }
-00457 <span class="keyword">virtual</span> <a class="code" href="classModule.html">Module</a> * <a class="code" href="classModuleFactory.html#a2">CreateModule</a>() = 0;
-00458 };
-00459
+00442
+<a name="l00449"></a><a class="code" href="classModuleFactory.html">00449</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>
+00450 {
+00451 <span class="keyword">public</span>:
+<a name="l00452"></a><a class="code" href="classModuleFactory.html#a0">00452</a> <a class="code" href="classModuleFactory.html#a0">ModuleFactory</a>() { }
+<a name="l00453"></a><a class="code" href="classModuleFactory.html#a1">00453</a> <span class="keyword">virtual</span> <a class="code" href="classModuleFactory.html#a1">~ModuleFactory</a>() { }
+00458 <span class="keyword">virtual</span> <a class="code" href="classModule.html">Module</a> * <a class="code" href="classModuleFactory.html#a2">CreateModule</a>() = 0;
+00459 };
00460
-<a name="l00461"></a><a class="code" href="modules_8h.html#a12">00461</a> <span class="keyword">typedef</span> DLLFactory<ModuleFactory> <a class="code" href="modules_8h.html#a12">ircd_module</a>;
-00462
-00463 <span class="preprocessor">#endif</span>
-</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:03 2004 for InspIRCd by
+00461
+<a name="l00462"></a><a class="code" href="modules_8h.html#a12">00462</a> <span class="keyword">typedef</span> DLLFactory<ModuleFactory> <a class="code" href="modules_8h.html#a12">ircd_module</a>;
+00463
+00464 <span class="preprocessor">#endif</span>
+</pre></div><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:14 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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 File Reference</h1><code>#include "dynamic.h"</code><br>
<code>#include "<a class="el" href="base_8h-source.html">base.h</a>"</code><br>
<code>#include "<a class="el" href="ctables_8h-source.html">ctables.h</a>"</code><br>
<p>
<b>Value:</b><div class="fragment"><pre>{ MOD_RESULT = 0; \
<span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i <= <a class="code" href="modules_8cpp.html#a3">MODCOUNT</a>; i++) { \
- <span class="keywordtype">int</span> res = <a class="code" href="modules_8cpp.html#a8">modules</a>[i]->x ; \
+ <span class="keywordtype">int</span> res = <a class="code" href="modules_8cpp.html#a9">modules</a>[i]->x ; \
<span class="keywordflow">if</span> (res) { \
MOD_RESULT = res; \
<span class="keywordflow">break</span>; \
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00018">18</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
+Definition at line <a class="el" href="modules_8h-source.html#l00018">18</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
+<p>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00244">Server::AddExtendedMode()</a>. </td>
</tr>
</table>
<a name="a7" doxytag="modules.h::MT_SERVER"></a><p>
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00019">19</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
+Definition at line <a class="el" href="modules_8h-source.html#l00019">19</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
+<p>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00244">Server::AddExtendedMode()</a>. </td>
</tr>
</table>
<a name="a4" doxytag="modules.h::NONE"></a><p>
<p>
Definition at line <a class="el" href="modules_8h-source.html#l00029">29</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00269">FileReader::FileReader()</a>, and <a class="el" href="modules_8cpp-source.html#l00280">FileReader::LoadFile()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00298">FileReader::FileReader()</a>, and <a class="el" href="modules_8cpp-source.html#l00309">FileReader::LoadFile()</a>. </td>
</tr>
</table>
<a name="a12" doxytag="modules.h::ircd_module"></a><p>
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00461">461</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
+Definition at line <a class="el" href="modules_8h-source.html#l00462">462</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
</tr>
</table>
<a name="a11" doxytag="modules.h::string_list"></a><p>
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00129">Server::AddCommand()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00143">Server::AddCommand()</a>. </td>
</tr>
</table>
<a name="a14" doxytag="modules.h::server_mode"></a><p>
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00134">Server::SendMode()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00148">Server::SendMode()</a>. </td>
</tr>
</table>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:06 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:19 2004 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>
--- /dev/null
+<!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>Namespace Index</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>InspIRCd Namespace List</h1>Here is a list of all namespaces with brief descriptions:<table>
+ <tr><td class="indexkey"><a class="el" href="namespacestd.html">std</a></td><td class="indexvalue"></td></tr>
+</table>
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:34 2004 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>
+</body>
+</html>
--- /dev/null
+<!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>std Namespace Reference</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>std Namespace Reference</h1>
+<p>
+<table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+</table>
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:34 2004 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>
+</body>
+</html>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>servers.cpp</h1><a href="servers_8cpp.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>
00038 <a class="code" href="classconnection.html#m1">fd</a> = 0;
00039 }
00040
-</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:03 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:14 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>servers.cpp File Reference</h1><code>#include "inspircd_config.h"</code><br>
<code>#include "<a class="el" href="servers_8h-source.html">servers.h</a>"</code><br>
<code>#include "inspircd.h"</code><br>
<a href="servers_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
</table>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:07 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:19 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>servers.h</h1><a href="servers_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>
00060
00061 <span class="preprocessor">#endif</span>
00062 <span class="preprocessor"></span>
-</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:03 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:14 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>servers.h File Reference</h1><code>#include "inspircd_config.h"</code><br>
<code>#include "<a class="el" href="connection_8h-source.html">connection.h</a>"</code><br>
<code>#include <string></code><br>
Definition at line <a class="el" href="servers_8h-source.html#l00015">15</a> of file <a class="el" href="servers_8h-source.html">servers.h</a>. </td>
</tr>
</table>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:07 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:20 2004 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>
<p><img src="ftv2vertline.png"/><img src="ftv2node.png"/><img src="ftv2doc.png"/><a class="el" href="classHostItem.html" target="basefrm">HostItem</a></p>
<p><img src="ftv2vertline.png"/><img src="ftv2node.png"/><img src="ftv2doc.png"/><a class="el" href="classInvited.html" target="basefrm">Invited</a></p>
<p><img src="ftv2vertline.png"/><img src="ftv2node.png"/><img src="ftv2doc.png"/><a class="el" href="classInviteItem.html" target="basefrm">InviteItem</a></p>
+ <p><img src="ftv2vertline.png"/><img src="ftv2node.png"/><img src="ftv2doc.png"/><a class="el" href="classModeParameter.html" target="basefrm">ModeParameter</a></p>
<p><img src="ftv2vertline.png"/><img src="ftv2node.png"/><img src="ftv2doc.png"/><a class="el" href="classModule.html" target="basefrm">Module</a></p>
<p><img src="ftv2vertline.png"/><img src="ftv2node.png"/><img src="ftv2doc.png"/><a class="el" href="classModuleFactory.html" target="basefrm">ModuleFactory</a></p>
<p><img src="ftv2vertline.png"/><img src="ftv2node.png"/><img src="ftv2doc.png"/><a class="el" href="classpacket.html" target="basefrm">packet</a></p>
<p><img src="ftv2vertline.png"/><img src="ftv2vertline.png"/><img src="ftv2vertline.png"/><img src="ftv2lastnode.png"/><img src="ftv2doc.png"/><a class="el" href="classInviteItem.html" target="basefrm">InviteItem</a></p>
</div>
<p><img src="ftv2vertline.png"/><img src="ftv2vertline.png"/><img src="ftv2node.png"/><img src="ftv2doc.png"/><a class="el" href="classInvited.html" target="basefrm">Invited</a></p>
+ <p><img src="ftv2vertline.png"/><img src="ftv2vertline.png"/><img src="ftv2node.png"/><img src="ftv2doc.png"/><a class="el" href="classModeParameter.html" target="basefrm">ModeParameter</a></p>
<p><img src="ftv2vertline.png"/><img src="ftv2vertline.png"/><img src="ftv2node.png"/><img src="ftv2doc.png"/><a class="el" href="classModule.html" target="basefrm">Module</a></p>
<p><img src="ftv2vertline.png"/><img src="ftv2vertline.png"/><img src="ftv2node.png"/><img src="ftv2doc.png"/><a class="el" href="classModuleFactory.html" target="basefrm">ModuleFactory</a></p>
<p><img src="ftv2vertline.png"/><img src="ftv2vertline.png"/><img src="ftv2node.png"/><img src="ftv2doc.png"/><a class="el" href="classpacket.html" target="basefrm">packet</a></p>
<p><img src="ftv2vertline.png"/><img src="ftv2lastnode.png"/><img src="ftv2doc.png"/><a class="el" href="classExtMode.html" target="basefrm">ExtMode</a></p>
</div>
<p><img src="ftv2node.png"/><img src="ftv2doc.png"/><a class="el" href="functions.html" target="basefrm">Compound Members</a></p>
+ <p><img src="ftv2pnode.png" onclick="toggleFolder('folder7', this)"/><img src="ftv2folderclosed.png" onclick="toggleFolder('folder7', this)"/><a class="el" href="namespaces.html" target="basefrm">Namespace List</a></p>
+ <div id="folder7">
+ <p><img src="ftv2vertline.png"/><img src="ftv2lastnode.png"/><img src="ftv2doc.png"/><a class="el" href="namespacestd.html" target="basefrm">std</a></p>
+ </div>
<p><img src="ftv2node.png"/><img src="ftv2doc.png"/><a class="el" href="globals.html" target="basefrm">File Members</a></p>
<p><img src="ftv2lastnode.png"/><img src="ftv2doc.png"/><a class="el" href="inherits.html" target="basefrm">Graphical Class Hierarchy</a></p>
</div>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>users.cpp</h1><a href="users_8cpp.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>
00069
<a name="l00070"></a><a class="code" href="classuserrec.html#a6">00070</a> <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#a6">userrec::RemoveInvite</a>(<span class="keywordtype">char</span>* channel)
00071 {
-00072 <span class="keywordflow">for</span> (InvitedList::iterator i = <a class="code" href="classuserrec.html#o0">invites</a>.begin(); i != <a class="code" href="classuserrec.html#o0">invites</a>.end(); i++)
-00073 {
-00074 <span class="keywordflow">if</span> (i->channel) {
-00075 <span class="keywordflow">if</span> (!strcasecmp(i->channel,channel))
-00076 {
-00077 <a class="code" href="classuserrec.html#o0">invites</a>.erase(i);
-00078 <span class="keywordflow">return</span>;
-00079 }
-00080 }
-00081 }
-00082 }
-</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:03 2004 for InspIRCd by
+00072 log(DEBUG,<span class="stringliteral">"Removing invites"</span>);
+00073 <span class="keywordflow">if</span> (<a class="code" href="classuserrec.html#o0">invites</a>.size())
+00074 {
+00075 <span class="keywordflow">for</span> (InvitedList::iterator i = <a class="code" href="classuserrec.html#o0">invites</a>.begin(); i != <a class="code" href="classuserrec.html#o0">invites</a>.end(); i++)
+00076 {
+00077 <span class="keywordflow">if</span> (i->channel) {
+00078 <span class="keywordflow">if</span> (!strcasecmp(i->channel,channel))
+00079 {
+00080 <a class="code" href="classuserrec.html#o0">invites</a>.erase(i);
+00081 <span class="keywordflow">return</span>;
+00082 }
+00083 }
+00084 }
+00085 }
+00086 }
+</pre></div><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:14 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>users.cpp File Reference</h1><code>#include "inspircd_config.h"</code><br>
<code>#include "<a class="el" href="channels_8h-source.html">channels.h</a>"</code><br>
<code>#include "<a class="el" href="users_8h-source.html">users.h</a>"</code><br>
<p>
Include dependency graph for users.cpp:<p><center><img src="users_8cpp__incl.gif" border="0" usemap="#users.cpp_map" alt="Include dependency graph"></center>
<map name="users.cpp_map">
-<area href="channels_8h.html" shape="rect" coords="272,155,344,176" alt="">
-<area href="base_8h.html" shape="rect" coords="225,85,273,107" alt="">
-<area href="users_8h.html" shape="rect" coords="143,224,193,245" alt="">
-<area href="connection_8h.html" shape="rect" coords="167,155,247,176" alt="">
+<area href="channels_8h.html" shape="rect" coords="277,155,349,176" alt="">
+<area href="base_8h.html" shape="rect" coords="276,85,324,107" alt="">
+<area href="users_8h.html" shape="rect" coords="176,224,227,245" alt="">
+<area href="connection_8h.html" shape="rect" coords="123,155,203,176" alt="">
</map>
<p>
<a href="users_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
</table>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:08 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:20 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>users.h</h1><a href="users_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>
00081
<a name="l00084"></a><a class="code" href="classuserrec.html#m3">00084</a> <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#m3">fullname</a>[128];
00085
-<a name="l00090"></a><a class="code" href="classuserrec.html#m4">00090</a> <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#m4">modes</a>[32];
+<a name="l00090"></a><a class="code" href="classuserrec.html#m4">00090</a> <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#m4">modes</a>[MAXBUF];
00091
<a name="l00092"></a><a class="code" href="classuserrec.html#m5">00092</a> <a class="code" href="classucrec.html">ucrec</a> <a class="code" href="classuserrec.html#m5">chans</a>[MAXCHANS];
00093
00140
00141
00142 <span class="preprocessor">#endif</span>
-</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:03 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:14 2004 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>
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</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>
+<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>users.h File Reference</h1><code>#include "inspircd_config.h"</code><br>
<code>#include "<a class="el" href="channels_8h-source.html">channels.h</a>"</code><br>
<code>#include "<a class="el" href="connection_8h-source.html">connection.h</a>"</code><br>
Definition at line <a class="el" href="users_8h-source.html#l00044">44</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
</tr>
</table>
-<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:08 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 4 23:02:21 2004 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>