]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Added new documentation
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Wed, 7 Apr 2004 18:21:29 +0000 (18:21 +0000)
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Wed, 7 Apr 2004 18:21:29 +0000 (18:21 +0000)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@424 e03df62e-2008-0410-955e-edbf42e46eb7

82 files changed:
docs/module-doc/annotated.html
docs/module-doc/base_8h-source.html
docs/module-doc/base_8h.html
docs/module-doc/channels_8cpp-source.html
docs/module-doc/channels_8cpp.html
docs/module-doc/channels_8h-source.html
docs/module-doc/channels_8h.html
docs/module-doc/classAdmin-members.html
docs/module-doc/classAdmin.html
docs/module-doc/classBanItem-members.html
docs/module-doc/classBanItem.html
docs/module-doc/classConfigReader-members.html
docs/module-doc/classConfigReader.html
docs/module-doc/classConfigReader__coll__graph.gif
docs/module-doc/classConnectClass-members.html
docs/module-doc/classConnectClass.html
docs/module-doc/classExemptItem-members.html
docs/module-doc/classExemptItem.html
docs/module-doc/classExtMode-members.html
docs/module-doc/classExtMode.html
docs/module-doc/classFileReader-members.html
docs/module-doc/classFileReader.html
docs/module-doc/classHostItem-members.html
docs/module-doc/classHostItem.html
docs/module-doc/classInviteItem-members.html
docs/module-doc/classInviteItem.html
docs/module-doc/classInvited-members.html
docs/module-doc/classInvited.html
docs/module-doc/classModeParameter-members.html
docs/module-doc/classModeParameter.html
docs/module-doc/classModule-members.html
docs/module-doc/classModule.html
docs/module-doc/classModuleFactory-members.html
docs/module-doc/classModuleFactory.html
docs/module-doc/classServer-members.html
docs/module-doc/classServer.html
docs/module-doc/classVersion-members.html
docs/module-doc/classVersion.html
docs/module-doc/classchanrec-members.html
docs/module-doc/classchanrec.html
docs/module-doc/classclassbase-members.html
docs/module-doc/classclassbase.html
docs/module-doc/classcommand__t-members.html
docs/module-doc/classcommand__t.html
docs/module-doc/classconnection-members.html
docs/module-doc/classconnection.html
docs/module-doc/classes.html
docs/module-doc/classpacket-members.html
docs/module-doc/classpacket.html
docs/module-doc/classserverrec-members.html
docs/module-doc/classserverrec.html
docs/module-doc/classucrec-members.html
docs/module-doc/classucrec.html
docs/module-doc/classuserrec-members.html
docs/module-doc/classuserrec.html
docs/module-doc/connection_8h-source.html
docs/module-doc/connection_8h.html
docs/module-doc/ctables_8h-source.html
docs/module-doc/ctables_8h.html
docs/module-doc/files.html
docs/module-doc/functions.html
docs/module-doc/globals.html
docs/module-doc/graph_legend.html
docs/module-doc/hierarchy.html
docs/module-doc/inherits.html
docs/module-doc/main.html
docs/module-doc/modules_8cpp-source.html
docs/module-doc/modules_8cpp.html
docs/module-doc/modules_8cpp__incl.gif
docs/module-doc/modules_8h-source.html
docs/module-doc/modules_8h.html
docs/module-doc/modules_8h__incl.gif
docs/module-doc/namespaces.html
docs/module-doc/namespacestd.html
docs/module-doc/servers_8cpp-source.html
docs/module-doc/servers_8cpp.html
docs/module-doc/servers_8h-source.html
docs/module-doc/servers_8h.html
docs/module-doc/users_8cpp-source.html
docs/module-doc/users_8cpp.html
docs/module-doc/users_8h-source.html
docs/module-doc/users_8h.html

index 8e1782cf2636ad323a16ed2b6bff8b481f530c4d..37b66f08b1169297baaea31ee1c75d82f8824844 100644 (file)
@@ -31,7 +31,7 @@
   <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 Tue Apr 6 21:13:39 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index 00032742042aa55c4148a52231d796706c55ea81..06e8dd74ede82641ae4639c490f039a8ef5b793c 100644 (file)
@@ -29,7 +29,7 @@
 00028 
 00029 <span class="preprocessor">#endif</span>
 00030 <span class="preprocessor"></span>
-</pre></div><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13:19 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index 35ac0526c996d2ade16226d7672eb1d2258c7905..e4299027d84de10121f9fa1e1e8a1cba2bea8d06 100644 (file)
@@ -34,7 +34,7 @@ This graph shows which files directly or indirectly include this file:<p><center
 <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classclassbase.html">classbase</a></td></tr>
 <tr><td>&nbsp;</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 Tue Apr 6 21:13:22 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index 8bb5e3ede89f496194bc6a0678ae232431629d83..de7bf1fb6c77cda82b649837215e9f3b855545cd 100644 (file)
 00098         }
 00099         <span class="keywordflow">return</span> std::string(<span class="stringliteral">""</span>);
 00100 }
-</pre></div><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13:19 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index 6530b425c6264d23a242d08692bf344c93ca3ec1..d64d85b606f650dcffb16570ac54f3e8dc791c63 100644 (file)
@@ -55,7 +55,7 @@ Definition at line <a class="el" href="channels_8cpp-source.html#l00010">10</a>
 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 Tue Apr 6 21:13:23 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index 9c19f3652ceb124684ab55ee7ae5b7edaf2329da..5a4b6d8fd5ea80d0255d9d9c603c2b491727d05b 100644 (file)
 00207 
 00208 <span class="preprocessor">#endif</span>
 00209 <span class="preprocessor"></span>
-</pre></div><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13:19 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index 3c0e91dbb17f9e97e10c7c1bd7f58ac278e80288..29dfca93d596f44130f5e48d6dd11662eba7f1ac 100644 (file)
@@ -258,7 +258,7 @@ Holds a complete invite list.
 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 Tue Apr 6 21:13:25 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index b1dd27e8329d5274b15b4f3feffb326dd14a885d..a3e60dd9341a7b6592340e6fb0efa4f8d599aa77 100644 (file)
@@ -14,7 +14,7 @@
   <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 Tue Apr 6 21:13:40 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index f9a98e2efe857b1132db0d92889ba5e9b6784ec2..cffa38dd683e511041444f5134db873453ce7104 100644 (file)
@@ -35,7 +35,7 @@ It is constructed by class <a class="el" href="classServer.html">Server</a>, and
 <p>
 
 <p>
-Definition at line <a class="el" href="modules_8h-source.html#l00078">78</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+Definition at line <a class="el" href="modules_8h-source.html#l00079">79</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a name="a0" doxytag="Admin::Admin"></a><p>
 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   <tr>
@@ -79,9 +79,9 @@ Definition at line <a class="el" href="modules_8h-source.html#l00078">78</a> of
 <p>
 
 <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#l00106">106</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<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) { };
+<div class="fragment"><pre>00106 : <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>
@@ -107,7 +107,7 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00105">105</a>
 <p>
 
 <p>
-Definition at line <a class="el" href="modules_8h-source.html#l00081">81</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#l00082">82</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.    </td>
   </tr>
 </table>
 <a name="m0" doxytag="Admin::Name"></a><p>
@@ -131,7 +131,7 @@ Definition at line <a class="el" href="modules_8h-source.html#l00081">81</a> of
 <p>
 
 <p>
-Definition at line <a class="el" href="modules_8h-source.html#l00081">81</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#l00082">82</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.    </td>
   </tr>
 </table>
 <a name="m2" doxytag="Admin::Nick"></a><p>
@@ -155,12 +155,12 @@ Definition at line <a class="el" href="modules_8h-source.html#l00081">81</a> of
 <p>
 
 <p>
-Definition at line <a class="el" href="modules_8h-source.html#l00081">81</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#l00082">82</a> of file <a class="el" href="modules_8h-source.html">modules.h</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 Tue Apr 6 21:13:40 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index 39cd4e14f94de22a3477bce5644ae347abd81c89..5dbdc2c2c1fb7803b8452ac710f4ab8621258c0d 100644 (file)
@@ -15,7 +15,7 @@
   <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 Tue Apr 6 21:13:42 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index dc17cfedae61b363d4f8d2e7f8597746351e37c6..fdca00743d724ee2d23cf9bbc3c9b64c385e0588 100644 (file)
@@ -31,7 +31,7 @@ A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to h
 <p>
 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 Tue Apr 6 21:13:42 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index 1b86845c8d06185df192af0c148917b9ee20b726..c631c192981260ff853d55e420f95afb4c7f67a1 100644 (file)
@@ -8,16 +8,17 @@
 <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
 <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="classConfigReader.html#n0">cache</a></td><td><a class="el" href="classConfigReader.html">ConfigReader</a></td><td><code> [protected]</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="classConfigReader.html#a0">ConfigReader</a>()</td><td><a class="el" href="classConfigReader.html">ConfigReader</a></td><td></td></tr>
   <tr bgcolor="#f0f0f0"><td><a class="el" href="classConfigReader.html#a1">ConfigReader</a>(std::string filename)</td><td><a class="el" href="classConfigReader.html">ConfigReader</a></td><td></td></tr>
   <tr bgcolor="#f0f0f0"><td><a class="el" href="classConfigReader.html#a4">Enumerate</a>(std::string tag)</td><td><a class="el" href="classConfigReader.html">ConfigReader</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><a class="el" href="classConfigReader.html#n0">fname</a></td><td><a class="el" href="classConfigReader.html">ConfigReader</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classConfigReader.html#n1">error</a></td><td><a class="el" href="classConfigReader.html">ConfigReader</a></td><td><code> [protected]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><a class="el" href="classConfigReader.html#a3">ReadValue</a>(std::string tag, std::string name, int index)</td><td><a class="el" href="classConfigReader.html">ConfigReader</a></td><td></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 Tue Apr 6 21:13:50 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:37 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>
index f19df250a80fa171d78908c5987e16d9012392c2..1e56ef39b56cc8105676b8b2b4fb23821999c9ab 100644 (file)
@@ -35,8 +35,10 @@ Inheritance diagram for ConfigReader:<p><center><img src="classConfigReader__inh
 <tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classConfigReader.html#a5">Verify</a> ()</td></tr>
 <tr><td>&nbsp;</td><td><font size=-1><em>Returns true if a config file is valid.</em> <a href="#a5"></a><em></em></font><br><br></td></tr>
 <tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
-<tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classConfigReader.html#n0">fname</a></td></tr>
-<tr><td>&nbsp;</td><td><font size=-1><em>The filename of the configuration file, as set by the constructor.</em> <a href="#n0"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>std::stringstream *&nbsp;</td><td valign=bottom><a class="el" href="classConfigReader.html#n0">cache</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>The contents of the configuration file This protected member should never be accessed by a module (and cannot be accessed unless the core is changed).</em> <a href="#n0"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classConfigReader.html#n1">error</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Used to store errors.</em> <a href="#n1"></a><em></em></font><br><br></td></tr>
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
 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.
@@ -45,7 +47,7 @@ It may either be instantiated with one parameter or none. Constructing the class
 <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 &amp; Destructor Documentation</h2>
+Definition at line <a class="el" href="modules_8h-source.html#l00469">469</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a name="a0" doxytag="ConfigReader::ConfigReader"></a><p>
 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   <tr>
@@ -75,13 +77,14 @@ Default constructor.
 <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#l00296">296</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#l00319">319</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-References <a class="el" href="modules_8h-source.html#l00453">fname</a>.
+References <a class="el" href="modules_8h-source.html#l00477">cache</a>, and <a class="el" href="modules_8h-source.html#l00480">error</a>.
 <p>
-<div class="fragment"><pre>00297 {
-00298         <a class="code" href="classConfigReader.html#n0">fname</a> = CONFIG_FILE;
-00299 }
+<div class="fragment"><pre>00320 {
+00321         this-&gt;<a class="code" href="classConfigReader.html#n0">cache</a> = <span class="keyword">new</span> std::stringstream(stringstream::in | stringstream::out);
+00322         this-&gt;<a class="code" href="classConfigReader.html#n1">error</a> = LoadConf(CONFIG_FILE,this-&gt;cache);
+00323 }
 </pre></div>    </td>
   </tr>
 </table>
@@ -115,9 +118,14 @@ Overloaded constructor.
 <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#l00307">307</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>
-<div class="fragment"><pre>00307 : <a class="code" href="classConfigReader.html#n0">fname</a>(filename) { };
+References <a class="el" href="modules_8h-source.html#l00477">cache</a>, and <a class="el" href="modules_8h-source.html#l00480">error</a>.
+<p>
+<div class="fragment"><pre>00334 {
+00335         this-&gt;<a class="code" href="classConfigReader.html#n0">cache</a> = <span class="keyword">new</span> std::stringstream(stringstream::in | stringstream::out);
+00336         this-&gt;<a class="code" href="classConfigReader.html#n1">error</a> = LoadConf(filename.c_str(),this-&gt;<a class="code" href="classConfigReader.html#n0">cache</a>);
+00337 };
 </pre></div>    </td>
   </tr>
 </table>
@@ -150,10 +158,14 @@ Default destructor.
 <p>
 This method destroys the ConfigReader class.
 <p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00302">302</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#l00326">326</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+<p>
+References <a class="el" href="modules_8h-source.html#l00477">cache</a>.
 <p>
-<div class="fragment"><pre>00303 {
-00304 }
+<div class="fragment"><pre>00327 {
+00328         <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classConfigReader.html#n0">cache</a>)
+00329                 <span class="keyword">delete</span> this-&gt;<a class="code" href="classConfigReader.html#n0">cache</a>;
+00330 }
 </pre></div>    </td>
   </tr>
 </table>
@@ -188,13 +200,11 @@ Counts the number of times a given tag appears in the config file.
 <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#l00317">317</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#l00347">347</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-References <a class="el" href="modules_8h-source.html#l00453">fname</a>.
-<p>
-<div class="fragment"><pre>00318 {
-00319         <span class="keywordflow">return</span> EnumConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str());
-00320 }
+<div class="fragment"><pre>00348 {
+00349         <span class="keywordflow">return</span> EnumConf(cache,tag.c_str());
+00350 }
 </pre></div>    </td>
   </tr>
 </table>
@@ -243,15 +253,13 @@ Retrieves a value from the config file.
 <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#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#l00453">fname</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00339">339</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<div class="fragment"><pre>00310 {
-00311         <span class="keywordtype">char</span> val[MAXBUF];
-00312         ReadConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str(),name.c_str(),index,val);
-00313         <span class="keywordflow">return</span> val;
-00314 }
+<div class="fragment"><pre>00340 {
+00341         <span class="keywordtype">char</span> val[MAXBUF];
+00342         ReadConf(cache,tag.c_str(),name.c_str(),index,val);
+00343         <span class="keywordflow">return</span> val;
+00344 }
 </pre></div>    </td>
   </tr>
 </table>
@@ -282,24 +290,54 @@ References <a class="el" href="modules_8h-source.html#l00453">fname</a>.
 <p>
 Returns true if a config file is valid.
 <p>
-This method is unimplemented and will always return true.
+This method is partially implemented and will only return false if the config file does not exist or could not be opened.
 <p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00323">323</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#l00353">353</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<div class="fragment"><pre>00324 {
-00325         <span class="keywordflow">return</span> <span class="keyword">true</span>;
-00326 }
+References <a class="el" href="modules_8h-source.html#l00480">error</a>.
+<p>
+<div class="fragment"><pre>00354 {
+00355         <span class="keywordflow">return</span> this-&gt;<a class="code" href="classConfigReader.html#n1">error</a>;
+00356 }
 </pre></div>    </td>
   </tr>
 </table>
 <hr><h2>Member Data Documentation</h2>
-<a name="n0" doxytag="ConfigReader::fname"></a><p>
+<a name="n0" doxytag="ConfigReader::cache"></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::stringstream* ConfigReader::cache<code> [protected]</code>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+The contents of the configuration file This protected member should never be accessed by a module (and cannot be accessed unless the core is changed).
+<p>
+It will contain a pointer to the configuration file data with unneeded data (such as comments) stripped from it.
+<p>
+Definition at line <a class="el" href="modules_8h-source.html#l00477">477</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#l00319">ConfigReader()</a>, and <a class="el" href="modules_8cpp-source.html#l00326">~ConfigReader()</a>.    </td>
+  </tr>
+</table>
+<a name="n1" doxytag="ConfigReader::error"></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 ConfigReader::fname<code> [protected]</code>
+          <td class="md" nowrap valign="top"> bool ConfigReader::error<code> [protected]</code>
       </table>
     </td>
   </tr>
@@ -312,18 +350,18 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00323">323</a>
     <td>
 
 <p>
-The filename of the configuration file, as set by the constructor.
+Used to store errors.
 <p>
 
 <p>
-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>.
+Definition at line <a class="el" href="modules_8h-source.html#l00480">480</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#l00296">ConfigReader()</a>, <a class="el" href="modules_8cpp-source.html#l00317">Enumerate()</a>, and <a class="el" href="modules_8cpp-source.html#l00309">ReadValue()</a>.    </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00319">ConfigReader()</a>, and <a class="el" href="modules_8cpp-source.html#l00353">Verify()</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 Tue Apr 6 21:13:50 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:37 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>
index 71ec86efaf2f9b22751308c98fa88c2d03914791..24e6715dc3d67270eb7f4c11e3251c8752370229 100644 (file)
Binary files a/docs/module-doc/classConfigReader__coll__graph.gif and b/docs/module-doc/classConfigReader__coll__graph.gif differ
index e52b029ec15ef517db65fe864a34bff06f9f8806..db1aa1475b8030a5beb4e5749fcf5183f00cdf37 100644 (file)
@@ -15,7 +15,7 @@
   <tr bgcolor="#f0f0f0"><td><a class="el" href="classConnectClass.html#m1">registration_timeout</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 Tue Apr 6 21:13:52 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:39 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>
index 3a3fcfbbfe5fcbfc81e75a59ada4a0e253c08089..60c0e6e440d78de7170072088b9d8319cbe3d537 100644 (file)
@@ -171,7 +171,7 @@ Definition at line <a class="el" href="users_8h-source.html#l00037">37</a> of fi
 </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 Tue Apr 6 21:13:52 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:39 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>
index 6cd3e1510bb7b14f5b4f845889728ca9c0f6fff7..6d587584760fcea1f4019b8783a83c33b3f94700 100644 (file)
@@ -15,7 +15,7 @@
   <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 Tue Apr 6 21:13:56 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:42 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>
index 23035997b11ed3879d3c7c0d7f50332d09ae11b2..56b8ad60d6bce29e2e244cc5c5238b3d68f8b886 100644 (file)
@@ -31,7 +31,7 @@ A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to h
 <p>
 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 Tue Apr 6 21:13:56 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:42 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>
index d8120c0818d7187417440b675d831a5ebb23cf90..db605f8b380a271f1985531c9396815984482613 100644 (file)
@@ -13,7 +13,7 @@
   <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 Tue Apr 6 21:13:57 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:43 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>
index 40350bd952b08e2ffbdc8165a5a292c0c7795ce4..1d86b76412e5ad17f9f13b3df87909f0a5f304b5 100644 (file)
@@ -74,9 +74,9 @@
 <p>
 
 <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>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00026">26</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#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) { };
+<div class="fragment"><pre>00026 : <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>
@@ -102,7 +102,7 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00025">25</a> o
 <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#l00021">21</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.    </td>
   </tr>
 </table>
 <a name="m4" doxytag="ExtMode::needsoper"></a><p>
@@ -126,7 +126,7 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00020">20</a> o
 <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#l00025">25</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.    </td>
   </tr>
 </table>
 <a name="m3" doxytag="ExtMode::params_when_off"></a><p>
@@ -150,7 +150,7 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00024">24</a> o
 <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#l00024">24</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.    </td>
   </tr>
 </table>
 <a name="m2" doxytag="ExtMode::params_when_on"></a><p>
@@ -174,7 +174,7 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00023">23</a> o
 <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#l00023">23</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>
@@ -198,12 +198,12 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00022">22</a> o
 <p>
 
 <p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00021">21</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>
 <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 Tue Apr 6 21:13:57 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:43 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>
index 19d5078e6bf2a305bb330ba04e6f8ec0bb29c16a..449dbb0191063100c9c152d66acf7fcfff579b80 100644 (file)
@@ -18,7 +18,7 @@
   <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 Tue Apr 6 21:13:59 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:44 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>
index 54dfd90e27597994789e367b340087c9b12129bb..000c829b8a53cca5a8f29d3ab5d11c585f79bec1 100644 (file)
@@ -31,8 +31,8 @@ Inheritance diagram for FileReader:<p><center><img src="classFileReader__inherit
 <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classFileReader.html#a3">LoadFile</a> (std::string filename)</td></tr>
 <tr><td>&nbsp;</td><td><font size=-1><em>Used to load a file.</em> <a href="#a3"></a><em></em></font><br><br></td></tr>
 <tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classFileReader.html#a4">Exists</a> ()</td></tr>
-<tr><td>&nbsp;</td><td><font size=-1><em>Retrieve one line from the file.</em> <a href="#a4"></a><em></em></font><br><br></td></tr>
 <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classFileReader.html#a5">GetLine</a> (int x)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Retrieve one line from the file.</em> <a href="#a5"></a><em></em></font><br><br></td></tr>
 <tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classFileReader.html#a6">FileSize</a> ()</td></tr>
 <tr><td>&nbsp;</td><td><font size=-1><em>Returns the size of the file in lines.</em> <a href="#a6"></a><em></em></font><br><br></td></tr>
 <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
@@ -45,7 +45,7 @@ This class contains methods for read-only manipulation of a text file in memory.
 <p>
 
 <p>
-Definition at line <a class="el" href="modules_8h-source.html#l00493">493</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+Definition at line <a class="el" href="modules_8h-source.html#l00522">522</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a name="a0" doxytag="FileReader::FileReader"></a><p>
 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   <tr>
@@ -75,10 +75,10 @@ Default constructor.
 <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#l00336">336</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#l00366">366</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<div class="fragment"><pre>00337 {
-00338 }
+<div class="fragment"><pre>00367 {
+00368 }
 </pre></div>    </td>
   </tr>
 </table>
@@ -112,15 +112,15 @@ Secondary constructor.
 <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#l00329">329</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#l00359">359</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-References <a class="el" href="modules_8h-source.html#l00495">fc</a>, and <a class="el" href="modules_8h-source.html#l00029">file_cache</a>.
+References <a class="el" href="modules_8h-source.html#l00524">fc</a>, and <a class="el" href="modules_8h-source.html#l00030">file_cache</a>.
 <p>
-<div class="fragment"><pre>00330 {
-00331         <a class="code" href="modules_8h.html#a10">file_cache</a> c;
-00332         readfile(c,filename.c_str());
-00333         this-&gt;<a class="code" href="classFileReader.html#o0">fc</a> = c;
-00334 }
+<div class="fragment"><pre>00360 {
+00361         <a class="code" href="modules_8h.html#a10">file_cache</a> c;
+00362         readfile(c,filename.c_str());
+00363         this-&gt;<a class="code" href="classFileReader.html#o0">fc</a> = c;
+00364 }
 </pre></div>    </td>
   </tr>
 </table>
@@ -153,10 +153,10 @@ Default destructor.
 <p>
 This deletes the memory allocated to the file.
 <p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00348">348</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#l00378">378</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<div class="fragment"><pre>00349 {
-00350 }
+<div class="fragment"><pre>00379 {
+00380 }
 </pre></div>    </td>
   </tr>
 </table>
@@ -186,24 +186,22 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00348">348</a>
     <td>
 
 <p>
-Retrieve one line from the file.
-<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#l00352">352</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#l00382">382</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-References <a class="el" href="modules_8h-source.html#l00495">fc</a>.
+References <a class="el" href="modules_8h-source.html#l00524">fc</a>.
 <p>
-<div class="fragment"><pre>00353 {
-00354         <span class="keywordflow">if</span> (<a class="code" href="classFileReader.html#o0">fc</a>.size() == 0)
-00355         {
-00356                 <span class="keywordflow">return</span>(false);
-00357         }
-00358         <span class="keywordflow">else</span>
-00359         {
-00360                 <span class="keywordflow">return</span>(true);
-00361         }
-00362 }
+<div class="fragment"><pre>00383 {
+00384         <span class="keywordflow">if</span> (<a class="code" href="classFileReader.html#o0">fc</a>.size() == 0)
+00385         {
+00386                 <span class="keywordflow">return</span>(false);
+00387         }
+00388         <span class="keywordflow">else</span>
+00389         {
+00390                 <span class="keywordflow">return</span>(true);
+00391         }
+00392 }
 </pre></div>    </td>
   </tr>
 </table>
@@ -236,13 +234,13 @@ Returns the size of the file in lines.
 <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#l00371">371</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#l00401">401</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-References <a class="el" href="modules_8h-source.html#l00495">fc</a>.
+References <a class="el" href="modules_8h-source.html#l00524">fc</a>.
 <p>
-<div class="fragment"><pre>00372 {
-00373         <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>.size();
-00374 }
+<div class="fragment"><pre>00402 {
+00403         <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>.size();
+00404 }
 </pre></div>    </td>
   </tr>
 </table>
@@ -272,17 +270,19 @@ References <a class="el" href="modules_8h-source.html#l00495">fc</a>.
     <td>
 
 <p>
-
+Retrieve one line from the file.
+<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#l00364">364</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#l00394">394</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-References <a class="el" href="modules_8h-source.html#l00495">fc</a>.
+References <a class="el" href="modules_8h-source.html#l00524">fc</a>.
 <p>
-<div class="fragment"><pre>00365 {
-00366         <span class="keywordflow">if</span> ((x&lt;0) || (x&gt;<a class="code" href="classFileReader.html#o0">fc</a>.size()))
-00367                 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
-00368         <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>[x];
-00369 }
+<div class="fragment"><pre>00395 {
+00396         <span class="keywordflow">if</span> ((x&lt;0) || (x&gt;<a class="code" href="classFileReader.html#o0">fc</a>.size()))
+00397                 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
+00398         <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>[x];
+00399 }
 </pre></div>    </td>
   </tr>
 </table>
@@ -316,15 +316,15 @@ Used to load a file.
 <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#l00340">340</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#l00370">370</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-References <a class="el" href="modules_8h-source.html#l00495">fc</a>, and <a class="el" href="modules_8h-source.html#l00029">file_cache</a>.
+References <a class="el" href="modules_8h-source.html#l00524">fc</a>, and <a class="el" href="modules_8h-source.html#l00030">file_cache</a>.
 <p>
-<div class="fragment"><pre>00341 {
-00342         <a class="code" href="modules_8h.html#a10">file_cache</a> c;
-00343         readfile(c,filename.c_str());
-00344         this-&gt;<a class="code" href="classFileReader.html#o0">fc</a> = c;
-00345 }
+<div class="fragment"><pre>00371 {
+00372         <a class="code" href="modules_8h.html#a10">file_cache</a> c;
+00373         readfile(c,filename.c_str());
+00374         this-&gt;<a class="code" href="classFileReader.html#o0">fc</a> = c;
+00375 }
 </pre></div>    </td>
   </tr>
 </table>
@@ -350,14 +350,14 @@ References <a class="el" href="modules_8h-source.html#l00495">fc</a>, and <a cla
 <p>
 
 <p>
-Definition at line <a class="el" href="modules_8h-source.html#l00495">495</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#l00524">524</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#l00352">Exists()</a>, <a class="el" href="modules_8cpp-source.html#l00329">FileReader()</a>, <a class="el" href="modules_8cpp-source.html#l00371">FileSize()</a>, <a class="el" href="modules_8cpp-source.html#l00364">GetLine()</a>, and <a class="el" href="modules_8cpp-source.html#l00340">LoadFile()</a>.    </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00382">Exists()</a>, <a class="el" href="modules_8cpp-source.html#l00359">FileReader()</a>, <a class="el" href="modules_8cpp-source.html#l00401">FileSize()</a>, <a class="el" href="modules_8cpp-source.html#l00394">GetLine()</a>, and <a class="el" href="modules_8cpp-source.html#l00370">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 Tue Apr 6 21:13:59 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:44 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>
index c38516921d6de8b674f63dbfb36811e87d077744..eda9c28427e75ae66765cedd207bf5db03dd0e15 100644 (file)
@@ -15,7 +15,7 @@
   <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 Tue Apr 6 21:14:01 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:45 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>
index c414e50eab88caed4284c2046a7af3da335e82ae..569fb0bc5475a92f06af24b13e4d36f7f4d784df 100644 (file)
@@ -181,7 +181,7 @@ Definition at line <a class="el" href="channels_8h-source.html#l00021">21</a> of
 </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 Tue Apr 6 21:14:01 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:45 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>
index 2698d97dcd1bf5e407ecad1c57f68a55f96e4900..657d9c637a36d2db6bde72902204b71b23e434ba 100644 (file)
@@ -15,7 +15,7 @@
   <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 Tue Apr 6 21:14:04 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:47 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>
index 16beb7763c25e3320558ef7a849d540822e1e3a0..fe9bea3b23c6396c1ab68801268b1614c6060afa 100644 (file)
@@ -31,7 +31,7 @@ A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to h
 <p>
 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 Tue Apr 6 21:14:04 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:47 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>
index 837df1cfc1933018c797c13b2ea8d7cbcc7d42d0..199390a0cf2fb60cb7c10a86e5b3c410958d5425 100644 (file)
@@ -11,7 +11,7 @@
   <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 Tue Apr 6 21:14:02 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:46 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>
index 6e276c7a6a823da2f5674cb4747a10e3671f0370..f8768aa6cb87c79a255b99afc0cd62f87a5a21c0 100644 (file)
@@ -58,7 +58,7 @@ Referenced by <a class="el" href="users_8cpp-source.html#l00064">userrec::Invite
 </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 Tue Apr 6 21:14:02 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:46 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>
index f5798aeedd0600de6e8c4b2f2a2225a301c44c8c..20ba3d46bf0785485b56ed64e5f1761f70dbb2d6 100644 (file)
@@ -13,7 +13,7 @@
   <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 Tue Apr 6 21:14:06 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:49 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>
index cf5fab601a59282ba03d28cebac5d4506398bba3..164a0b9b7e21144e2c837f990558d697276f647e 100644 (file)
@@ -114,7 +114,7 @@ Referenced by <a class="el" href="channels_8cpp-source.html#l00050">chanrec::Set
 </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 Tue Apr 6 21:14:06 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:49 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>
index 92f1e22610a99b371f9d11fb5c86a8c2d38d3035..33dca5d0ef7bc8485df84ef30b516e0aa11dca2d 100644 (file)
@@ -28,7 +28,7 @@
   <tr bgcolor="#f0f0f0"><td><a class="el" href="classModule.html#a15">OnWhois</a>(userrec *source, userrec *dest)</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 Tue Apr 6 21:14:07 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:50 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>
index 8520f7bbc96929834fc656468930ee8bd3cf74d0..6609129f46ec27cbd261276fd5533ea4efa2a4d8 100644 (file)
@@ -66,7 +66,7 @@ All modules must inherit from this class, its methods will be called when irc se
 <p>
 
 <p>
-Definition at line <a class="el" href="modules_8h-source.html#l00090">90</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+Definition at line <a class="el" href="modules_8h-source.html#l00091">91</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a name="a0" doxytag="Module::Module"></a><p>
 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   <tr>
@@ -96,9 +96,9 @@ Default constructor creates a module class.
 <p>
 
 <p>
-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>.
+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>00107 { }
+<div class="fragment"><pre>00108 { }
 </pre></div>    </td>
   </tr>
 </table>
@@ -131,9 +131,9 @@ Default destructor destroys a module class.
 <p>
 
 <p>
-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>.
+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>00108 { }
+<div class="fragment"><pre>00109 { }
 </pre></div>    </td>
   </tr>
 </table>
@@ -167,9 +167,9 @@ Returns the version number of a Module.
 <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#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#l00120">120</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<div class="fragment"><pre>00119 { <span class="keywordflow">return</span> <a class="code" href="classVersion.html">Version</a>(1,0,0,0); }
+<div class="fragment"><pre>00120 { <span class="keywordflow">return</span> <a class="code" href="classVersion.html">Version</a>(1,0,0,0); }
 </pre></div>    </td>
   </tr>
 </table>
@@ -234,11 +234,11 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00119">119</a>
 <p>
 Called whenever an extended mode is to be processed.
 <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 a channel mode, target is a chanrec*, and if it is a user mode, target is a userrec*. You must cast this value yourself to make use of it.
+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#a20">Server::AddExtendedMode</a> If the mode is a channel mode, target is a chanrec*, and if it is a user mode, target is a userrec*. You must cast this value yourself to make use of it.
 <p>
-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>.
+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>00118 { }
+<div class="fragment"><pre>00119 { }
 </pre></div>    </td>
   </tr>
 </table>
@@ -273,9 +273,9 @@ Called whenever a user types /INFO.
 The userrec will contain the information of the user who typed the command. Modules may use this method to output their own credits in /INFO (which is the ircd's version of an about box). It is purposefully not possible to modify any info that has already been output, or halt the list. You must write a 371 numeric to the user, containing your info in the following format:<p>
 :information here
 <p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00121">121</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#l00122">122</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<div class="fragment"><pre>00121 { };
+<div class="fragment"><pre>00122 { };
 </pre></div>    </td>
   </tr>
 </table>
@@ -309,9 +309,9 @@ Called whenever a user opers locally.
 <p>
 The userrec will contain the oper mode 'o' as this function is called after any modifications are made to the user's structure by the core.
 <p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00120">120</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#l00121">121</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<div class="fragment"><pre>00120 { };
+<div class="fragment"><pre>00121 { };
 </pre></div>    </td>
   </tr>
 </table>
@@ -345,9 +345,9 @@ Called after a packet is received from another irc server.
 <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#l00114">114</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>00114 { }
+<div class="fragment"><pre>00115 { }
 </pre></div>    </td>
   </tr>
 </table>
@@ -381,9 +381,9 @@ Called before a packet is transmitted across the irc network between two irc ser
 <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#l00113">113</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>00113 { }
+<div class="fragment"><pre>00114 { }
 </pre></div>    </td>
   </tr>
 </table>
@@ -416,9 +416,9 @@ Called on rehash.
 <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#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#l00116">116</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<div class="fragment"><pre>00115 { }
+<div class="fragment"><pre>00116 { }
 </pre></div>    </td>
   </tr>
 </table>
@@ -461,9 +461,9 @@ Called when a raw command is transmitted or received.
 <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#l00116">116</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#l00117">117</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<div class="fragment"><pre>00116 { }
+<div class="fragment"><pre>00117 { }
 </pre></div>    </td>
   </tr>
 </table>
@@ -497,9 +497,9 @@ Called when a user connects.
 <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#l00109">109</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>00109 { }
+<div class="fragment"><pre>00110 { }
 </pre></div>    </td>
   </tr>
 </table>
@@ -542,9 +542,9 @@ Called when a user joins a channel.
 <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#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#l00112">112</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<div class="fragment"><pre>00111 { }
+<div class="fragment"><pre>00112 { }
 </pre></div>    </td>
   </tr>
 </table>
@@ -587,9 +587,9 @@ Called when a user parts a channel.
 <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#l00112">112</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>00112 { }
+<div class="fragment"><pre>00113 { }
 </pre></div>    </td>
   </tr>
 </table>
@@ -640,9 +640,9 @@ Returning any nonzero value from this function stops the process immediately, ca
 IMPORTANT NOTE!<p>
 If the user joins a NEW channel which does not exist yet, OnUserPreJoin will be called BEFORE the channel record is created. This will cause chanrec* chan to be NULL. There is very little you can do in form of processing on the actual channel record at this point, however the channel NAME will still be passed in char* cname, so that you could for example implement a channel blacklist or whitelist, etc.
 <p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00117">117</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>00117 { <span class="keywordflow">return</span> 0; }
+<div class="fragment"><pre>00118 { <span class="keywordflow">return</span> 0; }
 </pre></div>    </td>
   </tr>
 </table>
@@ -697,9 +697,9 @@ Called whenever a user is about to PRIVMSG A user or a channel, before any proce
 <p>
 Returning any nonzero value from this function stops the process immediately, causing no output to be sent to the user by the core. If you do this you must produce your own numerics, notices etc. This is useful for modules which may want to filter or redirect messages. target_type can be one of TYPE_USER or TYPE_CHANNEL. If the target_type value is a user, you must cast dest to a userrec* otherwise you must cast it to a chanrec*, this is the details of where the message is destined to be sent.
 <p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00123">123</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#l00124">124</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<div class="fragment"><pre>00123 { <span class="keywordflow">return</span> 0; };
+<div class="fragment"><pre>00124 { <span class="keywordflow">return</span> 0; };
 </pre></div>    </td>
   </tr>
 </table>
@@ -754,9 +754,9 @@ Called whenever a user is about to NOTICE A user or a channel, before any proces
 <p>
 Returning any nonzero value from this function stops the process immediately, causing no output to be sent to the user by the core. If you do this you must produce your own numerics, notices etc. This is useful for modules which may want to filter or redirect messages. target_type can be one of TYPE_USER or TYPE_CHANNEL. If the target_type value is a user, you must cast dest to a userrec* otherwise you must cast it to a chanrec*, this is the details of where the message is destined to be sent.
 <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#l00125">125</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<div class="fragment"><pre>00124 { <span class="keywordflow">return</span> 0; };
+<div class="fragment"><pre>00125 { <span class="keywordflow">return</span> 0; };
 </pre></div>    </td>
   </tr>
 </table>
@@ -790,9 +790,9 @@ Called when a user quits.
 <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#l00110">110</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>00110 { }
+<div class="fragment"><pre>00111 { }
 </pre></div>    </td>
   </tr>
 </table>
@@ -835,15 +835,15 @@ Called whenever a /WHOIS is performed on a local user.
 <p>
 The source parameter contains the details of the user who issued the WHOIS command, and the dest parameter contains the information of the user they are whoising.
 <p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00122">122</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#l00123">123</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<div class="fragment"><pre>00122 { };
+<div class="fragment"><pre>00123 { };
 </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 Tue Apr 6 21:14:07 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:50 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>
index cf9858b06c491e220c9ec94ba3c5ec748fcee2a7..523c611a4a7d2e099391591156b58e77541d3231 100644 (file)
@@ -13,7 +13,7 @@
   <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 Tue Apr 6 21:14:09 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:51 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>
index 851e1e64686727a5942801ba1beb11da43b3aec4..0dd282315877e46143a4ad602c14f34681642d9f 100644 (file)
@@ -34,7 +34,7 @@ This is to allow for modules to create many different variants of <a class="el"
 <p>
 
 <p>
-Definition at line <a class="el" href="modules_8h-source.html#l00539">539</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+Definition at line <a class="el" href="modules_8h-source.html#l00574">574</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a name="a0" doxytag="ModuleFactory::ModuleFactory"></a><p>
 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   <tr>
@@ -62,9 +62,9 @@ Definition at line <a class="el" href="modules_8h-source.html#l00539">539</a> of
 <p>
 
 <p>
-Definition at line <a class="el" href="modules_8h-source.html#l00542">542</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#l00577">577</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
 <p>
-<div class="fragment"><pre>00542 { }
+<div class="fragment"><pre>00577 { }
 </pre></div>    </td>
   </tr>
 </table>
@@ -95,9 +95,9 @@ Definition at line <a class="el" href="modules_8h-source.html#l00542">542</a> of
 <p>
 
 <p>
-Definition at line <a class="el" href="modules_8h-source.html#l00543">543</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#l00578">578</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
 <p>
-<div class="fragment"><pre>00543 { }
+<div class="fragment"><pre>00578 { }
 </pre></div>    </td>
   </tr>
 </table>
@@ -134,7 +134,7 @@ Your inherited class of ModuleFactory must return a pointer to your <a class="el
 </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 Tue Apr 6 21:14:09 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:51 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>
index f00c656b24e9e87abb43344b2d8283c301d0e906..7234bba5f3302ad246b20aa32cbadb89abfeead0 100644 (file)
@@ -7,37 +7,39 @@
 <center>
 <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
 <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 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="classServer.html#a21">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#a20">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#a25">ChangeUserNick</a>(userrec *user, std::string nickname)</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#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="classServer.html#a26">ChangeUserNick</a>(userrec *user, std::string nickname)</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#a16">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#a9">CommonChannels</a>(userrec *u1, userrec *u2)</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#a14">FindChannel</a>(std::string channel)</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#a13">FindNick</a>(std::string nick)</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#a18">GetAdmin</a>()</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#a17">GetNetworkName</a>()</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#a16">GetServerName</a>()</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#a13">CountUsers</a>(chanrec *c)</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#a15">FindChannel</a>(std::string channel)</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#a14">FindNick</a>(std::string nick)</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">GetAdmin</a>()</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#a18">GetNetworkName</a>()</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#a17">GetServerName</a>()</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#a12">IsNick</a>(std::string nick)</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#a24">JoinUserToChannel</a>(userrec *user, std::string cname, std::string key)</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#a3">Log</a>(int level, std::string s)</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#a26">QuitUser</a>(userrec *user, std::string reason)</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#a28">MatchText</a>(std::string sliteral, std::string spattern)</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#a25">PartUserFromChannel</a>(userrec *user, std::string cname, std::string reason)</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#a27">QuitUser</a>(userrec *user, std::string reason)</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#a4">Send</a>(int Socket, std::string s)</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#a8">SendChannel</a>(userrec *User, chanrec *Channel, std::string s, bool IncludeSender)</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#a10">SendCommon</a>(userrec *User, std::string text, bool IncludeSender)</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#a6">SendFrom</a>(int Socket, userrec *User, std::string s)</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#a21">SendMode</a>(char **parameters, int pcnt, userrec *user)</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#a22">SendMode</a>(char **parameters, int pcnt, userrec *user)</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#a2">SendOpers</a>(std::string s)</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#a5">SendServ</a>(int Socket, std::string s)</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#a7">SendTo</a>(userrec *Source, userrec *Dest, std::string s)</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#a22">SendToModeMask</a>(std::string modes, int flags, std::string text)</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#a23">SendToModeMask</a>(std::string modes, int flags, std::string text)</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#a11">SendWallops</a>(userrec *User, std::string text)</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#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="classServer.html#a23">Server::JoinUserToChannel</a>(userrec *user, std::string cname, std::string key)</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#a24">Server::PartUserFromChannel</a>(userrec *user, std::string cname, std::string reason)</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#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 Tue Apr 6 21:14:13 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:54 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>
index a37bd6257eef906a46fad208caaccdfff0caa4d0..37cd97528c776c4d4d2b2411f40bd1d852382d87 100644 (file)
@@ -48,34 +48,38 @@ Inheritance diagram for Server:<p><center><img src="classServer__inherit__graph.
 <tr><td>&nbsp;</td><td><font size=-1><em>Sends a WALLOPS message.</em> <a href="#a11"></a><em></em></font><br><br></td></tr>
 <tr><td nowrap align=right valign=top>virtual bool&nbsp;</td><td valign=bottom><a class="el" href="classServer.html#a12">IsNick</a> (std::string nick)</td></tr>
 <tr><td>&nbsp;</td><td><font size=-1><em>Returns true if a nick is valid.</em> <a href="#a12"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>virtual <a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td><td valign=bottom><a class="el" href="classServer.html#a13">FindNick</a> (std::string nick)</td></tr>
-<tr><td>&nbsp;</td><td><font size=-1><em>Attempts to look up a nick and return a pointer to it.</em> <a href="#a13"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>virtual <a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td><td valign=bottom><a class="el" href="classServer.html#a14">FindChannel</a> (std::string channel)</td></tr>
-<tr><td>&nbsp;</td><td><font size=-1><em>Attempts to look up a channel and return a pointer to it.</em> <a href="#a14"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>virtual std::string&nbsp;</td><td valign=bottom><a class="el" href="classServer.html#a15">ChanMode</a> (<a class="el" href="classuserrec.html">userrec</a> *User, <a class="el" href="classchanrec.html">chanrec</a> *Chan)</td></tr>
-<tr><td>&nbsp;</td><td><font size=-1><em>Attempts to look up a user's privilages on a channel.</em> <a href="#a15"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>virtual std::string&nbsp;</td><td valign=bottom><a class="el" href="classServer.html#a16">GetServerName</a> ()</td></tr>
-<tr><td>&nbsp;</td><td><font size=-1><em>Returns the server name of the server where the module is loaded.</em> <a href="#a16"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>virtual std::string&nbsp;</td><td valign=bottom><a class="el" href="classServer.html#a17">GetNetworkName</a> ()</td></tr>
-<tr><td>&nbsp;</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>&nbsp;</td><td valign=bottom><a class="el" href="classServer.html#a18">GetAdmin</a> ()</td></tr>
-<tr><td>&nbsp;</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&nbsp;</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>&nbsp;</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&nbsp;</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>&nbsp;</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>
-<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classServer.html#a21">SendMode</a> (char **parameters, int pcnt, <a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
-<tr><td>&nbsp;</td><td><font size=-1><em>Sends a servermode.</em> <a href="#a21"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classServer.html#a22">SendToModeMask</a> (std::string modes, int flags, std::string text)</td></tr>
-<tr><td>&nbsp;</td><td><font size=-1><em>Sends to all users matching a mode mask You must specify one or more usermodes as the first parameter.</em> <a href="#a22"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>virtual <a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td><td valign=bottom><a class="el" href="classServer.html#a23">Server::JoinUserToChannel</a> (<a class="el" href="classuserrec.html">userrec</a> *user, std::string cname, std::string key)</td></tr>
-<tr><td>&nbsp;</td><td><font size=-1><em>Forces a user to join a channel.</em> <a href="#a23"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>virtual <a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td><td valign=bottom><a class="el" href="classServer.html#a24">Server::PartUserFromChannel</a> (<a class="el" href="classuserrec.html">userrec</a> *user, std::string cname, std::string reason)</td></tr>
-<tr><td>&nbsp;</td><td><font size=-1><em>Forces a user to part a channel.</em> <a href="#a24"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classServer.html#a25">ChangeUserNick</a> (<a class="el" href="classuserrec.html">userrec</a> *user, std::string nickname)</td></tr>
-<tr><td>&nbsp;</td><td><font size=-1><em>Forces a user nickchange.</em> <a href="#a25"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classServer.html#a26">QuitUser</a> (<a class="el" href="classuserrec.html">userrec</a> *user, std::string reason)</td></tr>
-<tr><td>&nbsp;</td><td><font size=-1><em>Forces a user to quit with the specified reason.</em> <a href="#a26"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual int&nbsp;</td><td valign=bottom><a class="el" href="classServer.html#a13">CountUsers</a> (<a class="el" href="classchanrec.html">chanrec</a> *c)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Returns a count of the number of users on a channel.</em> <a href="#a13"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td><td valign=bottom><a class="el" href="classServer.html#a14">FindNick</a> (std::string nick)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Attempts to look up a nick and return a pointer to it.</em> <a href="#a14"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td><td valign=bottom><a class="el" href="classServer.html#a15">FindChannel</a> (std::string channel)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Attempts to look up a channel and return a pointer to it.</em> <a href="#a15"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual std::string&nbsp;</td><td valign=bottom><a class="el" href="classServer.html#a16">ChanMode</a> (<a class="el" href="classuserrec.html">userrec</a> *User, <a class="el" href="classchanrec.html">chanrec</a> *Chan)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Attempts to look up a user's privilages on a channel.</em> <a href="#a16"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual std::string&nbsp;</td><td valign=bottom><a class="el" href="classServer.html#a17">GetServerName</a> ()</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Returns the server name of the server where the module is loaded.</em> <a href="#a17"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual std::string&nbsp;</td><td valign=bottom><a class="el" href="classServer.html#a18">GetNetworkName</a> ()</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Returns the network name, global to all linked servers.</em> <a href="#a18"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classAdmin.html">Admin</a>&nbsp;</td><td valign=bottom><a class="el" href="classServer.html#a19">GetAdmin</a> ()</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Returns the information of the server as returned by the /ADMIN command.</em> <a href="#a19"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual bool&nbsp;</td><td valign=bottom><a class="el" href="classServer.html#a20">AddExtendedMode</a> (char modechar, int type, bool requires_oper, int params_when_on, int params_when_off)</td></tr>
+<tr><td>&nbsp;</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="#a20"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classServer.html#a21">AddCommand</a> (char *cmd, <a class="el" href="ctables_8h.html#a0">handlerfunc</a> f, char flags, int minparams)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Adds a command to the command table.</em> <a href="#a21"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classServer.html#a22">SendMode</a> (char **parameters, int pcnt, <a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Sends a servermode.</em> <a href="#a22"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classServer.html#a23">SendToModeMask</a> (std::string modes, int flags, std::string text)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Sends to all users matching a mode mask You must specify one or more usermodes as the first parameter.</em> <a href="#a23"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td><td valign=bottom><a class="el" href="classServer.html#a24">JoinUserToChannel</a> (<a class="el" href="classuserrec.html">userrec</a> *user, std::string cname, std::string key)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Forces a user to join a channel.</em> <a href="#a24"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td><td valign=bottom><a class="el" href="classServer.html#a25">PartUserFromChannel</a> (<a class="el" href="classuserrec.html">userrec</a> *user, std::string cname, std::string reason)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Forces a user to part a channel.</em> <a href="#a25"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classServer.html#a26">ChangeUserNick</a> (<a class="el" href="classuserrec.html">userrec</a> *user, std::string nickname)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Forces a user nickchange.</em> <a href="#a26"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classServer.html#a27">QuitUser</a> (<a class="el" href="classuserrec.html">userrec</a> *user, std::string reason)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Forces a user to quit with the specified reason.</em> <a href="#a27"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual bool&nbsp;</td><td valign=bottom><a class="el" href="classServer.html#a28">MatchText</a> (std::string sliteral, std::string spattern)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Matches text against a glob pattern.</em> <a href="#a28"></a><em></em></font><br><br></td></tr>
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
 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.
@@ -84,7 +88,7 @@ All modules should instantiate at least one copy of this class, and use its memb
 <p>
 
 <p>
-Definition at line <a class="el" href="modules_8h-source.html#l00239">239</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+Definition at line <a class="el" href="modules_8h-source.html#l00240">240</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a name="a0" doxytag="Server::Server"></a><p>
 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   <tr>
@@ -114,10 +118,10 @@ Default constructor.
 <p>
 Creates a Server object.
 <p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00130">130</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#l00131">131</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<div class="fragment"><pre>00131 {
-00132 }
+<div class="fragment"><pre>00132 {
+00133 }
 </pre></div>    </td>
   </tr>
 </table>
@@ -150,15 +154,15 @@ Default destructor.
 <p>
 Destroys a Server object.
 <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#l00135">135</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<div class="fragment"><pre>00135 {
-00136 }
+<div class="fragment"><pre>00136 {
+00137 }
 </pre></div>    </td>
   </tr>
 </table>
 <hr><h2>Member Function Documentation</h2>
-<a name="a20" doxytag="Server::AddCommand"></a><p>
+<a name="a21" doxytag="Server::AddCommand"></a><p>
 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   <tr>
     <td class="md">
@@ -211,17 +215,17 @@ This allows modules to add extra commands into the command table. You must place
 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#l00174">174</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#l00183">183</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>00175 {
-00176         <a class="code" href="modules_8h.html#a13">createcommand</a>(cmd,f,flags,minparams);
-00177 }
+<div class="fragment"><pre>00184 {
+00185         <a class="code" href="modules_8h.html#a13">createcommand</a>(cmd,f,flags,minparams);
+00186 }
 </pre></div>    </td>
   </tr>
 </table>
-<a name="a19" doxytag="Server::AddExtendedMode"></a><p>
+<a name="a20" doxytag="Server::AddExtendedMode"></a><p>
 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   <tr>
     <td class="md">
@@ -278,32 +282,32 @@ Adds an extended mode letter which is parsed by a module This allows modules to
 <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. 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#l00275">275</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>00276 {
-00277         <span class="keywordflow">if</span> (type == <a class="code" href="modules_8h.html#a7">MT_SERVER</a>)
-00278         {
-00279                 log(DEBUG,<span class="stringliteral">"*** API ERROR *** Modes of type MT_SERVER are reserved for future expansion"</span>);
-00280                 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-00281         }
-00282         <span class="keywordflow">if</span> (((params_when_on&gt;0) || (params_when_off&gt;0)) &amp;&amp; (type == <a class="code" href="modules_8h.html#a6">MT_CLIENT</a>))
-00283         {
-00284                 log(DEBUG,<span class="stringliteral">"*** API ERROR *** Parameters on MT_CLIENT modes are not supported"</span>);
-00285                 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-00286         }
-00287         <span class="keywordflow">if</span> ((params_when_on&gt;1) || (params_when_off&gt;1))
-00288         {
-00289                 log(DEBUG,<span class="stringliteral">"*** API ERROR *** More than one parameter for an MT_CHANNEL mode is not yet supported"</span>);
-00290                 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-00291         }
-00292         <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);
-00293 }
+Definition at line <a class="el" href="modules_8cpp-source.html#l00293">293</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+<p>
+References <a class="el" href="modules_8cpp-source.html#l00090">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>00294 {
+00295         <span class="keywordflow">if</span> (type == <a class="code" href="modules_8h.html#a7">MT_SERVER</a>)
+00296         {
+00297                 log(DEBUG,<span class="stringliteral">"*** API ERROR *** Modes of type MT_SERVER are reserved for future expansion"</span>);
+00298                 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00299         }
+00300         <span class="keywordflow">if</span> (((params_when_on&gt;0) || (params_when_off&gt;0)) &amp;&amp; (type == <a class="code" href="modules_8h.html#a6">MT_CLIENT</a>))
+00301         {
+00302                 log(DEBUG,<span class="stringliteral">"*** API ERROR *** Parameters on MT_CLIENT modes are not supported"</span>);
+00303                 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00304         }
+00305         <span class="keywordflow">if</span> ((params_when_on&gt;1) || (params_when_off&gt;1))
+00306         {
+00307                 log(DEBUG,<span class="stringliteral">"*** API ERROR *** More than one parameter for an MT_CHANNEL mode is not yet supported"</span>);
+00308                 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00309         }
+00310         <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);
+00311 }
 </pre></div>    </td>
   </tr>
 </table>
-<a name="a25" doxytag="Server::ChangeUserNick"></a><p>
+<a name="a26" doxytag="Server::ChangeUserNick"></a><p>
 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   <tr>
     <td class="md">
@@ -342,15 +346,15 @@ Forces a user nickchange.
 <p>
 This command works similarly to SVSNICK, and can be used to implement Q-lines etc. If you specify an invalid nickname, the nick change will be dropped and the target user will receive the error numeric for it.
 <p>
-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>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00167">167</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<div class="fragment"><pre>00159 {
-00160         force_nickchange(user,nickname.c_str());
-00161 }
+<div class="fragment"><pre>00168 {
+00169         force_nickchange(user,nickname.c_str());
+00170 }
 </pre></div>    </td>
   </tr>
 </table>
-<a name="a15" doxytag="Server::ChanMode"></a><p>
+<a name="a16" doxytag="Server::ChanMode"></a><p>
 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   <tr>
     <td class="md">
@@ -389,11 +393,11 @@ Attempts to look up a user's privilages on a channel.
 <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#l00253">253</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>00254 {
-00255         <span class="keywordflow">return</span> cmode(User,Chan);
-00256 }
+<div class="fragment"><pre>00272 {
+00273         <span class="keywordflow">return</span> cmode(User,Chan);
+00274 }
 </pre></div>    </td>
   </tr>
 </table>
@@ -436,15 +440,53 @@ Returns true if two users share a common channel.
 <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#l00216">216</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#l00234">234</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<div class="fragment"><pre>00217 {
-00218         <span class="keywordflow">return</span> (common_channels(u1,u2) != 0);
-00219 }
+<div class="fragment"><pre>00235 {
+00236         <span class="keywordflow">return</span> (common_channels(u1,u2) != 0);
+00237 }
 </pre></div>    </td>
   </tr>
 </table>
-<a name="a14" doxytag="Server::FindChannel"></a><p>
+<a name="a13" doxytag="Server::CountUsers"></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"> int Server::CountUsers </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top"><a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>&nbsp; <em>c</em>          </td>
+          <td class="md" valign="top">)&nbsp;</td>
+          <td class="md" nowrap><code> [virtual]</code></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Returns a count of the number of users on a channel.
+<p>
+This will NEVER be 0, as if the chanrec exists, it will have at least one user in the channel.
+<p>
+Definition at line <a class="el" href="modules_8cpp-source.html#l00313">313</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+<p>
+<div class="fragment"><pre>00314 {
+00315         <span class="keywordflow">return</span> usercount(c);
+00316 }
+</pre></div>    </td>
+  </tr>
+</table>
+<a name="a15" doxytag="Server::FindChannel"></a><p>
 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   <tr>
     <td class="md">
@@ -474,15 +516,15 @@ Attempts to look up a channel and return a pointer to it.
 <p>
 This function will return NULL if the channel does not exist.
 <p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00248">248</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#l00266">266</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<div class="fragment"><pre>00249 {
-00250         <span class="keywordflow">return</span> FindChan(channel.c_str());
-00251 }
+<div class="fragment"><pre>00267 {
+00268         <span class="keywordflow">return</span> FindChan(channel.c_str());
+00269 }
 </pre></div>    </td>
   </tr>
 </table>
-<a name="a13" doxytag="Server::FindNick"></a><p>
+<a name="a14" doxytag="Server::FindNick"></a><p>
 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   <tr>
     <td class="md">
@@ -512,15 +554,15 @@ Attempts to look up a nick and return a pointer to it.
 <p>
 This function will return NULL if the nick does not exist.
 <p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00243">243</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#l00261">261</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<div class="fragment"><pre>00244 {
-00245         <span class="keywordflow">return</span> Find(nick);
-00246 }
+<div class="fragment"><pre>00262 {
+00263         <span class="keywordflow">return</span> Find(nick);
+00264 }
 </pre></div>    </td>
   </tr>
 </table>
-<a name="a18" doxytag="Server::GetAdmin"></a><p>
+<a name="a19" doxytag="Server::GetAdmin"></a><p>
 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   <tr>
     <td class="md">
@@ -549,15 +591,15 @@ Returns the information of the server as returned by the /ADMIN command.
 <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#l00268">268</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>
-<div class="fragment"><pre>00269 {
-00270         <span class="keywordflow">return</span> <a class="code" href="classAdmin.html">Admin</a>(getadminname(),getadminemail(),getadminnick());
-00271 }
+<div class="fragment"><pre>00287 {
+00288         <span class="keywordflow">return</span> <a class="code" href="classAdmin.html">Admin</a>(getadminname(),getadminemail(),getadminnick());
+00289 }
 </pre></div>    </td>
   </tr>
 </table>
-<a name="a17" doxytag="Server::GetNetworkName"></a><p>
+<a name="a18" doxytag="Server::GetNetworkName"></a><p>
 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   <tr>
     <td class="md">
@@ -586,15 +628,15 @@ Returns the network name, global to all linked servers.
 <p>
 
 <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#l00281">281</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> getnetworkname();
-00266 }
+<div class="fragment"><pre>00282 {
+00283         <span class="keywordflow">return</span> getnetworkname();
+00284 }
 </pre></div>    </td>
   </tr>
 </table>
-<a name="a16" doxytag="Server::GetServerName"></a><p>
+<a name="a17" doxytag="Server::GetServerName"></a><p>
 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   <tr>
     <td class="md">
@@ -623,11 +665,11 @@ Returns the server name of the server where the module is loaded.
 <p>
 
 <p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00258">258</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>00259 {
-00260         <span class="keywordflow">return</span> getservername();
-00261 }
+<div class="fragment"><pre>00277 {
+00278         <span class="keywordflow">return</span> getservername();
+00279 }
 </pre></div>    </td>
   </tr>
 </table>
@@ -661,11 +703,64 @@ Returns true if a nick is valid.
 <p>
 Nicks for unregistered connections will return false.
 <p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00238">238</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#l00256">256</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+<p>
+<div class="fragment"><pre>00257 {
+00258         <span class="keywordflow">return</span> (isnick(nick.c_str()) != 0);
+00259 }
+</pre></div>    </td>
+  </tr>
+</table>
+<a name="a24" doxytag="Server::JoinUserToChannel"></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"> <a class="el" href="classchanrec.html">chanrec</a> * Server::JoinUserToChannel </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top"><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>user</em>, </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td></td>
+          <td class="md" nowrap>std::string&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>cname</em>, </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td></td>
+          <td class="md" nowrap>std::string&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>key</em></td>
+        </tr>
+        <tr>
+          <td></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"><code> [virtual]</code></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Forces a user to join a channel.
+<p>
+This is similar to svsjoin and can be used to implement redirection, etc. On success, the return value is a valid pointer to a chanrec* of the channel the user was joined to. On failure, the result is NULL.
+<p>
+Definition at line <a class="el" href="modules_8cpp-source.html#l00157">157</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<div class="fragment"><pre>00239 {
-00240         <span class="keywordflow">return</span> (isnick(nick.c_str()) != 0);
-00241 }
+<div class="fragment"><pre>00158 {
+00159         <span class="keywordflow">return</span> add_channel(user,cname.c_str(),key.c_str());
+00160 }
 </pre></div>    </td>
   </tr>
 </table>
@@ -708,15 +803,118 @@ Writes a log string.
 <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#l00169">169</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#l00178">178</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+<p>
+<div class="fragment"><pre>00179 {
+00180         log(level,<span class="stringliteral">"%s"</span>,s.c_str());
+00181 }
+</pre></div>    </td>
+  </tr>
+</table>
+<a name="a28" doxytag="Server::MatchText"></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 Server::MatchText </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">std::string&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>sliteral</em>, </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td></td>
+          <td class="md" nowrap>std::string&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>spattern</em></td>
+        </tr>
+        <tr>
+          <td></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"><code> [virtual]</code></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Matches text against a glob pattern.
 <p>
-<div class="fragment"><pre>00170 {
-00171         log(level,<span class="stringliteral">"%s"</span>,s.c_str());
-00172 }
+Uses the ircd's internal matching function to match string against a globbing pattern, e.g. *!*@*.com Returns true if the literal successfully matches the pattern, false if otherwise.
+<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>.
+<p>
+<div class="fragment"><pre>00145 {
+00146         <span class="keywordtype">char</span> literal[MAXBUF],pattern[MAXBUF];
+00147         strncpy(literal,sliteral.c_str(),MAXBUF);
+00148         strncpy(pattern,spattern.c_str(),MAXBUF);
+00149         <span class="keywordflow">return</span> match(literal,pattern);
+00150 }
 </pre></div>    </td>
   </tr>
 </table>
-<a name="a26" doxytag="Server::QuitUser"></a><p>
+<a name="a25" doxytag="Server::PartUserFromChannel"></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"> <a class="el" href="classchanrec.html">chanrec</a> * Server::PartUserFromChannel </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top"><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>user</em>, </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td></td>
+          <td class="md" nowrap>std::string&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>cname</em>, </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td></td>
+          <td class="md" nowrap>std::string&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>reason</em></td>
+        </tr>
+        <tr>
+          <td></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"><code> [virtual]</code></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Forces a user to part a channel.
+<p>
+This is similar to svspart and can be used to implement redirection, etc. Although the return value of this function is a pointer to a channel record, the returned data is undefined and should not be read or written to. This behaviour may be changed in a future version.
+<p>
+Definition at line <a class="el" href="modules_8cpp-source.html#l00162">162</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+<p>
+<div class="fragment"><pre>00163 {
+00164         <span class="keywordflow">return</span> del_channel(user,cname.c_str(),reason.c_str());
+00165 }
+</pre></div>    </td>
+  </tr>
+</table>
+<a name="a27" doxytag="Server::QuitUser"></a><p>
 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   <tr>
     <td class="md">
@@ -757,11 +955,11 @@ To the user, it will appear as if they typed /QUIT themselves, except for the fa
 WARNING!<p>
 Once you call this function, userrec* user will immediately become INVALID. You MUST NOT write to, or read from this pointer after calling the QuitUser method UNDER ANY CIRCUMSTANCES! The best course of action after calling this method is to immediately bail from your handler.
 <p>
-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>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00172">172</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<div class="fragment"><pre>00164 {
-00165         kill_link(user,reason.c_str());
-00166 }
+<div class="fragment"><pre>00173 {
+00174         kill_link(user,reason.c_str());
+00175 }
 </pre></div>    </td>
   </tr>
 </table>
@@ -804,11 +1002,11 @@ Sends a line of text down a TCP/IP socket.
 <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#l00184">184</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#l00193">193</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<div class="fragment"><pre>00185 {
-00186         Write(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
-00187 }
+<div class="fragment"><pre>00194 {
+00195         Write(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
+00196 }
 </pre></div>    </td>
   </tr>
 </table>
@@ -863,18 +1061,18 @@ Sends text from a user to a channel (mulicast).
 <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#l00204">204</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-<div class="fragment"><pre>00205 {
-00206         <span class="keywordflow">if</span> (IncludeSender)
-00207         {
-00208                 WriteChannel(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
-00209         }
-00210         <span class="keywordflow">else</span>
-00211         {
-00212                 ChanExceptSender(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
-00213         }
-00214 }
+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>00223 {
+00224         <span class="keywordflow">if</span> (IncludeSender)
+00225         {
+00226                 WriteChannel(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
+00227         }
+00228         <span class="keywordflow">else</span>
+00229         {
+00230                 ChanExceptSender(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
+00231         }
+00232 }
 </pre></div>    </td>
   </tr>
 </table>
@@ -923,18 +1121,18 @@ Sends text from a user to one or more channels (mulicast).
 <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#l00221">221</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-<div class="fragment"><pre>00222 {
-00223         <span class="keywordflow">if</span> (IncludeSender)
-00224         {
-00225                 WriteCommon(User,<span class="stringliteral">"%s"</span>,text.c_str());
-00226         }
-00227         <span class="keywordflow">else</span>
-00228         {
-00229                 WriteCommonExcept(User,<span class="stringliteral">"%s"</span>,text.c_str());
-00230         }
-00231 }
+Definition at line <a class="el" href="modules_8cpp-source.html#l00239">239</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+<p>
+<div class="fragment"><pre>00240 {
+00241         <span class="keywordflow">if</span> (IncludeSender)
+00242         {
+00243                 WriteCommon(User,<span class="stringliteral">"%s"</span>,text.c_str());
+00244         }
+00245         <span class="keywordflow">else</span>
+00246         {
+00247                 WriteCommonExcept(User,<span class="stringliteral">"%s"</span>,text.c_str());
+00248         }
+00249 }
 </pre></div>    </td>
   </tr>
 </table>
@@ -983,15 +1181,15 @@ Sends text from a user to a socket.
 <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#l00194">194</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#l00203">203</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<div class="fragment"><pre>00195 {
-00196         WriteFrom(Socket,User,<span class="stringliteral">"%s"</span>,s.c_str());
-00197 }
+<div class="fragment"><pre>00204 {
+00205         WriteFrom(Socket,User,<span class="stringliteral">"%s"</span>,s.c_str());
+00206 }
 </pre></div>    </td>
   </tr>
 </table>
-<a name="a21" doxytag="Server::SendMode"></a><p>
+<a name="a22" doxytag="Server::SendMode"></a><p>
 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   <tr>
     <td class="md">
@@ -1043,13 +1241,13 @@ modes[2] = user-&gt;nick;<p>
 Srv-&gt;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#l00179">179</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#l00188">188</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>00180 {
-00181         <a class="code" href="modules_8h.html#a14">server_mode</a>(parameters,pcnt,user);
-00182 }
+<div class="fragment"><pre>00189 {
+00190         <a class="code" href="modules_8h.html#a14">server_mode</a>(parameters,pcnt,user);
+00191 }
 </pre></div>    </td>
   </tr>
 </table>
@@ -1083,11 +1281,11 @@ Sends text to all opers.
 <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#l00138">138</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#l00139">139</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<div class="fragment"><pre>00139 {
-00140         WriteOpers(<span class="stringliteral">"%s"</span>,s.c_str());
-00141 }
+<div class="fragment"><pre>00140 {
+00141         WriteOpers(<span class="stringliteral">"%s"</span>,s.c_str());
+00142 }
 </pre></div>    </td>
   </tr>
 </table>
@@ -1130,11 +1328,11 @@ Sends text from the server to a socket.
 <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#l00189">189</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#l00198">198</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<div class="fragment"><pre>00190 {
-00191         WriteServ(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
-00192 }
+<div class="fragment"><pre>00199 {
+00200         WriteServ(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
+00201 }
 </pre></div>    </td>
   </tr>
 </table>
@@ -1181,17 +1379,32 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00189">189</a>
 <p>
 Sends text from a user to another user.
 <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)
+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) If you specify NULL as the source, then the data will originate from the local server, e.g. instead of:<p>
+:user!ident TEXT<p>
+The format will become:<p>
+:localserver TEXT<p>
+Which is useful for numerics and server notices to single users, etc.
 <p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00199">199</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#l00208">208</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<div class="fragment"><pre>00200 {
-00201         WriteTo(Source,Dest,<span class="stringliteral">"%s"</span>,s.c_str());
-00202 }
+References <a class="el" href="connection_8h-source.html#l00043">connection::fd</a>.
+<p>
+<div class="fragment"><pre>00209 {
+00210         <span class="keywordflow">if</span> (!Source)
+00211         {
+00212                 <span class="comment">// if source is NULL, then the message originates from the local server</span>
+00213                 Write(Dest-&gt;<a class="code" href="classconnection.html#m1">fd</a>,<span class="stringliteral">":%s %s"</span>,this-&gt;GetServerName().c_str(),s.c_str());
+00214         }
+00215         <span class="keywordflow">else</span>
+00216         {
+00217                 <span class="comment">// otherwise it comes from the user specified</span>
+00218                 WriteTo(Source,Dest,<span class="stringliteral">"%s"</span>,s.c_str());
+00219         }
+00220 }
 </pre></div>    </td>
   </tr>
 </table>
-<a name="a22" doxytag="Server::SendToModeMask"></a><p>
+<a name="a23" doxytag="Server::SendToModeMask"></a><p>
 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   <tr>
     <td class="md">
@@ -1238,11 +1451,11 @@ These can be RFC specified modes such as +i, or module provided modes, including
 Serv-&gt;SendToModeMask("xi", WM_OR, "m00");<p>
 Then the text 'm00' will be sent to all users with EITHER mode x or i. Conversely if you used WM_AND, the user must have both modes set to receive the message.
 <p>
-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>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00152">152</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<div class="fragment"><pre>00144 {
-00145         WriteMode(modes.c_str(),flags,<span class="stringliteral">"%s"</span>,text.c_str());
-00146 }
+<div class="fragment"><pre>00153 {
+00154         WriteMode(modes.c_str(),flags,<span class="stringliteral">"%s"</span>,text.c_str());
+00155 }
 </pre></div>    </td>
   </tr>
 </table>
@@ -1285,109 +1498,17 @@ Sends a WALLOPS message.
 <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#l00233">233</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#l00251">251</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<div class="fragment"><pre>00234 {
-00235         WriteWallOps(User,<span class="stringliteral">"%s"</span>,text.c_str());
-00236 }
+<div class="fragment"><pre>00252 {
+00253         WriteWallOps(User,<span class="stringliteral">"%s"</span>,text.c_str());
+00254 }
 </pre></div>    </td>
   </tr>
 </table>
-<a name="a23" doxytag="Server::Server::JoinUserToChannel"></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"> virtual <a class="el" href="classchanrec.html">chanrec</a>* Server::Server::JoinUserToChannel </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top"><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
-          <td class="mdname" nowrap>&nbsp; <em>user</em>, </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td></td>
-          <td class="md" nowrap>std::string&nbsp;</td>
-          <td class="mdname" nowrap>&nbsp; <em>cname</em>, </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td></td>
-          <td class="md" nowrap>std::string&nbsp;</td>
-          <td class="mdname" nowrap>&nbsp; <em>key</em></td>
-        </tr>
-        <tr>
-          <td></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"><code> [virtual]</code></td>
-        </tr>
-
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-Forces a user to join a channel.
-<p>
-This is similar to svsjoin and can be used to implement redirection, etc. On success, the return value is a valid pointer to a chanrec* of the channel the user was joined to. On failure, the result is NULL.    </td>
-  </tr>
-</table>
-<a name="a24" doxytag="Server::Server::PartUserFromChannel"></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"> virtual <a class="el" href="classchanrec.html">chanrec</a>* Server::Server::PartUserFromChannel </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top"><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
-          <td class="mdname" nowrap>&nbsp; <em>user</em>, </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td></td>
-          <td class="md" nowrap>std::string&nbsp;</td>
-          <td class="mdname" nowrap>&nbsp; <em>cname</em>, </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td></td>
-          <td class="md" nowrap>std::string&nbsp;</td>
-          <td class="mdname" nowrap>&nbsp; <em>reason</em></td>
-        </tr>
-        <tr>
-          <td></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"><code> [virtual]</code></td>
-        </tr>
-
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-Forces a user to part a channel.
-<p>
-This is similar to svspart and can be used to implement redirection, etc. Although the return value of this function is a pointer to a channel record, the returned data is undefined and should not be read or written to. This behaviour may be changed in a future version.    </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 Tue Apr 6 21:14:13 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:54 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>
index 30a2064df1f6c47307d5fbc4e14bd55ac9b983ca..7d6d906a1597a0b3fa1303f9b69108ce59e759d2 100644 (file)
@@ -15,7 +15,7 @@
   <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 Tue Apr 6 21:14:23 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:21:00 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>
index 0c8dd995bce4abdd2266f4e543247058c7b6fc09..dd3427beeaa15a3a4e54b49e7b26bd89e44ae8a6 100644 (file)
@@ -36,7 +36,7 @@ A class of type Version is returned by the GetVersion method of the <a class="el
 <p>
 
 <p>
-Definition at line <a class="el" href="modules_8h-source.html#l00066">66</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+Definition at line <a class="el" href="modules_8h-source.html#l00067">67</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a name="a0" doxytag="Version::Version"></a><p>
 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   <tr>
@@ -86,9 +86,9 @@ Definition at line <a class="el" href="modules_8h-source.html#l00066">66</a> of
 <p>
 
 <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#l00102">102</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-<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) { };
+<div class="fragment"><pre>00102 : <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>
@@ -114,7 +114,7 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00101">101</a>
 <p>
 
 <p>
-Definition at line <a class="el" href="modules_8h-source.html#l00069">69</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#l00070">70</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.    </td>
   </tr>
 </table>
 <a name="m0" doxytag="Version::Major"></a><p>
@@ -138,7 +138,7 @@ Definition at line <a class="el" href="modules_8h-source.html#l00069">69</a> of
 <p>
 
 <p>
-Definition at line <a class="el" href="modules_8h-source.html#l00069">69</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#l00070">70</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.    </td>
   </tr>
 </table>
 <a name="m1" doxytag="Version::Minor"></a><p>
@@ -162,7 +162,7 @@ Definition at line <a class="el" href="modules_8h-source.html#l00069">69</a> of
 <p>
 
 <p>
-Definition at line <a class="el" href="modules_8h-source.html#l00069">69</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#l00070">70</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.    </td>
   </tr>
 </table>
 <a name="m2" doxytag="Version::Revision"></a><p>
@@ -186,12 +186,12 @@ Definition at line <a class="el" href="modules_8h-source.html#l00069">69</a> of
 <p>
 
 <p>
-Definition at line <a class="el" href="modules_8h-source.html#l00069">69</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#l00070">70</a> of file <a class="el" href="modules_8h-source.html">modules.h</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 Tue Apr 6 21:14:23 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:21:00 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>
index 73e1a0fe21fdefd723afc4403fbf8c95211cbefa..2c173f165392b6dd968708e182ef0178ab2ea150 100644 (file)
@@ -31,7 +31,7 @@
   <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#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 Tue Apr 6 21:13:44 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index 633651143573461510e89d8acb34494fa25655e5..4c0c068bf8480e695577cf0cb779a231a5b05bb8 100644 (file)
@@ -808,7 +808,7 @@ Referenced by <a class="el" href="channels_8cpp-source.html#l00012">chanrec()</a
 </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 Tue Apr 6 21:13:44 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index fa6791f1f567e9a2c40cefe670cbbd1eb57d7301..e40b362edf351fee260e84aec42d1927018c69bd 100644 (file)
@@ -10,7 +10,7 @@
   <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 Tue Apr 6 21:13:46 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index 865b24b6a86eebf2dc93b275d05caf0ba9cf65ab..f0014c1bc6b1f2aaec558a0e6315eef970b34d8c 100644 (file)
@@ -144,7 +144,7 @@ Definition at line <a class="el" href="base_8h-source.html#l00020">20</a> of fil
 </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 Tue Apr 6 21:13:46 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index d38126a4950d9895f904c2e301581325d35e28f7..d929d53feb330ea42f322bdf026435c94c645b03 100644 (file)
@@ -16,7 +16,7 @@
   <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 Tue Apr 6 21:13:48 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:36 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>
index dbd8578f78ce44448410503830bd7cafda6304a6..e64a2903593cddbf03baa4fd2a274a320525aff5 100644 (file)
@@ -199,7 +199,7 @@ Definition at line <a class="el" href="ctables_8h-source.html#l00044">44</a> of
 </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 Tue Apr 6 21:13:48 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:36 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>
index 40b71002cdcb1d27751b46947ce987d2dc8dad45..4d00090246deec2fb68d39be24dbd5a4eedf83f3 100644 (file)
@@ -36,7 +36,7 @@
   <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 Tue Apr 6 21:13:54 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:41 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>
index a1d100b94f5a6a2e4dfbd6c53ba460daac7976db..7aa6cd612fd6fc7e83aba1e6abd53d3253a5bd42 100644 (file)
@@ -528,7 +528,7 @@ Referenced by <a class="el" href="users_8cpp-source.html#l00011">userrec::userre
 <p>
 Definition at line <a class="el" href="connection_8h-source.html#l00043">43</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.
 <p>
-Referenced by <a class="el" href="servers_8cpp-source.html#l00012">serverrec::serverrec()</a>, and <a class="el" href="users_8cpp-source.html#l00011">userrec::userrec()</a>.    </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00208">Server::SendTo()</a>, <a class="el" href="servers_8cpp-source.html#l00012">serverrec::serverrec()</a>, and <a class="el" href="users_8cpp-source.html#l00011">userrec::userrec()</a>.    </td>
   </tr>
 </table>
 <a name="m9" doxytag="connection::haspassed"></a><p>
@@ -837,7 +837,7 @@ Referenced by <a class="el" href="servers_8cpp-source.html#l00012">serverrec::se
 </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 Tue Apr 6 21:13:54 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:41 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>
index fa0c9e401ce914e73057499913fea29aeb629ae8..f87191e90229c4519c92ec562fabf0735548da90 100644 (file)
@@ -19,7 +19,7 @@
 </td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;P&nbsp;&nbsp;</div></td></tr></table>
 </td><td><a class="el" href="classuserrec.html">userrec</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classchanrec.html">chanrec</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classExemptItem.html">ExemptItem</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classInvited.html">Invited</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classpacket.html">packet</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;V&nbsp;&nbsp;</div></td></tr></table>
 </td></tr><tr><td><a class="el" href="classclassbase.html">classbase</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classExtMode.html">ExtMode</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classInviteItem.html">InviteItem</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="classVersion.html">Version</a>&nbsp;&nbsp;&nbsp;</td></tr></table><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13:39 2004 for InspIRCd by
+</td><td><a class="el" href="classVersion.html">Version</a>&nbsp;&nbsp;&nbsp;</td></tr></table><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index bf42c60a289fc0b2c738e0a1e398c84832cf29e2..a57bf6b564787817b7f606cb4d5f0532197df542 100644 (file)
@@ -16,7 +16,7 @@
   <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 Tue Apr 6 21:14:11 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:53 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>
index 0528a20d89c5c6233d54ca895b15fd7a3bc772a7..c431b46c98151950d1ccfe8a5d323c2efeb47dc2 100644 (file)
@@ -183,7 +183,7 @@ Definition at line <a class="el" href="connection_8h-source.html#l00031">31</a>
 </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 Tue Apr 6 21:14:11 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:53 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>
index 07f0c9586afdfbe9c4ba669e3dea0462af8d240a..17d8f9482f1875f0d8aeb4cf368492892194c04d 100644 (file)
@@ -47,7 +47,7 @@
   <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 Tue Apr 6 21:14:16 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:56 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>
index 1e2a94b0a772556ef491744a12c2ec5cdb0926af..9f4c7060f7bac11ee9325fe742887dd8cec2964d 100644 (file)
@@ -422,7 +422,7 @@ Referenced by <a class="el" href="servers_8cpp-source.html#l00012">serverrec()</
 </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 Tue Apr 6 21:14:16 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:56 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>
index a40813d80533dc317f4c3d79787d8ee9eac2cf6d..5e3db8265a97195e2b48b728d3aa10b2a55e1824 100644 (file)
@@ -14,7 +14,7 @@
   <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 Tue Apr 6 21:14:18 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:57 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>
index 92aca3453f7f630579ce4061e6d6987826537e8d..ca9f03c54b68044f6168303550a7b2a4d0b66093 100644 (file)
@@ -162,7 +162,7 @@ Definition at line <a class="el" href="channels_8h-source.html#l00197">197</a> o
 </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 Tue Apr 6 21:14:18 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:57 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>
index a61e477ff70b028c776f0e9ad8a8bcc1ba784c62..e2b56599550701d3c6e37b9c0a507ea93cc37fb5 100644 (file)
@@ -54,7 +54,7 @@
   <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 Tue Apr 6 21:14:21 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:59 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>
index 4bfab1cc1ae18a136ec1aecbb8df0a234227b378..3d42a4d77efb91be8b4e3ae4a21e6e22b23d0eee 100644 (file)
@@ -675,7 +675,7 @@ Referenced by <a class="el" href="users_8cpp-source.html#l00011">userrec()</a>.
 </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 Tue Apr 6 21:14:21 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20:59 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>
index 5f3cf8ef64a9223030f99b2d9766cfed21bf43ea..f0096c56f62f442dc50656b50f3e26d238b06b3f 100644 (file)
@@ -79,7 +79,7 @@
 00071 
 00072 <span class="preprocessor">#endif</span>
 00073 <span class="preprocessor"></span>
-</pre></div><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13:19 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index fb027e9957811e5417e1cde1b59762dd71045da4..80e0f3bb92a3dc80081fe1eaa57044af33ec677a 100644 (file)
@@ -142,7 +142,7 @@ Definition at line <a class="el" href="connection_8h-source.html#l00020">20</a>
 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 Tue Apr 6 21:13:27 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index 89ea9bf5d275f5cf8758fa4e26b59cf1a7db19ca..28aa921bb0374ee6b0728492df1f21f1c01adfd3 100644 (file)
@@ -43,7 +43,7 @@
 00049 
 00050 <span class="preprocessor">#endif</span>
 00051 <span class="preprocessor"></span>
-</pre></div><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13:19 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index 3a19a1b8c11d95ab4a7526f9b9bb650fc0fbd804..cf59e4eb70c42f23623ea94ac544b3cfe2b477e3 100644 (file)
@@ -57,7 +57,7 @@ This graph shows which files directly or indirectly include this file:<p><center
 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 Tue Apr 6 21:13:29 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index d126b7f7252c41047e37b80070f3a18466a88d6d..f9f7247fcb2318f884468c6c9d3af745b5f1a5c2 100644 (file)
@@ -19,7 +19,7 @@
   <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 Tue Apr 6 21:13:19 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index 6c7a2df1e772a8b6c379e3dd08f641e4a965ad34..56277b2fdde2fa02d0a33c2d25ab930e11482571 100644 (file)
@@ -13,8 +13,8 @@
 Here is a list of all class members with links to the classes they belong to:<h3><a name="index_a">- a -</a>
 </h3><ul>
 <li>AddCommand()
-: <a class="el" href="classServer.html#a20">Server</a><li>AddExtendedMode()
-: <a class="el" href="classServer.html#a19">Server</a><li>Admin()
+: <a class="el" href="classServer.html#a21">Server</a><li>AddExtendedMode()
+: <a class="el" href="classServer.html#a20">Server</a><li>Admin()
 : <a class="el" href="classAdmin.html#a0">Admin</a><li>age
 : <a class="el" href="classclassbase.html#m0">classbase</a><li>awaymsg
 : <a class="el" href="classuserrec.html#m7">userrec</a></ul>
@@ -29,9 +29,10 @@ Here is a list of all class members with links to the classes they belong to:<h3
 <h3><a name="index_c">- c -</a>
 </h3><ul>
 <li>c_private
-: <a class="el" href="classchanrec.html#m13">chanrec</a><li>ChangeUserNick()
-: <a class="el" href="classServer.html#a25">Server</a><li>ChanMode()
-: <a class="el" href="classServer.html#a15">Server</a><li>channel
+: <a class="el" href="classchanrec.html#m13">chanrec</a><li>cache
+: <a class="el" href="classConfigReader.html#n0">ConfigReader</a><li>ChangeUserNick()
+: <a class="el" href="classServer.html#a26">Server</a><li>ChanMode()
+: <a class="el" href="classServer.html#a16">Server</a><li>channel
 : <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()
@@ -42,7 +43,8 @@ Here is a list of all class members with links to the classes they belong to:<h3
 : <a class="el" href="classServer.html#a9">Server</a><li>ConfigReader()
 : <a class="el" href="classConfigReader.html#a1">ConfigReader</a><li>ConnectClass()
 : <a class="el" href="classConnectClass.html#a0">ConnectClass</a><li>connection()
-: <a class="el" href="classconnection.html#a0">connection</a><li>created
+: <a class="el" href="classconnection.html#a0">connection</a><li>CountUsers()
+: <a class="el" href="classServer.html#a13">Server</a><li>created
 : <a class="el" href="classchanrec.html#m3">chanrec</a><li>CreateListener()
 : <a class="el" href="classconnection.html#a1">connection</a><li>CreateModule()
 : <a class="el" href="classModuleFactory.html#a2">ModuleFactory</a><li>custom_modes
@@ -56,7 +58,8 @@ Here is a list of all class members with links to the classes they belong to:<h3
 </h3><ul>
 <li>Email
 : <a class="el" href="classAdmin.html#m1">Admin</a><li>Enumerate()
-: <a class="el" href="classConfigReader.html#a4">ConfigReader</a><li>Exists()
+: <a class="el" href="classConfigReader.html#a4">ConfigReader</a><li>error
+: <a class="el" href="classConfigReader.html#n1">ConfigReader</a><li>Exists()
 : <a class="el" href="classFileReader.html#a4">FileReader</a><li>ExtMode()
 : <a class="el" href="classExtMode.html#a0">ExtMode</a></ul>
 <h3><a name="index_f">- f -</a>
@@ -66,22 +69,21 @@ Here is a list of all class members with links to the classes they belong to:<h3
 : <a class="el" href="classconnection.html#m1">connection</a><li>FileReader()
 : <a class="el" href="classFileReader.html#a1">FileReader</a><li>FileSize()
 : <a class="el" href="classFileReader.html#a6">FileReader</a><li>FindChannel()
-: <a class="el" href="classServer.html#a14">Server</a><li>FindNick()
-: <a class="el" href="classServer.html#a13">Server</a><li>flags_needed
-: <a class="el" href="classcommand__t.html#m2">command_t</a><li>fname
-: <a class="el" href="classConfigReader.html#n0">ConfigReader</a><li>fullname
+: <a class="el" href="classServer.html#a15">Server</a><li>FindNick()
+: <a class="el" href="classServer.html#a14">Server</a><li>flags_needed
+: <a class="el" href="classcommand__t.html#m2">command_t</a><li>fullname
 : <a class="el" href="classuserrec.html#m3">userrec</a></ul>
 <h3><a name="index_g">- g -</a>
 </h3><ul>
 <li>GenKey()
 : <a class="el" href="classconnection.html#a8">connection</a><li>GetAdmin()
-: <a class="el" href="classServer.html#a18">Server</a><li>GetFullHost()
+: <a class="el" href="classServer.html#a19">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>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="classServer.html#a18">Server</a><li>GetServerName()
+: <a class="el" href="classServer.html#a17">Server</a><li>GetVersion()
 : <a class="el" href="classModule.html#a2">Module</a></ul>
 <h3><a name="index_h">- h -</a>
 </h3><ul>
@@ -108,7 +110,8 @@ Here is a list of all class members with links to the classes they belong to:<h3
 : <a class="el" href="classServer.html#a12">Server</a></ul>
 <h3><a name="index_j">- j -</a>
 </h3><ul>
-<li>jupiter
+<li>JoinUserToChannel()
+: <a class="el" href="classServer.html#a24">Server</a><li>jupiter
 : <a class="el" href="classserverrec.html#m7">serverrec</a></ul>
 <h3><a name="index_k">- k -</a>
 </h3><ul>
@@ -124,7 +127,8 @@ Here is a list of all class members with links to the classes they belong to:<h3
 <h3><a name="index_m">- m -</a>
 </h3><ul>
 <li>Major
-: <a class="el" href="classVersion.html#m0">Version</a><li>min_params
+: <a class="el" href="classVersion.html#m0">Version</a><li>MatchText()
+: <a class="el" href="classServer.html#a28">Server</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>mode
 : <a class="el" href="classModeParameter.html#m0">ModeParameter</a><li>modechar
@@ -168,14 +172,15 @@ Here is a list of all class members with links to the classes they belong to:<h3
 : <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="classExtMode.html#m2">ExtMode</a><li>PartUserFromChannel()
+: <a class="el" href="classServer.html#a25">Server</a><li>pass
 : <a class="el" href="classConnectClass.html#m3">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>
 <h3><a name="index_q">- q -</a>
 </h3><ul>
 <li>QuitUser()
-: <a class="el" href="classServer.html#a26">Server</a></ul>
+: <a class="el" href="classServer.html#a27">Server</a></ul>
 <h3><a name="index_r">- r -</a>
 </h3><ul>
 <li>ReadValue()
@@ -195,18 +200,16 @@ Here is a list of all class members with links to the classes they belong to:<h3
 : <a class="el" href="classServer.html#a8">Server</a><li>SendCommon()
 : <a class="el" href="classServer.html#a10">Server</a><li>SendFrom()
 : <a class="el" href="classServer.html#a6">Server</a><li>SendMode()
-: <a class="el" href="classServer.html#a21">Server</a><li>SendOpers()
+: <a class="el" href="classServer.html#a22">Server</a><li>SendOpers()
 : <a class="el" href="classServer.html#a2">Server</a><li>SendPacket()
 : <a class="el" href="classconnection.html#a4">connection</a><li>SendServ()
 : <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>SendToModeMask()
-: <a class="el" href="classServer.html#a22">Server</a><li>SendWallops()
+: <a class="el" href="classServer.html#a23">Server</a><li>SendWallops()
 : <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>Server::JoinUserToChannel()
-: <a class="el" href="classServer.html#a23">Server</a><li>Server::PartUserFromChannel()
-: <a class="el" href="classServer.html#a24">Server</a><li>serverrec()
+: <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
@@ -254,7 +257,7 @@ Here is a list of all class members with links to the classes they belong to:<h3
 : <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 Tue Apr 6 21:13:39 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index 35ec5a0e99f7ccf5c7ed41074ed15f576e681b5d..20d0676196fa3af47cf6895a7913cb24b336087f 100644 (file)
@@ -102,7 +102,7 @@ Here is a list of all file members with links to the files they belong to:<h3><a
 </h3><ul>
 <li>VERBOSE
 : <a class="el" href="modules_8h.html#a1">modules.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14:23 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:21:00 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>
index d5d0cedafc713aa6da8a75d9cc726f8a5e15edca..74b47f62eebda001f198d0b4edfd5eb1d15fbcc0 100644 (file)
@@ -69,7 +69,7 @@ A purple dashed arrow is used if a class is contained or used by another class.
 <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 Tue Apr 6 21:14:23 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:21:01 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>
index 35b40e7d5f11403724c39ea061a96dab713911b0..0ecdf735485d2aee15bb5e444a965155882ffe6c 100644 (file)
@@ -39,7 +39,7 @@ This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
 </ul>
 <li><a class="el" href="classExtMode.html">ExtMode</a>
 </ul>
-<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13:39 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index 58acc7af6a1d48fc14f52c00c9247731c9adb5c3..4a6f31a42fa68d9a1e534bcaf82d6ca531890bab 100644 (file)
@@ -39,7 +39,7 @@
 <area href="classExtMode.html" shape="rect" coords="19,5,77,26" alt="">
 </map></td></tr>
 </table>
-<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14:26 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:21:03 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>
index 17778ac5c7773b654b02e94d017dbb64d68fdd82..13863df46100eead34a44718287a8e5f6020cec4 100644 (file)
@@ -8,7 +8,7 @@
 <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
 <hr><h1>InspIRCd Documentation</h1>
 <p>
-<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13:19 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index a6398c94afb16da95b1b587ad5e8bc9cdf59d76c..38b2bb45b9399107098a9955e52c93d6feed511c 100644 (file)
 00011 <span class="preprocessor">#include "<a class="code" href="modules_8h.html">modules.h</a>"</span>
 00012 <span class="preprocessor">#include "<a class="code" href="ctables_8h.html">ctables.h</a>"</span>
 00013 <span class="preprocessor">#include "inspircd_io.h"</span>
-00014 
-00015 <span class="comment">// class type for holding an extended mode character - internal to core</span>
-00016 
-<a name="l00017"></a><a class="code" href="classExtMode.html">00017</a> <span class="keyword">class </span><a class="code" href="classExtMode.html">ExtMode</a>
-00018 {
-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">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&lt;ExtMode&gt; <a class="code" href="modules_8cpp.html#a0">ExtModeList</a>;
-<a name="l00029"></a><a class="code" href="modules_8cpp.html#a1">00029</a> <span class="keyword">typedef</span> ExtModeList::iterator <a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a>;
-00030 
-<a name="l00031"></a><a class="code" href="modules_8cpp.html#a2">00031</a> <a class="code" href="modules_8cpp.html#a0">ExtModeList</a> <a class="code" href="modules_8cpp.html#a2">EMode</a>;
-00032 
-00033 <span class="comment">// returns true if an extended mode character is in use</span>
-<a name="l00034"></a><a class="code" href="modules_8cpp.html#a4">00034</a> <span class="keywordtype">bool</span> <a class="code" href="modules_8cpp.html#a4">ModeDefined</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type)
-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());
-00037         <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 &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
-00038         {
-00039                 log(DEBUG,<span class="stringliteral">"i-&gt;modechar==%c, modechar=%c, i-&gt;type=%d, type=%d"</span>,i-&gt;modechar,modechar,i-&gt;type,type);
-00040                 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
-00041                 {
-00042                         <span class="keywordflow">return</span> <span class="keyword">true</span>;
-00043                 }
-00044         }
-00045         <span class="keywordflow">return</span> <span class="keyword">false</span>;
-00046 }
-00047 
-<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 &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
-00052         {
-00053                 log(DEBUG,<span class="stringliteral">"i-&gt;modechar==%c, modechar=%c, i-&gt;type=%d, type=%d"</span>,i-&gt;modechar,modechar,i-&gt;type,type);
-00054                 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type) &amp;&amp; (i-&gt;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 &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
-00066         {
-00067                 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
-00068                 {
-00069                         <span class="keywordflow">return</span> i-&gt;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 &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
-00079         {
-00080                 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
-00081                 {
-00082                         <span class="keywordflow">return</span> i-&gt;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 
+00014 <span class="preprocessor">#include "wildcard.h"</span>
+00015 
+00016 <span class="comment">// class type for holding an extended mode character - internal to core</span>
+00017 
+<a name="l00018"></a><a class="code" href="classExtMode.html">00018</a> <span class="keyword">class </span><a class="code" href="classExtMode.html">ExtMode</a>
+00019 {
+00020 <span class="keyword">public</span>:
+<a name="l00021"></a><a class="code" href="classExtMode.html#m0">00021</a>         <span class="keywordtype">char</span> <a class="code" href="classExtMode.html#m0">modechar</a>;
+<a name="l00022"></a><a class="code" href="classExtMode.html#m1">00022</a>         <span class="keywordtype">int</span> <a class="code" href="classExtMode.html#m1">type</a>;
+<a name="l00023"></a><a class="code" href="classExtMode.html#m2">00023</a>         <span class="keywordtype">int</span> <a class="code" href="classExtMode.html#m2">params_when_on</a>;
+<a name="l00024"></a><a class="code" href="classExtMode.html#m3">00024</a>         <span class="keywordtype">int</span> <a class="code" href="classExtMode.html#m3">params_when_off</a>;
+<a name="l00025"></a><a class="code" href="classExtMode.html#m4">00025</a>         <span class="keywordtype">bool</span> <a class="code" href="classExtMode.html#m4">needsoper</a>;
+<a name="l00026"></a><a class="code" href="classExtMode.html#a0">00026</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) { };
+00027 };                                     
+00028 
+<a name="l00029"></a><a class="code" href="modules_8cpp.html#a0">00029</a> <span class="keyword">typedef</span> std::vector&lt;ExtMode&gt; <a class="code" href="modules_8cpp.html#a0">ExtModeList</a>;
+<a name="l00030"></a><a class="code" href="modules_8cpp.html#a1">00030</a> <span class="keyword">typedef</span> ExtModeList::iterator <a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a>;
+00031 
+<a name="l00032"></a><a class="code" href="modules_8cpp.html#a2">00032</a> <a class="code" href="modules_8cpp.html#a0">ExtModeList</a> <a class="code" href="modules_8cpp.html#a2">EMode</a>;
+00033 
+00034 <span class="comment">// returns true if an extended mode character is in use</span>
+<a name="l00035"></a><a class="code" href="modules_8cpp.html#a4">00035</a> <span class="keywordtype">bool</span> <a class="code" href="modules_8cpp.html#a4">ModeDefined</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type)
+00036 {
+00037         log(DEBUG,<span class="stringliteral">"Size of extmodes vector is %d"</span>,<a class="code" href="modules_8cpp.html#a2">EMode</a>.size());
+00038         <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 &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
+00039         {
+00040                 log(DEBUG,<span class="stringliteral">"i-&gt;modechar==%c, modechar=%c, i-&gt;type=%d, type=%d"</span>,i-&gt;modechar,modechar,i-&gt;type,type);
+00041                 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
+00042                 {
+00043                         <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00044                 }
+00045         }
+00046         <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00047 }
+00048 
+<a name="l00049"></a><a class="code" href="modules_8cpp.html#a5">00049</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)
+00050 {
+00051         log(DEBUG,<span class="stringliteral">"Size of extmodes vector is %d"</span>,<a class="code" href="modules_8cpp.html#a2">EMode</a>.size());
+00052         <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 &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
+00053         {
+00054                 log(DEBUG,<span class="stringliteral">"i-&gt;modechar==%c, modechar=%c, i-&gt;type=%d, type=%d"</span>,i-&gt;modechar,modechar,i-&gt;type,type);
+00055                 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type) &amp;&amp; (i-&gt;needsoper == <span class="keyword">true</span>))
+00056                 {
+00057                         <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00058                 }
+00059         }
+00060         <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00061 }
+00062 
+00063 <span class="comment">// returns number of parameters for a custom mode when it is switched on</span>
+<a name="l00064"></a><a class="code" href="modules_8cpp.html#a6">00064</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)
+00065 {
+00066         <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 &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
+00067         {
+00068                 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
+00069                 {
+00070                         <span class="keywordflow">return</span> i-&gt;params_when_on;
+00071                 }
+00072         }
+00073         <span class="keywordflow">return</span> 0;
+00074 }
+00075 
+00076 <span class="comment">// returns number of parameters for a custom mode when it is switched on</span>
+<a name="l00077"></a><a class="code" href="modules_8cpp.html#a7">00077</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)
+00078 {
+00079         <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 &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
+00080         {
+00081                 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
+00082                 {
+00083                         <span class="keywordflow">return</span> i-&gt;params_when_off;
+00084                 }
+00085         }
+00086         <span class="keywordflow">return</span> 0;
+00087 }
+00088 
+00089 <span class="comment">// returns true if an extended mode character is in use</span>
+<a name="l00090"></a><a class="code" href="modules_8cpp.html#a8">00090</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)
+00091 {
+00092         <span class="keywordflow">if</span> (<a class="code" href="modules_8cpp.html#a4">ModeDefined</a>(modechar,type)) {
+00093                 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00094         }
+00095         <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));
+00096         <span class="keywordflow">return</span> <span class="keyword">true</span>;
+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 
-<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 &amp;raw, <span class="keywordtype">bool</span> inbound) { }
-<a name="l00117"></a><a class="code" href="classModule.html#a12">00117</a> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a12">Module::OnUserPreJoin</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <span class="keyword">const</span> <span class="keywordtype">char</span>* cname) { <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, <span class="keywordtype">void</span>* target, <span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> mode_on, string_list &amp;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); }
-<a name="l00120"></a><a class="code" href="classModule.html#a13">00120</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a13">Module::OnOper</a>(<a class="code" href="classuserrec.html">userrec</a>* user) { };
-<a name="l00121"></a><a class="code" href="classModule.html#a14">00121</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a14">Module::OnInfo</a>(<a class="code" href="classuserrec.html">userrec</a>* user) { };
-<a name="l00122"></a><a class="code" href="classModule.html#a15">00122</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a15">Module::OnWhois</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="classuserrec.html">userrec</a>* dest) { };
-<a name="l00123"></a><a class="code" href="classModule.html#a16">00123</a> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a16">Module::OnUserPreMessage</a>(<a class="code" href="classuserrec.html">userrec</a>* user,<span class="keywordtype">void</span>* dest,<span class="keywordtype">int</span> target_type, std::string text) { <span class="keywordflow">return</span> 0; };
-<a name="l00124"></a><a class="code" href="classModule.html#a17">00124</a> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a17">Module::OnUserPreNotice</a>(<a class="code" href="classuserrec.html">userrec</a>* user,<span class="keywordtype">void</span>* dest,<span class="keywordtype">int</span> target_type, std::string text) { <span class="keywordflow">return</span> 0; };
-00125 
-00126 <span class="comment">// server is a wrapper class that provides methods to all of the C-style</span>
-00127 <span class="comment">// exports in the core</span>
-00128 <span class="comment">//</span>
-00129 
-<a name="l00130"></a><a class="code" href="classServer.html#a0">00130</a> <a class="code" href="classServer.html#a0">Server::Server</a>()
-00131 {
-00132 }
-00133 
-<a name="l00134"></a><a class="code" href="classServer.html#a1">00134</a> <a class="code" href="classServer.html#a1">Server::~Server</a>()
-00135 {
-00136 }
-00137 
-<a name="l00138"></a><a class="code" href="classServer.html#a2">00138</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a2">Server::SendOpers</a>(std::string s)
-00139 {
-00140         WriteOpers(<span class="stringliteral">"%s"</span>,s.c_str());
-00141 }
-00142 
-<a name="l00143"></a><a class="code" href="classServer.html#a22">00143</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a22">Server::SendToModeMask</a>(std::string modes, <span class="keywordtype">int</span> flags, std::string text)
-00144 {
-00145         WriteMode(modes.c_str(),flags,<span class="stringliteral">"%s"</span>,text.c_str());
-00146 }
-00147 
-00148 <a class="code" href="classchanrec.html">chanrec</a>* Server::JoinUserToChannel(<a class="code" href="classuserrec.html">userrec</a>* user, std::string cname, std::string key)
-00149 {
-00150         <span class="keywordflow">return</span> add_channel(user,cname.c_str(),key.c_str());
-00151 }
-00152 
-00153 <a class="code" href="classchanrec.html">chanrec</a>* Server::PartUserFromChannel(<a class="code" href="classuserrec.html">userrec</a>* user, std::string cname, std::string reason)
-00154 {
-00155         <span class="keywordflow">return</span> del_channel(user,cname.c_str(),reason.c_str());
-00156 }
-00157 
-<a name="l00158"></a><a class="code" href="classServer.html#a25">00158</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a25">Server::ChangeUserNick</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string nickname)
-00159 {
-00160         force_nickchange(user,nickname.c_str());
-00161 }
-00162 
-<a name="l00163"></a><a class="code" href="classServer.html#a26">00163</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a26">Server::QuitUser</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string reason)
-00164 {
-00165         kill_link(user,reason.c_str());
-00166 }
-00167 
-00168 
-<a name="l00169"></a><a class="code" href="classServer.html#a3">00169</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)
-00170 {
-00171         log(level,<span class="stringliteral">"%s"</span>,s.c_str());
-00172 }
-00173 
-<a name="l00174"></a><a class="code" href="classServer.html#a20">00174</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)
-00175 {
-00176         <a class="code" href="modules_8h.html#a13">createcommand</a>(cmd,f,flags,minparams);
-00177 }
-00178 
-<a name="l00179"></a><a class="code" href="classServer.html#a21">00179</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)
-00180 {
-00181         <a class="code" href="modules_8h.html#a14">server_mode</a>(parameters,pcnt,user);
-00182 }
-00183 
-<a name="l00184"></a><a class="code" href="classServer.html#a4">00184</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)
-00185 {
-00186         Write(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
-00187 }
-00188 
-<a name="l00189"></a><a class="code" href="classServer.html#a5">00189</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)
-00190 {
-00191         WriteServ(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
-00192 }
-00193 
-<a name="l00194"></a><a class="code" href="classServer.html#a6">00194</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)
-00195 {
-00196         WriteFrom(Socket,User,<span class="stringliteral">"%s"</span>,s.c_str());
-00197 }
-00198 
-<a name="l00199"></a><a class="code" href="classServer.html#a7">00199</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)
-00200 {
-00201         WriteTo(Source,Dest,<span class="stringliteral">"%s"</span>,s.c_str());
-00202 }
-00203 
-<a name="l00204"></a><a class="code" href="classServer.html#a8">00204</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)
-00205 {
-00206         <span class="keywordflow">if</span> (IncludeSender)
-00207         {
-00208                 WriteChannel(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
-00209         }
-00210         <span class="keywordflow">else</span>
+00099 
+00100 <span class="comment">// version is a simple class for holding a modules version number</span>
+00101 
+<a name="l00102"></a><a class="code" href="classVersion.html#a0">00102</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) { };
+00103 
+00104 <span class="comment">// admin is a simple class for holding a server's administrative info</span>
+00105 
+<a name="l00106"></a><a class="code" href="classAdmin.html#a0">00106</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) { };
+00107 
+<a name="l00108"></a><a class="code" href="classModule.html#a0">00108</a> <a class="code" href="classModule.html#a0">Module::Module</a>() { }
+<a name="l00109"></a><a class="code" href="classModule.html#a1">00109</a> <a class="code" href="classModule.html#a1">Module::~Module</a>() { }
+<a name="l00110"></a><a class="code" href="classModule.html#a3">00110</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="l00111"></a><a class="code" href="classModule.html#a4">00111</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="l00112"></a><a class="code" href="classModule.html#a5">00112</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="l00113"></a><a class="code" href="classModule.html#a6">00113</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="l00114"></a><a class="code" href="classModule.html#a7">00114</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a7">Module::OnPacketTransmit</a>(<span class="keywordtype">char</span> *p) { }
+<a name="l00115"></a><a class="code" href="classModule.html#a8">00115</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a8">Module::OnPacketReceive</a>(<span class="keywordtype">char</span> *p) { }
+<a name="l00116"></a><a class="code" href="classModule.html#a9">00116</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a9">Module::OnRehash</a>() { }
+<a name="l00117"></a><a class="code" href="classModule.html#a10">00117</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a10">Module::OnServerRaw</a>(std::string &amp;raw, <span class="keywordtype">bool</span> inbound) { }
+<a name="l00118"></a><a class="code" href="classModule.html#a12">00118</a> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a12">Module::OnUserPreJoin</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <span class="keyword">const</span> <span class="keywordtype">char</span>* cname) { <span class="keywordflow">return</span> 0; }
+<a name="l00119"></a><a class="code" href="classModule.html#a11">00119</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, <span class="keywordtype">void</span>* target, <span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> mode_on, string_list &amp;params) { }
+<a name="l00120"></a><a class="code" href="classModule.html#a2">00120</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); }
+<a name="l00121"></a><a class="code" href="classModule.html#a13">00121</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a13">Module::OnOper</a>(<a class="code" href="classuserrec.html">userrec</a>* user) { };
+<a name="l00122"></a><a class="code" href="classModule.html#a14">00122</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a14">Module::OnInfo</a>(<a class="code" href="classuserrec.html">userrec</a>* user) { };
+<a name="l00123"></a><a class="code" href="classModule.html#a15">00123</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a15">Module::OnWhois</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="classuserrec.html">userrec</a>* dest) { };
+<a name="l00124"></a><a class="code" href="classModule.html#a16">00124</a> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a16">Module::OnUserPreMessage</a>(<a class="code" href="classuserrec.html">userrec</a>* user,<span class="keywordtype">void</span>* dest,<span class="keywordtype">int</span> target_type, std::string text) { <span class="keywordflow">return</span> 0; };
+<a name="l00125"></a><a class="code" href="classModule.html#a17">00125</a> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a17">Module::OnUserPreNotice</a>(<a class="code" href="classuserrec.html">userrec</a>* user,<span class="keywordtype">void</span>* dest,<span class="keywordtype">int</span> target_type, std::string text) { <span class="keywordflow">return</span> 0; };
+00126 
+00127 <span class="comment">// server is a wrapper class that provides methods to all of the C-style</span>
+00128 <span class="comment">// exports in the core</span>
+00129 <span class="comment">//</span>
+00130 
+<a name="l00131"></a><a class="code" href="classServer.html#a0">00131</a> <a class="code" href="classServer.html#a0">Server::Server</a>()
+00132 {
+00133 }
+00134 
+<a name="l00135"></a><a class="code" href="classServer.html#a1">00135</a> <a class="code" href="classServer.html#a1">Server::~Server</a>()
+00136 {
+00137 }
+00138 
+<a name="l00139"></a><a class="code" href="classServer.html#a2">00139</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a2">Server::SendOpers</a>(std::string s)
+00140 {
+00141         WriteOpers(<span class="stringliteral">"%s"</span>,s.c_str());
+00142 }
+00143 
+<a name="l00144"></a><a class="code" href="classServer.html#a28">00144</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a28">Server::MatchText</a>(std::string sliteral, std::string spattern)
+00145 {
+00146         <span class="keywordtype">char</span> literal[MAXBUF],pattern[MAXBUF];
+00147         strncpy(literal,sliteral.c_str(),MAXBUF);
+00148         strncpy(pattern,spattern.c_str(),MAXBUF);
+00149         <span class="keywordflow">return</span> match(literal,pattern);
+00150 }
+00151 
+<a name="l00152"></a><a class="code" href="classServer.html#a23">00152</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a23">Server::SendToModeMask</a>(std::string modes, <span class="keywordtype">int</span> flags, std::string text)
+00153 {
+00154         WriteMode(modes.c_str(),flags,<span class="stringliteral">"%s"</span>,text.c_str());
+00155 }
+00156 
+<a name="l00157"></a><a class="code" href="classServer.html#a24">00157</a> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#a24">Server::JoinUserToChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string cname, std::string key)
+00158 {
+00159         <span class="keywordflow">return</span> add_channel(user,cname.c_str(),key.c_str());
+00160 }
+00161 
+<a name="l00162"></a><a class="code" href="classServer.html#a25">00162</a> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#a25">Server::PartUserFromChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string cname, std::string reason)
+00163 {
+00164         <span class="keywordflow">return</span> del_channel(user,cname.c_str(),reason.c_str());
+00165 }
+00166 
+<a name="l00167"></a><a class="code" href="classServer.html#a26">00167</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a26">Server::ChangeUserNick</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string nickname)
+00168 {
+00169         force_nickchange(user,nickname.c_str());
+00170 }
+00171 
+<a name="l00172"></a><a class="code" href="classServer.html#a27">00172</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a27">Server::QuitUser</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string reason)
+00173 {
+00174         kill_link(user,reason.c_str());
+00175 }
+00176 
+00177 
+<a name="l00178"></a><a class="code" href="classServer.html#a3">00178</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)
+00179 {
+00180         log(level,<span class="stringliteral">"%s"</span>,s.c_str());
+00181 }
+00182 
+<a name="l00183"></a><a class="code" href="classServer.html#a21">00183</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a21">Server::AddCommand</a>(<span class="keywordtype">char</span>* cmd, handlerfunc f, <span class="keywordtype">char</span> flags, <span class="keywordtype">int</span> minparams)
+00184 {
+00185         <a class="code" href="modules_8h.html#a13">createcommand</a>(cmd,f,flags,minparams);
+00186 }
+00187 
+<a name="l00188"></a><a class="code" href="classServer.html#a22">00188</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a22">Server::SendMode</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user)
+00189 {
+00190         <a class="code" href="modules_8h.html#a14">server_mode</a>(parameters,pcnt,user);
+00191 }
+00192 
+<a name="l00193"></a><a class="code" href="classServer.html#a4">00193</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)
+00194 {
+00195         Write(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
+00196 }
+00197 
+<a name="l00198"></a><a class="code" href="classServer.html#a5">00198</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)
+00199 {
+00200         WriteServ(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
+00201 }
+00202 
+<a name="l00203"></a><a class="code" href="classServer.html#a6">00203</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)
+00204 {
+00205         WriteFrom(Socket,User,<span class="stringliteral">"%s"</span>,s.c_str());
+00206 }
+00207 
+<a name="l00208"></a><a class="code" href="classServer.html#a7">00208</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)
+00209 {
+00210         <span class="keywordflow">if</span> (!Source)
 00211         {
-00212                 ChanExceptSender(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
-00213         }
-00214 }
-00215 
-<a name="l00216"></a><a class="code" href="classServer.html#a9">00216</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)
-00217 {
-00218         <span class="keywordflow">return</span> (common_channels(u1,u2) != 0);
-00219 }
-00220 
-<a name="l00221"></a><a class="code" href="classServer.html#a10">00221</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)
-00222 {
-00223         <span class="keywordflow">if</span> (IncludeSender)
-00224         {
-00225                 WriteCommon(User,<span class="stringliteral">"%s"</span>,text.c_str());
-00226         }
-00227         <span class="keywordflow">else</span>
-00228         {
-00229                 WriteCommonExcept(User,<span class="stringliteral">"%s"</span>,text.c_str());
-00230         }
-00231 }
-00232 
-<a name="l00233"></a><a class="code" href="classServer.html#a11">00233</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)
-00234 {
-00235         WriteWallOps(User,<span class="stringliteral">"%s"</span>,text.c_str());
-00236 }
-00237 
-<a name="l00238"></a><a class="code" href="classServer.html#a12">00238</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a12">Server::IsNick</a>(std::string nick)
-00239 {
-00240         <span class="keywordflow">return</span> (isnick(nick.c_str()) != 0);
-00241 }
-00242 
-<a name="l00243"></a><a class="code" href="classServer.html#a13">00243</a> <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="classServer.html#a13">Server::FindNick</a>(std::string nick)
-00244 {
-00245         <span class="keywordflow">return</span> Find(nick);
-00246 }
-00247 
-<a name="l00248"></a><a class="code" href="classServer.html#a14">00248</a> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#a14">Server::FindChannel</a>(std::string channel)
-00249 {
-00250         <span class="keywordflow">return</span> FindChan(channel.c_str());
-00251 }
-00252 
-<a name="l00253"></a><a class="code" href="classServer.html#a15">00253</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)
-00254 {
-00255         <span class="keywordflow">return</span> cmode(User,Chan);
-00256 }
-00257 
-<a name="l00258"></a><a class="code" href="classServer.html#a16">00258</a> std::string <a class="code" href="classServer.html#a16">Server::GetServerName</a>()
-00259 {
-00260         <span class="keywordflow">return</span> getservername();
-00261 }
-00262 
-<a name="l00263"></a><a class="code" href="classServer.html#a17">00263</a> std::string <a class="code" href="classServer.html#a17">Server::GetNetworkName</a>()
-00264 {
-00265         <span class="keywordflow">return</span> getnetworkname();
-00266 }
-00267 
-<a name="l00268"></a><a class="code" href="classServer.html#a18">00268</a> <a class="code" href="classAdmin.html">Admin</a> <a class="code" href="classServer.html#a18">Server::GetAdmin</a>()
-00269 {
-00270         <span class="keywordflow">return</span> <a class="code" href="classAdmin.html">Admin</a>(getadminname(),getadminemail(),getadminnick());
-00271 }
-00272 
-00273 
-00274 
-<a name="l00275"></a><a class="code" href="classServer.html#a19">00275</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)
-00276 {
-00277         <span class="keywordflow">if</span> (type == <a class="code" href="modules_8h.html#a7">MT_SERVER</a>)
-00278         {
-00279                 log(DEBUG,<span class="stringliteral">"*** API ERROR *** Modes of type MT_SERVER are reserved for future expansion"</span>);
-00280                 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-00281         }
-00282         <span class="keywordflow">if</span> (((params_when_on&gt;0) || (params_when_off&gt;0)) &amp;&amp; (type == <a class="code" href="modules_8h.html#a6">MT_CLIENT</a>))
-00283         {
-00284                 log(DEBUG,<span class="stringliteral">"*** API ERROR *** Parameters on MT_CLIENT modes are not supported"</span>);
-00285                 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-00286         }
-00287         <span class="keywordflow">if</span> ((params_when_on&gt;1) || (params_when_off&gt;1))
-00288         {
-00289                 log(DEBUG,<span class="stringliteral">"*** API ERROR *** More than one parameter for an MT_CHANNEL mode is not yet supported"</span>);
-00290                 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-00291         }
-00292         <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);
-00293 }
-00294 
-00295 
-<a name="l00296"></a><a class="code" href="classConfigReader.html#a0">00296</a> <a class="code" href="classConfigReader.html#a0">ConfigReader::ConfigReader</a>()
-00297 {
-00298         <a class="code" href="classConfigReader.html#n0">fname</a> = CONFIG_FILE;
-00299 }
-00300 
-00301 
-<a name="l00302"></a><a class="code" href="classConfigReader.html#a2">00302</a> <a class="code" href="classConfigReader.html#a2">ConfigReader::~ConfigReader</a>()
-00303 {
-00304 }
-00305 
-00306 
-<a name="l00307"></a><a class="code" href="classConfigReader.html#a1">00307</a> <a class="code" href="classConfigReader.html#a0">ConfigReader::ConfigReader</a>(std::string filename) : fname(filename) { };
-00308 
-<a name="l00309"></a><a class="code" href="classConfigReader.html#a3">00309</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)
-00310 {
-00311         <span class="keywordtype">char</span> val[MAXBUF];
-00312         ReadConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str(),name.c_str(),index,val);
-00313         <span class="keywordflow">return</span> val;
-00314 }
-00315 
-00316 
-<a name="l00317"></a><a class="code" href="classConfigReader.html#a4">00317</a> <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#a4">ConfigReader::Enumerate</a>(std::string tag)
-00318 {
-00319         <span class="keywordflow">return</span> EnumConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str());
-00320 }
-00321 
-00322 
-<a name="l00323"></a><a class="code" href="classConfigReader.html#a5">00323</a> <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#a5">ConfigReader::Verify</a>()
-00324 {
-00325         <span class="keywordflow">return</span> <span class="keyword">true</span>;
-00326 }
-00327 
-00328 
-<a name="l00329"></a><a class="code" href="classFileReader.html#a1">00329</a> <a class="code" href="classFileReader.html#a0">FileReader::FileReader</a>(std::string filename)
-00330 {
-00331         <a class="code" href="modules_8h.html#a10">file_cache</a> c;
-00332         readfile(c,filename.c_str());
-00333         this-&gt;<a class="code" href="classFileReader.html#o0">fc</a> = c;
-00334 }
-00335 
-<a name="l00336"></a><a class="code" href="classFileReader.html#a0">00336</a> <a class="code" href="classFileReader.html#a0">FileReader::FileReader</a>()
-00337 {
-00338 }
-00339 
-<a name="l00340"></a><a class="code" href="classFileReader.html#a3">00340</a> <span class="keywordtype">void</span> <a class="code" href="classFileReader.html#a3">FileReader::LoadFile</a>(std::string filename)
-00341 {
-00342         <a class="code" href="modules_8h.html#a10">file_cache</a> c;
-00343         readfile(c,filename.c_str());
-00344         this-&gt;<a class="code" href="classFileReader.html#o0">fc</a> = c;
-00345 }
+00212                 <span class="comment">// if source is NULL, then the message originates from the local server</span>
+00213                 Write(Dest-&gt;<a class="code" href="classconnection.html#m1">fd</a>,<span class="stringliteral">":%s %s"</span>,this-&gt;GetServerName().c_str(),s.c_str());
+00214         }
+00215         <span class="keywordflow">else</span>
+00216         {
+00217                 <span class="comment">// otherwise it comes from the user specified</span>
+00218                 WriteTo(Source,Dest,<span class="stringliteral">"%s"</span>,s.c_str());
+00219         }
+00220 }
+00221 
+<a name="l00222"></a><a class="code" href="classServer.html#a8">00222</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)
+00223 {
+00224         <span class="keywordflow">if</span> (IncludeSender)
+00225         {
+00226                 WriteChannel(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
+00227         }
+00228         <span class="keywordflow">else</span>
+00229         {
+00230                 ChanExceptSender(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
+00231         }
+00232 }
+00233 
+<a name="l00234"></a><a class="code" href="classServer.html#a9">00234</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)
+00235 {
+00236         <span class="keywordflow">return</span> (common_channels(u1,u2) != 0);
+00237 }
+00238 
+<a name="l00239"></a><a class="code" href="classServer.html#a10">00239</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)
+00240 {
+00241         <span class="keywordflow">if</span> (IncludeSender)
+00242         {
+00243                 WriteCommon(User,<span class="stringliteral">"%s"</span>,text.c_str());
+00244         }
+00245         <span class="keywordflow">else</span>
+00246         {
+00247                 WriteCommonExcept(User,<span class="stringliteral">"%s"</span>,text.c_str());
+00248         }
+00249 }
+00250 
+<a name="l00251"></a><a class="code" href="classServer.html#a11">00251</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)
+00252 {
+00253         WriteWallOps(User,<span class="stringliteral">"%s"</span>,text.c_str());
+00254 }
+00255 
+<a name="l00256"></a><a class="code" href="classServer.html#a12">00256</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a12">Server::IsNick</a>(std::string nick)
+00257 {
+00258         <span class="keywordflow">return</span> (isnick(nick.c_str()) != 0);
+00259 }
+00260 
+<a name="l00261"></a><a class="code" href="classServer.html#a14">00261</a> <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="classServer.html#a14">Server::FindNick</a>(std::string nick)
+00262 {
+00263         <span class="keywordflow">return</span> Find(nick);
+00264 }
+00265 
+<a name="l00266"></a><a class="code" href="classServer.html#a15">00266</a> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#a15">Server::FindChannel</a>(std::string channel)
+00267 {
+00268         <span class="keywordflow">return</span> FindChan(channel.c_str());
+00269 }
+00270 
+<a name="l00271"></a><a class="code" href="classServer.html#a16">00271</a> std::string <a class="code" href="classServer.html#a16">Server::ChanMode</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Chan)
+00272 {
+00273         <span class="keywordflow">return</span> cmode(User,Chan);
+00274 }
+00275 
+<a name="l00276"></a><a class="code" href="classServer.html#a17">00276</a> std::string <a class="code" href="classServer.html#a17">Server::GetServerName</a>()
+00277 {
+00278         <span class="keywordflow">return</span> getservername();
+00279 }
+00280 
+<a name="l00281"></a><a class="code" href="classServer.html#a18">00281</a> std::string <a class="code" href="classServer.html#a18">Server::GetNetworkName</a>()
+00282 {
+00283         <span class="keywordflow">return</span> getnetworkname();
+00284 }
+00285 
+<a name="l00286"></a><a class="code" href="classServer.html#a19">00286</a> <a class="code" href="classAdmin.html">Admin</a> <a class="code" href="classServer.html#a19">Server::GetAdmin</a>()
+00287 {
+00288         <span class="keywordflow">return</span> <a class="code" href="classAdmin.html">Admin</a>(getadminname(),getadminemail(),getadminnick());
+00289 }
+00290 
+00291 
+00292 
+<a name="l00293"></a><a class="code" href="classServer.html#a20">00293</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a20">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)
+00294 {
+00295         <span class="keywordflow">if</span> (type == <a class="code" href="modules_8h.html#a7">MT_SERVER</a>)
+00296         {
+00297                 log(DEBUG,<span class="stringliteral">"*** API ERROR *** Modes of type MT_SERVER are reserved for future expansion"</span>);
+00298                 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00299         }
+00300         <span class="keywordflow">if</span> (((params_when_on&gt;0) || (params_when_off&gt;0)) &amp;&amp; (type == <a class="code" href="modules_8h.html#a6">MT_CLIENT</a>))
+00301         {
+00302                 log(DEBUG,<span class="stringliteral">"*** API ERROR *** Parameters on MT_CLIENT modes are not supported"</span>);
+00303                 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00304         }
+00305         <span class="keywordflow">if</span> ((params_when_on&gt;1) || (params_when_off&gt;1))
+00306         {
+00307                 log(DEBUG,<span class="stringliteral">"*** API ERROR *** More than one parameter for an MT_CHANNEL mode is not yet supported"</span>);
+00308                 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00309         }
+00310         <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);
+00311 }
+00312 
+<a name="l00313"></a><a class="code" href="classServer.html#a13">00313</a> <span class="keywordtype">int</span> <a class="code" href="classServer.html#a13">Server::CountUsers</a>(<a class="code" href="classchanrec.html">chanrec</a>* c)
+00314 {
+00315         <span class="keywordflow">return</span> usercount(c);
+00316 }
+00317 
+00318 
+<a name="l00319"></a><a class="code" href="classConfigReader.html#a0">00319</a> <a class="code" href="classConfigReader.html#a0">ConfigReader::ConfigReader</a>()
+00320 {
+00321         this-&gt;<a class="code" href="classConfigReader.html#n0">cache</a> = <span class="keyword">new</span> std::stringstream(stringstream::in | stringstream::out);
+00322         this-&gt;<a class="code" href="classConfigReader.html#n1">error</a> = LoadConf(CONFIG_FILE,this-&gt;cache);
+00323 }
+00324 
+00325 
+<a name="l00326"></a><a class="code" href="classConfigReader.html#a2">00326</a> <a class="code" href="classConfigReader.html#a2">ConfigReader::~ConfigReader</a>()
+00327 {
+00328         <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classConfigReader.html#n0">cache</a>)
+00329                 <span class="keyword">delete</span> this-&gt;<a class="code" href="classConfigReader.html#n0">cache</a>;
+00330 }
+00331 
+00332 
+<a name="l00333"></a><a class="code" href="classConfigReader.html#a1">00333</a> <a class="code" href="classConfigReader.html#a0">ConfigReader::ConfigReader</a>(std::string filename)
+00334 {
+00335         this-&gt;<a class="code" href="classConfigReader.html#n0">cache</a> = <span class="keyword">new</span> std::stringstream(stringstream::in | stringstream::out);
+00336         this-&gt;<a class="code" href="classConfigReader.html#n1">error</a> = LoadConf(filename.c_str(),this-&gt;<a class="code" href="classConfigReader.html#n0">cache</a>);
+00337 };
+00338 
+<a name="l00339"></a><a class="code" href="classConfigReader.html#a3">00339</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)
+00340 {
+00341         <span class="keywordtype">char</span> val[MAXBUF];
+00342         ReadConf(cache,tag.c_str(),name.c_str(),index,val);
+00343         <span class="keywordflow">return</span> val;
+00344 }
+00345 
 00346 
-00347 
-<a name="l00348"></a><a class="code" href="classFileReader.html#a2">00348</a> <a class="code" href="classFileReader.html#a2">FileReader::~FileReader</a>()
-00349 {
+<a name="l00347"></a><a class="code" href="classConfigReader.html#a4">00347</a> <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#a4">ConfigReader::Enumerate</a>(std::string tag)
+00348 {
+00349         <span class="keywordflow">return</span> EnumConf(cache,tag.c_str());
 00350 }
 00351 
-<a name="l00352"></a><a class="code" href="classFileReader.html#a4">00352</a> <span class="keywordtype">bool</span> <a class="code" href="classFileReader.html#a4">FileReader::Exists</a>()
-00353 {
-00354         <span class="keywordflow">if</span> (<a class="code" href="classFileReader.html#o0">fc</a>.size() == 0)
-00355         {
-00356                 <span class="keywordflow">return</span>(false);
-00357         }
-00358         <span class="keywordflow">else</span>
-00359         {
-00360                 <span class="keywordflow">return</span>(true);
-00361         }
-00362 }
-00363 
-<a name="l00364"></a><a class="code" href="classFileReader.html#a5">00364</a> std::string <a class="code" href="classFileReader.html#a5">FileReader::GetLine</a>(<span class="keywordtype">int</span> x)
-00365 {
-00366         <span class="keywordflow">if</span> ((x&lt;0) || (x&gt;<a class="code" href="classFileReader.html#o0">fc</a>.size()))
-00367                 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
-00368         <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>[x];
-00369 }
-00370 
-<a name="l00371"></a><a class="code" href="classFileReader.html#a6">00371</a> <span class="keywordtype">int</span> <a class="code" href="classFileReader.html#a6">FileReader::FileSize</a>()
-00372 {
-00373         <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>.size();
-00374 }
-00375 
+00352 
+<a name="l00353"></a><a class="code" href="classConfigReader.html#a5">00353</a> <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#a5">ConfigReader::Verify</a>()
+00354 {
+00355         <span class="keywordflow">return</span> this-&gt;<a class="code" href="classConfigReader.html#n1">error</a>;
+00356 }
+00357 
+00358 
+<a name="l00359"></a><a class="code" href="classFileReader.html#a1">00359</a> <a class="code" href="classFileReader.html#a0">FileReader::FileReader</a>(std::string filename)
+00360 {
+00361         <a class="code" href="modules_8h.html#a10">file_cache</a> c;
+00362         readfile(c,filename.c_str());
+00363         this-&gt;<a class="code" href="classFileReader.html#o0">fc</a> = c;
+00364 }
+00365 
+<a name="l00366"></a><a class="code" href="classFileReader.html#a0">00366</a> <a class="code" href="classFileReader.html#a0">FileReader::FileReader</a>()
+00367 {
+00368 }
+00369 
+<a name="l00370"></a><a class="code" href="classFileReader.html#a3">00370</a> <span class="keywordtype">void</span> <a class="code" href="classFileReader.html#a3">FileReader::LoadFile</a>(std::string filename)
+00371 {
+00372         <a class="code" href="modules_8h.html#a10">file_cache</a> c;
+00373         readfile(c,filename.c_str());
+00374         this-&gt;<a class="code" href="classFileReader.html#o0">fc</a> = c;
+00375 }
 00376 
-00377 std::vector&lt;Module*&gt; <a class="code" href="modules_8cpp.html#a9">modules</a>(255);
-00378 std::vector&lt;ircd_module*&gt; <a class="code" href="modules_8cpp.html#a10">factory</a>(255);
-00379 
-<a name="l00380"></a><a class="code" href="modules_8cpp.html#a3">00380</a> <span class="keywordtype">int</span> <a class="code" href="modules_8cpp.html#a3">MODCOUNT</a>  = -1;
+00377 
+<a name="l00378"></a><a class="code" href="classFileReader.html#a2">00378</a> <a class="code" href="classFileReader.html#a2">FileReader::~FileReader</a>()
+00379 {
+00380 }
 00381 
-00382 
-</pre></div><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13:19 2004 for InspIRCd by
+<a name="l00382"></a><a class="code" href="classFileReader.html#a4">00382</a> <span class="keywordtype">bool</span> <a class="code" href="classFileReader.html#a4">FileReader::Exists</a>()
+00383 {
+00384         <span class="keywordflow">if</span> (<a class="code" href="classFileReader.html#o0">fc</a>.size() == 0)
+00385         {
+00386                 <span class="keywordflow">return</span>(false);
+00387         }
+00388         <span class="keywordflow">else</span>
+00389         {
+00390                 <span class="keywordflow">return</span>(true);
+00391         }
+00392 }
+00393 
+<a name="l00394"></a><a class="code" href="classFileReader.html#a5">00394</a> std::string <a class="code" href="classFileReader.html#a5">FileReader::GetLine</a>(<span class="keywordtype">int</span> x)
+00395 {
+00396         <span class="keywordflow">if</span> ((x&lt;0) || (x&gt;<a class="code" href="classFileReader.html#o0">fc</a>.size()))
+00397                 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
+00398         <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>[x];
+00399 }
+00400 
+<a name="l00401"></a><a class="code" href="classFileReader.html#a6">00401</a> <span class="keywordtype">int</span> <a class="code" href="classFileReader.html#a6">FileReader::FileSize</a>()
+00402 {
+00403         <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>.size();
+00404 }
+00405 
+00406 
+00407 std::vector&lt;Module*&gt; <a class="code" href="modules_8cpp.html#a9">modules</a>(255);
+00408 std::vector&lt;ircd_module*&gt; <a class="code" href="modules_8cpp.html#a10">factory</a>(255);
+00409 
+<a name="l00410"></a><a class="code" href="modules_8cpp.html#a3">00410</a> <span class="keywordtype">int</span> <a class="code" href="modules_8cpp.html#a3">MODCOUNT</a>  = -1;
+00411 
+00412 
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index dcff258df21d573eec7c4379499544922ac4c8a8..6b32431a5c54f49d01d7dc338454984af8360439 100644 (file)
 <code>#include "<a class="el" href="modules_8h-source.html">modules.h</a>"</code><br>
 <code>#include "<a class="el" href="ctables_8h-source.html">ctables.h</a>"</code><br>
 <code>#include "inspircd_io.h"</code><br>
+<code>#include "wildcard.h"</code><br>
 
 <p>
 Include dependency graph for modules.cpp:<p><center><img src="modules_8cpp__incl.gif" border="0" usemap="#modules.cpp_map" alt="Include dependency graph"></center>
 <map name="modules.cpp_map">
 <area href="modules_8h.html" shape="rect" coords="255,224,321,245" alt="">
-<area href="base_8h.html" shape="rect" coords="257,85,305,107" alt="">
-<area href="ctables_8h.html" shape="rect" coords="368,155,429,176" alt="">
+<area href="base_8h.html" shape="rect" coords="304,85,352,107" alt="">
+<area href="ctables_8h.html" shape="rect" coords="415,155,476,176" alt="">
 </map>
 
 <p>
@@ -63,7 +64,7 @@ Include dependency graph for modules.cpp:<p><center><img src="modules_8cpp__incl
 <p>
 
 <p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00028">28</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.    </td>
+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>.    </td>
   </tr>
 </table>
 <a name="a1" doxytag="modules.cpp::ExtModeListIter"></a><p>
@@ -87,9 +88,9 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00028">28</a> o
 <p>
 
 <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>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00030">30</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-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>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00035">ModeDefined()</a>, <a class="el" href="modules_8cpp-source.html#l00077">ModeDefinedOff()</a>, <a class="el" href="modules_8cpp-source.html#l00064">ModeDefinedOn()</a>, and <a class="el" href="modules_8cpp-source.html#l00049">ModeDefinedOper()</a>.    </td>
   </tr>
 </table>
 <hr><h2>Function Documentation</h2>
@@ -148,19 +149,19 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00034">ModeDefined()
 <p>
 
 <p>
-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>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00090">90</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>.
+References <a class="el" href="modules_8cpp-source.html#l00032">EMode</a>, and <a class="el" href="modules_8cpp-source.html#l00035">ModeDefined()</a>.
 <p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00275">Server::AddExtendedMode()</a>.
+Referenced by <a class="el" href="modules_8cpp-source.html#l00293">Server::AddExtendedMode()</a>.
 <p>
-<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 }
+<div class="fragment"><pre>00091 {
+00092         <span class="keywordflow">if</span> (<a class="code" href="modules_8cpp.html#a4">ModeDefined</a>(modechar,type)) {
+00093                 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00094         }
+00095         <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));
+00096         <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00097 }
 </pre></div>    </td>
   </tr>
 </table>
@@ -230,24 +231,24 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00275">Server::AddEx
 <p>
 
 <p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00034">34</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#l00035">35</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>.
+References <a class="el" href="modules_8cpp-source.html#l00032">EMode</a>, and <a class="el" href="modules_8cpp-source.html#l00030">ExtModeListIter</a>.
 <p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00089">DoAddExtendedMode()</a>.
+Referenced by <a class="el" href="modules_8cpp-source.html#l00090">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());
-00037         <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 &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
-00038         {
-00039                 log(DEBUG,<span class="stringliteral">"i-&gt;modechar==%c, modechar=%c, i-&gt;type=%d, type=%d"</span>,i-&gt;modechar,modechar,i-&gt;type,type);
-00040                 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
-00041                 {
-00042                         <span class="keywordflow">return</span> <span class="keyword">true</span>;
-00043                 }
-00044         }
-00045         <span class="keywordflow">return</span> <span class="keyword">false</span>;
-00046 }
+<div class="fragment"><pre>00036 {
+00037         log(DEBUG,<span class="stringliteral">"Size of extmodes vector is %d"</span>,<a class="code" href="modules_8cpp.html#a2">EMode</a>.size());
+00038         <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 &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
+00039         {
+00040                 log(DEBUG,<span class="stringliteral">"i-&gt;modechar==%c, modechar=%c, i-&gt;type=%d, type=%d"</span>,i-&gt;modechar,modechar,i-&gt;type,type);
+00041                 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
+00042                 {
+00043                         <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00044                 }
+00045         }
+00046         <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00047 }
 </pre></div>    </td>
   </tr>
 </table>
@@ -288,20 +289,20 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00089">DoAddExtended
 <p>
 
 <p>
-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>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00077">77</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>.
+References <a class="el" href="modules_8cpp-source.html#l00032">EMode</a>, and <a class="el" href="modules_8cpp-source.html#l00030">ExtModeListIter</a>.
 <p>
-<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 &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
-00079         {
-00080                 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
-00081                 {
-00082                         <span class="keywordflow">return</span> i-&gt;params_when_off;
-00083                 }
-00084         }
-00085         <span class="keywordflow">return</span> 0;
-00086 }
+<div class="fragment"><pre>00078 {
+00079         <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 &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
+00080         {
+00081                 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
+00082                 {
+00083                         <span class="keywordflow">return</span> i-&gt;params_when_off;
+00084                 }
+00085         }
+00086         <span class="keywordflow">return</span> 0;
+00087 }
 </pre></div>    </td>
   </tr>
 </table>
@@ -342,20 +343,20 @@ References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>, and <
 <p>
 
 <p>
-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>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00064">64</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>.
+References <a class="el" href="modules_8cpp-source.html#l00032">EMode</a>, and <a class="el" href="modules_8cpp-source.html#l00030">ExtModeListIter</a>.
 <p>
-<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 &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
-00066         {
-00067                 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
-00068                 {
-00069                         <span class="keywordflow">return</span> i-&gt;params_when_on;
-00070                 }
-00071         }
-00072         <span class="keywordflow">return</span> 0;
-00073 }
+<div class="fragment"><pre>00065 {
+00066         <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 &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
+00067         {
+00068                 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
+00069                 {
+00070                         <span class="keywordflow">return</span> i-&gt;params_when_on;
+00071                 }
+00072         }
+00073         <span class="keywordflow">return</span> 0;
+00074 }
 </pre></div>    </td>
   </tr>
 </table>
@@ -396,22 +397,22 @@ References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>, and <
 <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 &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
-00052         {
-00053                 log(DEBUG,<span class="stringliteral">"i-&gt;modechar==%c, modechar=%c, i-&gt;type=%d, type=%d"</span>,i-&gt;modechar,modechar,i-&gt;type,type);
-00054                 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type) &amp;&amp; (i-&gt;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 }
+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>.
+<p>
+References <a class="el" href="modules_8cpp-source.html#l00032">EMode</a>, and <a class="el" href="modules_8cpp-source.html#l00030">ExtModeListIter</a>.
+<p>
+<div class="fragment"><pre>00050 {
+00051         log(DEBUG,<span class="stringliteral">"Size of extmodes vector is %d"</span>,<a class="code" href="modules_8cpp.html#a2">EMode</a>.size());
+00052         <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 &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
+00053         {
+00054                 log(DEBUG,<span class="stringliteral">"i-&gt;modechar==%c, modechar=%c, i-&gt;type=%d, type=%d"</span>,i-&gt;modechar,modechar,i-&gt;type,type);
+00055                 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type) &amp;&amp; (i-&gt;needsoper == <span class="keyword">true</span>))
+00056                 {
+00057                         <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00058                 }
+00059         }
+00060         <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00061 }
 </pre></div>    </td>
   </tr>
 </table>
@@ -466,9 +467,9 @@ References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>, and <
 <p>
 
 <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>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00032">32</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
 <p>
-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>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00090">DoAddExtendedMode()</a>, <a class="el" href="modules_8cpp-source.html#l00035">ModeDefined()</a>, <a class="el" href="modules_8cpp-source.html#l00077">ModeDefinedOff()</a>, <a class="el" href="modules_8cpp-source.html#l00064">ModeDefinedOn()</a>, and <a class="el" href="modules_8cpp-source.html#l00049">ModeDefinedOper()</a>.    </td>
   </tr>
 </table>
 <a name="a3" doxytag="modules.cpp::MODCOUNT"></a><p>
@@ -492,10 +493,10 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00089">DoAddExtended
 <p>
 
 <p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00380">380</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#l00410">410</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 Tue Apr 6 21:13:31 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index 835d4034b3e2ff2c2c4e9e9893caeb2667e45c41..e6a6775119472dc5c96be9c5b13276da459803d8 100644 (file)
Binary files a/docs/module-doc/modules_8cpp__incl.gif and b/docs/module-doc/modules_8cpp__incl.gif differ
index d461928e2d5612447791493087d6051a9b290133..7fca50afb0d9628c77085ea4168de1cf114b390c 100644 (file)
 00023 <span class="preprocessor">#include "<a class="code" href="ctables_8h.html">ctables.h</a>"</span>
 00024 <span class="preprocessor">#include &lt;string&gt;</span>
 00025 <span class="preprocessor">#include &lt;deque&gt;</span>
-00026 
-<a name="l00029"></a><a class="code" href="modules_8h.html#a10">00029</a> <span class="keyword">typedef</span> std::deque&lt;std::string&gt; <a class="code" href="modules_8h.html#a10">file_cache</a>;
-<a name="l00030"></a><a class="code" href="modules_8h.html#a11">00030</a> <span class="keyword">typedef</span> <a class="code" href="modules_8h.html#a10">file_cache</a> <a class="code" href="modules_8h.html#a11">string_list</a>;
-00031 
-00032 <span class="comment">// This #define allows us to call a method in all</span>
-00033 <span class="comment">// loaded modules in a readable simple way, e.g.:</span>
-00034 <span class="comment">// 'FOREACH_MOD OnConnect(user);'</span>
-00035 
-<a name="l00036"></a><a class="code" href="modules_8h.html#a8">00036</a> <span class="preprocessor">#define FOREACH_MOD for (int i = 0; i &lt;= MODCOUNT; i++) modules[i]-&gt;</span>
-00037 <span class="preprocessor"></span>
-00038 <span class="comment">// This define is similar to the one above but returns a result in MOD_RESULT.</span>
-00039 <span class="comment">// The first module to return a nonzero result is the value to be accepted,</span>
-00040 <span class="comment">// and any modules after are ignored.</span>
-00041 
-00042 <span class="comment">// *********************************************************************************************</span>
-00043 
-<a name="l00044"></a><a class="code" href="modules_8h.html#a9">00044</a> <span class="preprocessor">#define FOREACH_RESULT(x) { MOD_RESULT = 0; \</span>
-00045 <span class="preprocessor">                        for (int i = 0; i &lt;= MODCOUNT; i++) { \</span>
-00046 <span class="preprocessor">                        int res = modules[i]-&gt;x ; \</span>
-00047 <span class="preprocessor">                        if (res) { \</span>
-00048 <span class="preprocessor">                                MOD_RESULT = res; \</span>
-00049 <span class="preprocessor">                                break; \</span>
-00050 <span class="preprocessor">                        } \</span>
-00051 <span class="preprocessor">                } \</span>
-00052 <span class="preprocessor">   </span>
-00053 <span class="preprocessor"></span>   
-00054 <span class="comment">// *********************************************************************************************</span>
-00055 
-00056 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="modules_8h.html#a13">createcommand</a>(<span class="keywordtype">char</span>* cmd, handlerfunc f, <span class="keywordtype">char</span> flags, <span class="keywordtype">int</span> minparams);
-00057 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="modules_8h.html#a14">server_mode</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user);
-00058 
-00059 <span class="comment">// class Version holds the version information of a Module, returned</span>
-00060 <span class="comment">// by Module::GetVersion (thanks RD)</span>
-00061 
-<a name="l00066"></a><a class="code" href="classVersion.html">00066</a> <span class="keyword">class </span><a class="code" href="classVersion.html">Version</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-00067 {
-00068  <span class="keyword">public</span>:
-<a name="l00069"></a><a class="code" href="classVersion.html#m2">00069</a>          <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classVersion.html#m0">Major</a>, <a class="code" href="classVersion.html#m1">Minor</a>, <a class="code" href="classVersion.html#m2">Revision</a>, <a class="code" href="classVersion.html#m3">Build</a>;
-00070          <a class="code" href="classVersion.html#a0">Version</a>(<span class="keywordtype">int</span> major, <span class="keywordtype">int</span> minor, <span class="keywordtype">int</span> revision, <span class="keywordtype">int</span> build);
-00071 };
-00072 
-<a name="l00078"></a><a class="code" href="classAdmin.html">00078</a> <span class="keyword">class </span><a class="code" href="classAdmin.html">Admin</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-00079 {
-00080  <span class="keyword">public</span>:
-<a name="l00081"></a><a class="code" href="classAdmin.html#m2">00081</a>          <span class="keyword">const</span> std::string <a class="code" href="classAdmin.html#m0">Name</a>, <a class="code" href="classAdmin.html#m1">Email</a>, <a class="code" href="classAdmin.html#m2">Nick</a>;
-00082          <a class="code" href="classAdmin.html#a0">Admin</a>(std::string name, std::string email, std::string nick);
-00083 };
-00084 
-<a name="l00090"></a><a class="code" href="classModule.html">00090</a> <span class="keyword">class </span><a class="code" href="classModule.html">Module</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-00091 {
-00092  <span class="keyword">public</span>:
-00093 
-00097         <a class="code" href="classModule.html#a0">Module</a>();
-00098 
-00102         <span class="keyword">virtual</span> <a class="code" href="classModule.html#a1">~Module</a>();
-00103 
-00108         <span class="keyword">virtual</span> <a class="code" href="classVersion.html">Version</a> <a class="code" href="classModule.html#a2">GetVersion</a>();
-00109 
-00113         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a3">OnUserConnect</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-00114 
-00118         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a4">OnUserQuit</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-00119 
-00124         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a5">OnUserJoin</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel);
-00125 
-00130         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a6">OnUserPart</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel);
-00131 
-00138         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a7">OnPacketTransmit</a>(<span class="keywordtype">char</span> *p);
-00139 
-00147         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a8">OnPacketReceive</a>(<span class="keywordtype">char</span> *p);
-00148 
-00154         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a9">OnRehash</a>();
-00155 
-00162         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a10">OnServerRaw</a>(std::string &amp;raw, <span class="keywordtype">bool</span> inbound);
-00163 
-00173         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classModule.html#a11">OnExtendedMode</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <span class="keywordtype">void</span>* target, <span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> mode_on, string_list &amp;params);
-00174         
-00187         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a12">OnUserPreJoin</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <span class="keyword">const</span> <span class="keywordtype">char</span>* cname);
-00188         
+00026 <span class="preprocessor">#include &lt;sstream&gt;</span>
+00027 
+<a name="l00030"></a><a class="code" href="modules_8h.html#a10">00030</a> <span class="keyword">typedef</span> std::deque&lt;std::string&gt; <a class="code" href="modules_8h.html#a10">file_cache</a>;
+<a name="l00031"></a><a class="code" href="modules_8h.html#a11">00031</a> <span class="keyword">typedef</span> <a class="code" href="modules_8h.html#a10">file_cache</a> <a class="code" href="modules_8h.html#a11">string_list</a>;
+00032 
+00033 <span class="comment">// This #define allows us to call a method in all</span>
+00034 <span class="comment">// loaded modules in a readable simple way, e.g.:</span>
+00035 <span class="comment">// 'FOREACH_MOD OnConnect(user);'</span>
+00036 
+<a name="l00037"></a><a class="code" href="modules_8h.html#a8">00037</a> <span class="preprocessor">#define FOREACH_MOD for (int i = 0; i &lt;= MODCOUNT; i++) modules[i]-&gt;</span>
+00038 <span class="preprocessor"></span>
+00039 <span class="comment">// This define is similar to the one above but returns a result in MOD_RESULT.</span>
+00040 <span class="comment">// The first module to return a nonzero result is the value to be accepted,</span>
+00041 <span class="comment">// and any modules after are ignored.</span>
+00042 
+00043 <span class="comment">// *********************************************************************************************</span>
+00044 
+<a name="l00045"></a><a class="code" href="modules_8h.html#a9">00045</a> <span class="preprocessor">#define FOREACH_RESULT(x) { MOD_RESULT = 0; \</span>
+00046 <span class="preprocessor">                        for (int i = 0; i &lt;= MODCOUNT; i++) { \</span>
+00047 <span class="preprocessor">                        int res = modules[i]-&gt;x ; \</span>
+00048 <span class="preprocessor">                        if (res) { \</span>
+00049 <span class="preprocessor">                                MOD_RESULT = res; \</span>
+00050 <span class="preprocessor">                                break; \</span>
+00051 <span class="preprocessor">                        } \</span>
+00052 <span class="preprocessor">                } \</span>
+00053 <span class="preprocessor">   } </span>
+00054 <span class="preprocessor"></span>   
+00055 <span class="comment">// *********************************************************************************************</span>
+00056 
+00057 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="modules_8h.html#a13">createcommand</a>(<span class="keywordtype">char</span>* cmd, handlerfunc f, <span class="keywordtype">char</span> flags, <span class="keywordtype">int</span> minparams);
+00058 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="modules_8h.html#a14">server_mode</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user);
+00059 
+00060 <span class="comment">// class Version holds the version information of a Module, returned</span>
+00061 <span class="comment">// by Module::GetVersion (thanks RD)</span>
+00062 
+<a name="l00067"></a><a class="code" href="classVersion.html">00067</a> <span class="keyword">class </span><a class="code" href="classVersion.html">Version</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
+00068 {
+00069  <span class="keyword">public</span>:
+<a name="l00070"></a><a class="code" href="classVersion.html#m2">00070</a>          <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classVersion.html#m0">Major</a>, <a class="code" href="classVersion.html#m1">Minor</a>, <a class="code" href="classVersion.html#m2">Revision</a>, <a class="code" href="classVersion.html#m3">Build</a>;
+00071          <a class="code" href="classVersion.html#a0">Version</a>(<span class="keywordtype">int</span> major, <span class="keywordtype">int</span> minor, <span class="keywordtype">int</span> revision, <span class="keywordtype">int</span> build);
+00072 };
+00073 
+<a name="l00079"></a><a class="code" href="classAdmin.html">00079</a> <span class="keyword">class </span><a class="code" href="classAdmin.html">Admin</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
+00080 {
+00081  <span class="keyword">public</span>:
+<a name="l00082"></a><a class="code" href="classAdmin.html#m2">00082</a>          <span class="keyword">const</span> std::string <a class="code" href="classAdmin.html#m0">Name</a>, <a class="code" href="classAdmin.html#m1">Email</a>, <a class="code" href="classAdmin.html#m2">Nick</a>;
+00083          <a class="code" href="classAdmin.html#a0">Admin</a>(std::string name, std::string email, std::string nick);
+00084 };
+00085 
+<a name="l00091"></a><a class="code" href="classModule.html">00091</a> <span class="keyword">class </span><a class="code" href="classModule.html">Module</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
+00092 {
+00093  <span class="keyword">public</span>:
+0009
+00098         <a class="code" href="classModule.html#a0">Module</a>();
+00099 
+00103         <span class="keyword">virtual</span> <a class="code" href="classModule.html#a1">~Module</a>();
+0010
+00109         <span class="keyword">virtual</span> <a class="code" href="classVersion.html">Version</a> <a class="code" href="classModule.html#a2">GetVersion</a>();
+0011
+00114         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a3">OnUserConnect</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
+0011
+00119         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a4">OnUserQuit</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
+0012
+00125         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a5">OnUserJoin</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel);
+00126 
+00131         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a6">OnUserPart</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel);
+0013
+00139         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a7">OnPacketTransmit</a>(<span class="keywordtype">char</span> *p);
+0014
+00148         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a8">OnPacketReceive</a>(<span class="keywordtype">char</span> *p);
+00149 
+00155         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a9">OnRehash</a>();
+00156 
+00163         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a10">OnServerRaw</a>(std::string &amp;raw, <span class="keywordtype">bool</span> inbound);
+00164 
+00174         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classModule.html#a11">OnExtendedMode</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <span class="keywordtype">void</span>* target, <span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> mode_on, string_list &amp;params);
+00175         
+00188         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a12">OnUserPreJoin</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <span class="keyword">const</span> <span class="keywordtype">char</span>* cname);
 00189         
-00194         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a13">OnOper</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-00195         
-00204         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a14">OnInfo</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-00205         
-00210         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a15">OnWhois</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="classuserrec.html">userrec</a>* dest);
-00211         
-00220         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a16">OnUserPreMessage</a>(<a class="code" href="classuserrec.html">userrec</a>* user,<span class="keywordtype">void</span>* dest,<span class="keywordtype">int</span> target_type, std::string text);
-00221 
-00230         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a17">OnUserPreNotice</a>(<a class="code" href="classuserrec.html">userrec</a>* user,<span class="keywordtype">void</span>* dest,<span class="keywordtype">int</span> target_type, std::string text);
-00231 };
-00232 
+00190         
+00195         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a13">OnOper</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
+00196         
+00205         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a14">OnInfo</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
+00206         
+00211         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a15">OnWhois</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="classuserrec.html">userrec</a>* dest);
+00212         
+00221         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a16">OnUserPreMessage</a>(<a class="code" href="classuserrec.html">userrec</a>* user,<span class="keywordtype">void</span>* dest,<span class="keywordtype">int</span> target_type, std::string text);
+00222 
+00231         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a17">OnUserPreNotice</a>(<a class="code" href="classuserrec.html">userrec</a>* user,<span class="keywordtype">void</span>* dest,<span class="keywordtype">int</span> target_type, std::string text);
+00232 };
 00233 
-<a name="l00239"></a><a class="code" href="classServer.html">00239</a> <span class="keyword">class </span><a class="code" href="classServer.html">Server</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-00240 {
-00241  <span class="keyword">public</span>:
-00245         <a class="code" href="classServer.html#a0">Server</a>();
-00249         <span class="keyword">virtual</span> <a class="code" href="classServer.html#a1">~Server</a>();
-00250 
-00254         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a2">SendOpers</a>(std::string s);
-00259         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a3">Log</a>(<span class="keywordtype">int</span> level, std::string s);
-00264         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a4">Send</a>(<span class="keywordtype">int</span> Socket, std::string s);
-00269         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a5">SendServ</a>(<span class="keywordtype">int</span> Socket, std::string s);
-00274         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a6">SendFrom</a>(<span class="keywordtype">int</span> Socket, <a class="code" href="classuserrec.html">userrec</a>* User, std::string s);
-00279         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a7">SendTo</a>(<a class="code" href="classuserrec.html">userrec</a>* Source, <a class="code" href="classuserrec.html">userrec</a>* Dest, std::string s);
-00286         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a8">SendChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Channel, std::string s,<span class="keywordtype">bool</span> IncludeSender);
-00291         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a9">CommonChannels</a>(<a class="code" href="classuserrec.html">userrec</a>* u1, <a class="code" href="classuserrec.html">userrec</a>* u2);
-00299         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a10">SendCommon</a>(<a class="code" href="classuserrec.html">userrec</a>* User, std::string text,<span class="keywordtype">bool</span> IncludeSender);
-00304         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a11">SendWallops</a>(<a class="code" href="classuserrec.html">userrec</a>* User, std::string text);
-00305 
-00309         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a12">IsNick</a>(std::string nick);
-00313         <span class="keyword">virtual</span> <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="classServer.html#a13">FindNick</a>(std::string nick);
-00317         <span class="keyword">virtual</span> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#a14">FindChannel</a>(std::string channel);
-00322         <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a15">ChanMode</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Chan);
-00325         <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a16">GetServerName</a>();
-00328         <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a17">GetNetworkName</a>();
-00334         <span class="keyword">virtual</span> <a class="code" href="classAdmin.html">Admin</a> <a class="code" href="classServer.html#a18">GetAdmin</a>();
-00353         <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);
-00354 
-00369         <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);
-00370          
-00392         <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);
-00393         
-00406         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a22">SendToModeMask</a>(std::string modes, <span class="keywordtype">int</span> flags, std::string text);
-00407 
-00413         <span class="keyword">virtual</span> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#a23">Server::JoinUserToChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string cname, std::string key);
-00414         
-00420         <span class="keyword">virtual</span> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#a24">Server::PartUserFromChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string cname, std::string reason);
-00421         
-00427         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a25">ChangeUserNick</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string nickname);
-00428         
-00439         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a26">QuitUser</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string reason);
-00440 };
-00441 
-<a name="l00448"></a><a class="code" href="classConfigReader.html">00448</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>
-00449 {
-00450   <span class="keyword">protected</span>:
-<a name="l00453"></a><a class="code" href="classConfigReader.html#n0">00453</a>         std::string <a class="code" href="classConfigReader.html#n0">fname</a>;
-00454   <span class="keyword">public</span>:
-00459         <a class="code" href="classConfigReader.html#a0">ConfigReader</a>();                 <span class="comment">// default constructor reads ircd.conf</span>
-00463 <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>
-00467 <span class="comment"></span>        <a class="code" href="classConfigReader.html#a2">~ConfigReader</a>();
-00472         std::string <a class="code" href="classConfigReader.html#a3">ReadValue</a>(std::string tag, std::string name, <span class="keywordtype">int</span> index);
-00479         <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#a4">Enumerate</a>(std::string tag);
-00483         <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#a5">Verify</a>();
-00484 };
-00485 
-00486 
-00487 
-<a name="l00493"></a><a class="code" href="classFileReader.html">00493</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>
-00494 {
-<a name="l00495"></a><a class="code" href="classFileReader.html#o0">00495</a>  <a class="code" href="modules_8h.html#a10">file_cache</a> <a class="code" href="classFileReader.html#o0">fc</a>;
-00496  <span class="keyword">public</span>:
-00501          <a class="code" href="classFileReader.html#a0">FileReader</a>();
-00507          <a class="code" href="classFileReader.html#a0">FileReader</a>(std::string filename);
-00511          <a class="code" href="classFileReader.html#a2">~FileReader</a>();
-00517          <span class="keywordtype">void</span> <a class="code" href="classFileReader.html#a3">LoadFile</a>(std::string filename);
-00522          <span class="keywordtype">bool</span> <a class="code" href="classFileReader.html#a4">Exists</a>();
-00523          std::string <a class="code" href="classFileReader.html#a5">GetLine</a>(<span class="keywordtype">int</span> x);
-00529          <span class="keywordtype">int</span> <a class="code" href="classFileReader.html#a6">FileSize</a>();
-00530 };
+00234 
+<a name="l00240"></a><a class="code" href="classServer.html">00240</a> <span class="keyword">class </span><a class="code" href="classServer.html">Server</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
+00241 {
+00242  <span class="keyword">public</span>:
+00246         <a class="code" href="classServer.html#a0">Server</a>();
+00250         <span class="keyword">virtual</span> <a class="code" href="classServer.html#a1">~Server</a>();
+00251 
+00255         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a2">SendOpers</a>(std::string s);
+00260         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a3">Log</a>(<span class="keywordtype">int</span> level, std::string s);
+00265         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a4">Send</a>(<span class="keywordtype">int</span> Socket, std::string s);
+00270         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a5">SendServ</a>(<span class="keywordtype">int</span> Socket, std::string s);
+00275         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a6">SendFrom</a>(<span class="keywordtype">int</span> Socket, <a class="code" href="classuserrec.html">userrec</a>* User, std::string s);
+00290         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a7">SendTo</a>(<a class="code" href="classuserrec.html">userrec</a>* Source, <a class="code" href="classuserrec.html">userrec</a>* Dest, std::string s);
+00297         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a8">SendChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Channel, std::string s,<span class="keywordtype">bool</span> IncludeSender);
+00302         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a9">CommonChannels</a>(<a class="code" href="classuserrec.html">userrec</a>* u1, <a class="code" href="classuserrec.html">userrec</a>* u2);
+00310         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a10">SendCommon</a>(<a class="code" href="classuserrec.html">userrec</a>* User, std::string text,<span class="keywordtype">bool</span> IncludeSender);
+00315         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a11">SendWallops</a>(<a class="code" href="classuserrec.html">userrec</a>* User, std::string text);
+00316 
+00320         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a12">IsNick</a>(std::string nick);
+00324         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classServer.html#a13">CountUsers</a>(<a class="code" href="classchanrec.html">chanrec</a>* c);
+00328         <span class="keyword">virtual</span> <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="classServer.html#a14">FindNick</a>(std::string nick);
+00332         <span class="keyword">virtual</span> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#a15">FindChannel</a>(std::string channel);
+00337         <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a16">ChanMode</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Chan);
+00340         <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a17">GetServerName</a>();
+00343         <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a18">GetNetworkName</a>();
+00349         <span class="keyword">virtual</span> <a class="code" href="classAdmin.html">Admin</a> <a class="code" href="classServer.html#a19">GetAdmin</a>();
+00368         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a20">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);
+00369 
+00384         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a21">AddCommand</a>(<span class="keywordtype">char</span>* cmd, handlerfunc f, <span class="keywordtype">char</span> flags, <span class="keywordtype">int</span> minparams);
+00385          
+00407         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a22">SendMode</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user);
+00408         
+00421         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a23">SendToModeMask</a>(std::string modes, <span class="keywordtype">int</span> flags, std::string text);
+00422 
+00428         <span class="keyword">virtual</span> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#a24">JoinUserToChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string cname, std::string key);
+00429         
+00435         <span class="keyword">virtual</span> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#a25">PartUserFromChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string cname, std::string reason);
+00436         
+00442         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a26">ChangeUserNick</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string nickname);
+00443         
+00454         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a27">QuitUser</a>(<a class="code" href="classuserrec.html">userrec</a>* user, std::string reason);
+00455         
+00460         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a28">MatchText</a>(std::string sliteral, std::string spattern);
+00461 };
+00462 
+<a name="l00469"></a><a class="code" href="classConfigReader.html">00469</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>
+00470 {
+00471   <span class="keyword">protected</span>:
+<a name="l00477"></a><a class="code" href="classConfigReader.html#n0">00477</a>         std::stringstream *<a class="code" href="classConfigReader.html#n0">cache</a>;
+<a name="l00480"></a><a class="code" href="classConfigReader.html#n1">00480</a>         <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#n1">error</a>;
+00481         
+00482   <span class="keyword">public</span>:
+00487         <a class="code" href="classConfigReader.html#a0">ConfigReader</a>();                 <span class="comment">// default constructor reads ircd.conf</span>
+00491 <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>
+00495 <span class="comment"></span>        <a class="code" href="classConfigReader.html#a2">~ConfigReader</a>();
+00500         std::string <a class="code" href="classConfigReader.html#a3">ReadValue</a>(std::string tag, std::string name, <span class="keywordtype">int</span> index);
+00507         <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#a4">Enumerate</a>(std::string tag);
+00512         <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#a5">Verify</a>();
+00513 };
+00514 
+00515 
+00516 
+<a name="l00522"></a><a class="code" href="classFileReader.html">00522</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>
+00523 {
+<a name="l00524"></a><a class="code" href="classFileReader.html#o0">00524</a>  <a class="code" href="modules_8h.html#a10">file_cache</a> <a class="code" href="classFileReader.html#o0">fc</a>;
+00525  <span class="keyword">public</span>:
+00530          <a class="code" href="classFileReader.html#a0">FileReader</a>();
 00531 
-00532 
-<a name="l00539"></a><a class="code" href="classModuleFactory.html">00539</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>
-00540 {
-00541  <span class="keyword">public</span>:
-<a name="l00542"></a><a class="code" href="classModuleFactory.html#a0">00542</a>         <a class="code" href="classModuleFactory.html#a0">ModuleFactory</a>() { }
-<a name="l00543"></a><a class="code" href="classModuleFactory.html#a1">00543</a>         <span class="keyword">virtual</span> <a class="code" href="classModuleFactory.html#a1">~ModuleFactory</a>() { }
-00548         <span class="keyword">virtual</span> <a class="code" href="classModule.html">Module</a> * <a class="code" href="classModuleFactory.html#a2">CreateModule</a>() = 0;
-00549 };
+00537          <a class="code" href="classFileReader.html#a0">FileReader</a>(std::string filename);
+00538 
+00542          <a class="code" href="classFileReader.html#a2">~FileReader</a>();
+00543 
+00549          <span class="keywordtype">void</span> <a class="code" href="classFileReader.html#a3">LoadFile</a>(std::string filename);
 00550 
-00551 
-<a name="l00552"></a><a class="code" href="modules_8h.html#a12">00552</a> <span class="keyword">typedef</span> DLLFactory&lt;ModuleFactory&gt; <a class="code" href="modules_8h.html#a12">ircd_module</a>;
-00553 
-00554 <span class="preprocessor">#endif</span>
-</pre></div><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13:19 2004 for InspIRCd by
+00551          <span class="keywordtype">bool</span> <a class="code" href="classFileReader.html#a4">Exists</a>();
+00552          
+00557          std::string <a class="code" href="classFileReader.html#a5">GetLine</a>(<span class="keywordtype">int</span> x);
+00558 
+00564          <span class="keywordtype">int</span> <a class="code" href="classFileReader.html#a6">FileSize</a>();
+00565 };
+00566 
+00567 
+<a name="l00574"></a><a class="code" href="classModuleFactory.html">00574</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>
+00575 {
+00576  <span class="keyword">public</span>:
+<a name="l00577"></a><a class="code" href="classModuleFactory.html#a0">00577</a>         <a class="code" href="classModuleFactory.html#a0">ModuleFactory</a>() { }
+<a name="l00578"></a><a class="code" href="classModuleFactory.html#a1">00578</a>         <span class="keyword">virtual</span> <a class="code" href="classModuleFactory.html#a1">~ModuleFactory</a>() { }
+00583         <span class="keyword">virtual</span> <a class="code" href="classModule.html">Module</a> * <a class="code" href="classModuleFactory.html#a2">CreateModule</a>() = 0;
+00584 };
+00585 
+00586 
+<a name="l00587"></a><a class="code" href="modules_8h.html#a12">00587</a> <span class="keyword">typedef</span> DLLFactory&lt;ModuleFactory&gt; <a class="code" href="modules_8h.html#a12">ircd_module</a>;
+00588 
+00589 <span class="preprocessor">#endif</span>
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index e433813735296b36b2411851362cd5468614509c..03e670031cbca11215d1b38eb671a6fef2cd4be7 100644 (file)
@@ -11,6 +11,7 @@
 <code>#include "<a class="el" href="ctables_8h-source.html">ctables.h</a>"</code><br>
 <code>#include &lt;string&gt;</code><br>
 <code>#include &lt;deque&gt;</code><br>
+<code>#include &lt;sstream&gt;</code><br>
 
 <p>
 Include dependency graph for modules.h:<p><center><img src="modules_8h__incl.gif" border="0" usemap="#modules.h_map" alt="Include dependency graph"></center>
@@ -133,7 +134,7 @@ Definition at line <a class="el" href="modules_8h-source.html#l00013">13</a> of
 <p>
 
 <p>
-Definition at line <a class="el" href="modules_8h-source.html#l00036">36</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#l00037">37</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.    </td>
   </tr>
 </table>
 <a name="a9" doxytag="modules.h::FOREACH_RESULT"></a><p>
@@ -171,7 +172,7 @@ Definition at line <a class="el" href="modules_8h-source.html#l00036">36</a> of
    }
 </pre></div>
 <p>
-Definition at line <a class="el" href="modules_8h-source.html#l00044">44</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#l00045">45</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.    </td>
   </tr>
 </table>
 <a name="a5" doxytag="modules.h::MT_CHANNEL"></a><p>
@@ -221,7 +222,7 @@ Definition at line <a class="el" href="modules_8h-source.html#l00017">17</a> of
 <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>.
 <p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00275">Server::AddExtendedMode()</a>.    </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00293">Server::AddExtendedMode()</a>.    </td>
   </tr>
 </table>
 <a name="a7" doxytag="modules.h::MT_SERVER"></a><p>
@@ -247,7 +248,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00275">Server::AddEx
 <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>.
 <p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00275">Server::AddExtendedMode()</a>.    </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00293">Server::AddExtendedMode()</a>.    </td>
   </tr>
 </table>
 <a name="a4" doxytag="modules.h::NONE"></a><p>
@@ -346,9 +347,9 @@ Low level definition of a <a class="el" href="classFileReader.html">FileReader</
 <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>.
+Definition at line <a class="el" href="modules_8h-source.html#l00030">30</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#l00329">FileReader::FileReader()</a>, and <a class="el" href="modules_8cpp-source.html#l00340">FileReader::LoadFile()</a>.    </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00359">FileReader::FileReader()</a>, and <a class="el" href="modules_8cpp-source.html#l00370">FileReader::LoadFile()</a>.    </td>
   </tr>
 </table>
 <a name="a12" doxytag="modules.h::ircd_module"></a><p>
@@ -372,7 +373,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00329">FileReader::F
 <p>
 
 <p>
-Definition at line <a class="el" href="modules_8h-source.html#l00552">552</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#l00587">587</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>
@@ -396,7 +397,7 @@ Definition at line <a class="el" href="modules_8h-source.html#l00552">552</a> of
 <p>
 
 <p>
-Definition at line <a class="el" href="modules_8h-source.html#l00030">30</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#l00031">31</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.    </td>
   </tr>
 </table>
 <hr><h2>Function Documentation</h2>
@@ -449,7 +450,7 @@ Definition at line <a class="el" href="modules_8h-source.html#l00030">30</a> of
 <p>
 
 <p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00174">Server::AddCommand()</a>.    </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00183">Server::AddCommand()</a>.    </td>
   </tr>
 </table>
 <a name="a14" doxytag="modules.h::server_mode"></a><p>
@@ -495,10 +496,10 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00174">Server::AddCo
 <p>
 
 <p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00179">Server::SendMode()</a>.    </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00188">Server::SendMode()</a>.    </td>
   </tr>
 </table>
-<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13:33 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index 61434f1b55ee3390c9b2866762bfe5b73cf59bde..806bd4fdd1ddb5e427bb0b6cba431d72c50b2d17 100644 (file)
Binary files a/docs/module-doc/modules_8h__incl.gif and b/docs/module-doc/modules_8h__incl.gif differ
index 909dd0d39ad27eb1eaeaf4a30e33cb6ec4f9e27a..c24ab064875e70576beed9ff007eca10dcaeb42f 100644 (file)
@@ -9,7 +9,7 @@
 <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 Tue Apr 6 21:14:23 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:21:00 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>
index 50b2f95e11b300ebc048a8a92897ede07ca50633..6645559fea77cc754d676c96723d85464ecf9753 100644 (file)
@@ -11,7 +11,7 @@
 <table border=0 cellpadding=0 cellspacing=0>
 <tr><td></td></tr>
 </table>
-<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14:23 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:21:00 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>
index bebb0f1601ceaa617b1b78caebc0810e6c3fdadf..b1c7afe7752f6152eb129b263e101a2918cde5f5 100644 (file)
@@ -46,7 +46,7 @@
 00038         <a class="code" href="classconnection.html#m1">fd</a> = 0;
 00039 }
 00040 
-</pre></div><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13:19 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index 2aaff1bfc290f286d321dc9abcd675763f0727f9..2bc24eee2cc3b3c7bd57b6b5bcc798836b139c46 100644 (file)
@@ -23,7 +23,7 @@ Include dependency graph for servers.cpp:<p><center><img src="servers_8cpp__incl
 <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 Tue Apr 6 21:13:34 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index 3947cce6140f877b036f0132c93e5e5f83c51515..f798bade39c09ce677e2092ed34861e4b1db0695 100644 (file)
@@ -44,7 +44,7 @@
 00060 
 00061 <span class="preprocessor">#endif</span>
 00062 <span class="preprocessor"></span>
-</pre></div><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13:19 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index ff0fd16ce0c1effb603bcb956acd111028a33877..72e4c1d7f54ced095266b741398afb39c34dc2d4 100644 (file)
@@ -82,7 +82,7 @@ Definition at line <a class="el" href="servers_8h-source.html#l00014">14</a> of
 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 Tue Apr 6 21:13:36 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index e4b99f24569cbb256a63beeb13896a150ea8fbb0..1b579972a0503489e3ccaa44fe9ca3415fb26ca8 100644 (file)
@@ -93,7 +93,7 @@
 00085                 }
 00086         }
 00087 }
-</pre></div><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13:20 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index 85fe7b7355a8f37537ba718ec2860b98cfb7e9d8..32f4f7dc69e40f3b1234c9fe2bbc32300c228cdf 100644 (file)
@@ -25,7 +25,7 @@ Include dependency graph for users.cpp:<p><center><img src="users_8cpp__incl.gif
 <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 Tue Apr 6 21:13:37 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index fb6e453021968de7bf232b58b14cfd3e2f53edb2..caf73ee9149b39b3ff3212b88e1c36addceb827b 100644 (file)
 00150 
 00151 
 00152 <span class="preprocessor">#endif</span>
-</pre></div><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13:20 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>
index 027b085c8823d4cd3e490a66810160564a0b82eb..40ab7d22c6b16bb5298769b5069bc35c8ab05e0e 100644 (file)
@@ -245,7 +245,7 @@ Holds a complete list of all channels to which a user has been invited and has n
 Definition at line <a class="el" href="users_8h-source.html#l00052">52</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 Tue Apr 6 21:13:39 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Wed Apr 7 19:20: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>