<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 11:42:36 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
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 11:42:30 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
<tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classclassbase.html">classbase</a></td></tr>
<tr><td> </td><td><font size=-1><em>The base class for all inspircd classes.</em> <a href="classclassbase.html#_details">More...</a><em></em></font><br><br></td></tr>
</table>
-<hr><address style="align: right;"><small>Generated on Tue Apr 6 11:42:31 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
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 11:42:30 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
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 11:42:32 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
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 11:42:30 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
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 11:42:32 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
<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 11:42:37 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13:40 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>
</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 11:42:37 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13:40 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>
<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 11:42:37 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
<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 11:42:37 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
<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 11:42:40 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00428">428</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
+Definition at line <a class="el" href="modules_8h-source.html#l00448">448</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
<a name="a0" doxytag="ConfigReader::ConfigReader"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<p>
This constructor initialises the ConfigReader class to read the inspircd.conf file as specified when running ./configure.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00294">294</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#l00296">296</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l00433">fname</a>.
+References <a class="el" href="modules_8h-source.html#l00453">fname</a>.
<p>
-<div class="fragment"><pre>00295 {
-00296 <a class="code" href="classConfigReader.html#n0">fname</a> = CONFIG_FILE;
-00297 }
+<div class="fragment"><pre>00297 {
+00298 <a class="code" href="classConfigReader.html#n0">fname</a> = CONFIG_FILE;
+00299 }
</pre></div> </td>
</tr>
</table>
<p>
This constructor initialises the ConfigReader class to read a user-specified config file
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00305">305</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#l00307">307</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00305 : <a class="code" href="classConfigReader.html#n0">fname</a>(filename) { };
+<div class="fragment"><pre>00307 : <a class="code" href="classConfigReader.html#n0">fname</a>(filename) { };
</pre></div> </td>
</tr>
</table>
<p>
This method destroys the ConfigReader class.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00300">300</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#l00302">302</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00301 {
-00302 }
+<div class="fragment"><pre>00303 {
+00304 }
</pre></div> </td>
</tr>
</table>
<p>
This method counts the number of times a tag appears in a config file, for use where there are several tags of the same kind, e.g. with opers and connect types. It can be used with the index value of <a class="el" href="classConfigReader.html#a3">ConfigReader::ReadValue</a> to loop through all copies of a multiple instance tag.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00315">315</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00317">317</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l00433">fname</a>.
+References <a class="el" href="modules_8h-source.html#l00453">fname</a>.
<p>
-<div class="fragment"><pre>00316 {
-00317 <span class="keywordflow">return</span> EnumConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str());
-00318 }
+<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 }
</pre></div> </td>
</tr>
</table>
<p>
This method retrieves a value from the config file. Where multiple copies of the tag exist in the config file, index indicates which of the values to retrieve.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#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#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#l00433">fname</a>.
+References <a class="el" href="modules_8h-source.html#l00453">fname</a>.
<p>
-<div class="fragment"><pre>00308 {
-00309 <span class="keywordtype">char</span> val[MAXBUF];
-00310 ReadConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str(),name.c_str(),index,val);
-00311 <span class="keywordflow">return</span> val;
-00312 }
+<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 }
</pre></div> </td>
</tr>
</table>
<p>
This method is unimplemented and will always return true.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00321">321</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#l00323">323</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00322 {
-00323 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-00324 }
+<div class="fragment"><pre>00324 {
+00325 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00326 }
</pre></div> </td>
</tr>
</table>
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00433">433</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
+Definition at line <a class="el" href="modules_8h-source.html#l00453">453</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00294">ConfigReader()</a>, <a class="el" href="modules_8cpp-source.html#l00315">Enumerate()</a>, and <a class="el" href="modules_8cpp-source.html#l00307">ReadValue()</a>. </td>
+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>
</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 11:42:40 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
<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 11:42:40 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13:52 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>
</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 11:42:40 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13:52 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>
<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 11:42:41 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
<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 11:42:41 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
<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 11:42:42 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
</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 11:42:42 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
<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 11:42:42 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00473">473</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
+Definition at line <a class="el" href="modules_8h-source.html#l00493">493</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
<a name="a0" doxytag="FileReader::FileReader"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<p>
This method does not load any file into memory, you must use the LoadFile method after constructing the class this way.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00334">334</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#l00336">336</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00335 {
-00336 }
+<div class="fragment"><pre>00337 {
+00338 }
</pre></div> </td>
</tr>
</table>
<p>
This method initialises the class with a file loaded into it ready for GetLine and and other methods to be called. If the file could not be loaded, <a class="el" href="classFileReader.html#a6">FileReader::FileSize</a> returns 0.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00327">327</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#l00329">329</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l00475">fc</a>, and <a class="el" href="modules_8h-source.html#l00029">file_cache</a>.
+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>.
<p>
-<div class="fragment"><pre>00328 {
-00329 <a class="code" href="modules_8h.html#a10">file_cache</a> c;
-00330 readfile(c,filename.c_str());
-00331 this-><a class="code" href="classFileReader.html#o0">fc</a> = c;
-00332 }
+<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-><a class="code" href="classFileReader.html#o0">fc</a> = c;
+00334 }
</pre></div> </td>
</tr>
</table>
<p>
This deletes the memory allocated to the file.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00346">346</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#l00348">348</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00347 {
-00348 }
+<div class="fragment"><pre>00349 {
+00350 }
</pre></div> </td>
</tr>
</table>
<p>
This method retrieves one line from the text file. If an empty non-NULL string is returned, the index was out of bounds, or the line had no data on it.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00350">350</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#l00352">352</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l00475">fc</a>.
+References <a class="el" href="modules_8h-source.html#l00495">fc</a>.
<p>
-<div class="fragment"><pre>00351 {
-00352 <span class="keywordflow">if</span> (<a class="code" href="classFileReader.html#o0">fc</a>.size() == 0)
-00353 {
-00354 <span class="keywordflow">return</span>(false);
-00355 }
-00356 <span class="keywordflow">else</span>
-00357 {
-00358 <span class="keywordflow">return</span>(true);
-00359 }
-00360 }
+<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 }
</pre></div> </td>
</tr>
</table>
<p>
This method returns the number of lines in the read file. If it is 0, no lines have been read into memory, either because the file is empty or it does not exist, or cannot be opened due to permission problems.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00369">369</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#l00371">371</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l00475">fc</a>.
+References <a class="el" href="modules_8h-source.html#l00495">fc</a>.
<p>
-<div class="fragment"><pre>00370 {
-00371 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>.size();
-00372 }
+<div class="fragment"><pre>00372 {
+00373 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>.size();
+00374 }
</pre></div> </td>
</tr>
</table>
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00362">362</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#l00364">364</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l00475">fc</a>.
+References <a class="el" href="modules_8h-source.html#l00495">fc</a>.
<p>
-<div class="fragment"><pre>00363 {
-00364 <span class="keywordflow">if</span> ((x<0) || (x><a class="code" href="classFileReader.html#o0">fc</a>.size()))
-00365 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
-00366 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>[x];
-00367 }
+<div class="fragment"><pre>00365 {
+00366 <span class="keywordflow">if</span> ((x<0) || (x><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 }
</pre></div> </td>
</tr>
</table>
<p>
This method loads a file into the class ready for GetLine and and other methods to be called. If the file could not be loaded, <a class="el" href="classFileReader.html#a6">FileReader::FileSize</a> returns 0.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00338">338</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00340">340</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l00475">fc</a>, and <a class="el" href="modules_8h-source.html#l00029">file_cache</a>.
+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>.
<p>
-<div class="fragment"><pre>00339 {
-00340 <a class="code" href="modules_8h.html#a10">file_cache</a> c;
-00341 readfile(c,filename.c_str());
-00342 this-><a class="code" href="classFileReader.html#o0">fc</a> = c;
-00343 }
+<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-><a class="code" href="classFileReader.html#o0">fc</a> = c;
+00345 }
</pre></div> </td>
</tr>
</table>
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00475">475</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#l00495">495</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#l00350">Exists()</a>, <a class="el" href="modules_8cpp-source.html#l00327">FileReader()</a>, <a class="el" href="modules_8cpp-source.html#l00369">FileSize()</a>, <a class="el" href="modules_8cpp-source.html#l00362">GetLine()</a>, and <a class="el" href="modules_8cpp-source.html#l00338">LoadFile()</a>. </td>
+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>
</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 11:42:42 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
<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 11:42:43 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14: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>
</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 11:42:43 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14: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>
<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 11:42:44 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14:04 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
<p>
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 11:42:44 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14:04 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>
<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 11:42:43 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14:02 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>
</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 11:42:43 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14:02 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>
<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 11:42:44 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14:06 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>
</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 11:42:44 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14:06 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>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a0">classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classModule.html#a2">GetVersion</a>()</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="classModule.html#a0">Module</a>()</td><td><a class="el" href="classModule.html">Module</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><a class="el" href="classModule.html#a15">Module::OnWhois</a>(userrec *source, userrec *dest)</td><td><a class="el" href="classModule.html">Module</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classModule.html#a11">OnExtendedMode</a>(userrec *user, void *target, char modechar, int type, bool mode_on, string_list &params)</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="classModule.html#a14">OnInfo</a>(userrec *user)</td><td><a class="el" href="classModule.html">Module</a></td><td><code> [virtual]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classModule.html#a13">OnOper</a>(userrec *user)</td><td><a class="el" href="classModule.html">Module</a></td><td><code> [virtual]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classModule.html#a5">OnUserJoin</a>(userrec *user, chanrec *channel)</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="classModule.html#a6">OnUserPart</a>(userrec *user, chanrec *channel)</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="classModule.html#a12">OnUserPreJoin</a>(userrec *user, chanrec *chan, const char *cname)</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="classModule.html#a16">OnUserPreMessage</a>(userrec *user, void *dest, int target_type, std::string text)</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="classModule.html#a17">OnUserPreNotice</a>(userrec *user, void *dest, int target_type, std::string text)</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="classModule.html#a4">OnUserQuit</a>(userrec *user)</td><td><a class="el" href="classModule.html">Module</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="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 11:42:45 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14:07 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>
<tr><td> </td><td><font size=-1><em>Called whenever a user opers locally.</em> <a href="#a13"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void </td><td valign=bottom><a class="el" href="classModule.html#a14">OnInfo</a> (<a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
<tr><td> </td><td><font size=-1><em>Called whenever a user types /INFO.</em> <a href="#a14"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classModule.html#a15">Module::OnWhois</a> (<a class="el" href="classuserrec.html">userrec</a> *source, <a class="el" href="classuserrec.html">userrec</a> *dest)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void </td><td valign=bottom><a class="el" href="classModule.html#a15">OnWhois</a> (<a class="el" href="classuserrec.html">userrec</a> *source, <a class="el" href="classuserrec.html">userrec</a> *dest)</td></tr>
<tr><td> </td><td><font size=-1><em>Called whenever a /WHOIS is performed on a local user.</em> <a href="#a15"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual int </td><td valign=bottom><a class="el" href="classModule.html#a16">OnUserPreMessage</a> (<a class="el" href="classuserrec.html">userrec</a> *user, void *dest, int target_type, std::string text)</td></tr>
+<tr><td> </td><td><font size=-1><em>Called whenever a user is about to PRIVMSG A user or a channel, before any processing is done.</em> <a href="#a16"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual int </td><td valign=bottom><a class="el" href="classModule.html#a17">OnUserPreNotice</a> (<a class="el" href="classuserrec.html">userrec</a> *user, void *dest, int target_type, std::string text)</td></tr>
+<tr><td> </td><td><font size=-1><em>Called whenever a user is about to NOTICE A user or a channel, before any processing is done.</em> <a href="#a17"></a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Base class for all InspIRCd modules This class is the base class for InspIRCd modules.
</pre></div> </td>
</tr>
</table>
-<a name="a15" doxytag="Module::Module::OnWhois"></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"> void Module::Module::OnWhois </td>
- <td class="md" valign="top">( </td>
- <td class="md" nowrap valign="top"><a class="el" href="classuserrec.html">userrec</a> * </td>
- <td class="mdname" nowrap> <em>source</em>, </td>
- </tr>
- <tr>
- <td></td>
- <td></td>
- <td class="md" nowrap><a class="el" href="classuserrec.html">userrec</a> * </td>
- <td class="mdname" nowrap> <em>dest</em></td>
- </tr>
- <tr>
- <td></td>
- <td class="md">) </td>
- <td class="md" colspan="2"></td>
- </tr>
-
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
-
- </td>
- <td>
-
-<p>
-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. </td>
- </tr>
-</table>
<a name="a11" doxytag="Module::OnExtendedMode"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
</pre></div> </td>
</tr>
</table>
+<a name="a16" doxytag="Module::OnUserPreMessage"></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 Module::OnUserPreMessage </td>
+ <td class="md" valign="top">( </td>
+ <td class="md" nowrap valign="top"><a class="el" href="classuserrec.html">userrec</a> * </td>
+ <td class="mdname" nowrap> <em>user</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>void * </td>
+ <td class="mdname" nowrap> <em>dest</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int </td>
+ <td class="mdname" nowrap> <em>target_type</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>std::string </td>
+ <td class="mdname" nowrap> <em>text</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">) </td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+
+ </td>
+ <td>
+
+<p>
+Called whenever a user is about to PRIVMSG A user or a channel, before any processing is done.
+<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>.
+<p>
+<div class="fragment"><pre>00123 { <span class="keywordflow">return</span> 0; };
+</pre></div> </td>
+ </tr>
+</table>
+<a name="a17" doxytag="Module::OnUserPreNotice"></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 Module::OnUserPreNotice </td>
+ <td class="md" valign="top">( </td>
+ <td class="md" nowrap valign="top"><a class="el" href="classuserrec.html">userrec</a> * </td>
+ <td class="mdname" nowrap> <em>user</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>void * </td>
+ <td class="mdname" nowrap> <em>dest</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int </td>
+ <td class="mdname" nowrap> <em>target_type</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>std::string </td>
+ <td class="mdname" nowrap> <em>text</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">) </td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+
+ </td>
+ <td>
+
+<p>
+Called whenever a user is about to NOTICE A user or a channel, before any processing is done.
+<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>.
+<p>
+<div class="fragment"><pre>00124 { <span class="keywordflow">return</span> 0; };
+</pre></div> </td>
+ </tr>
+</table>
<a name="a4" doxytag="Module::OnUserQuit"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
</pre></div> </td>
</tr>
</table>
+<a name="a15" doxytag="Module::OnWhois"></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"> void Module::OnWhois </td>
+ <td class="md" valign="top">( </td>
+ <td class="md" nowrap valign="top"><a class="el" href="classuserrec.html">userrec</a> * </td>
+ <td class="mdname" nowrap> <em>source</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classuserrec.html">userrec</a> * </td>
+ <td class="mdname" nowrap> <em>dest</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">) </td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+
+ </td>
+ <td>
+
+<p>
+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>.
+<p>
+<div class="fragment"><pre>00122 { };
+</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 11:42:45 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14:07 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>
<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 11:42:45 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14:09 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00519">519</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
+Definition at line <a class="el" href="modules_8h-source.html#l00539">539</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
<a name="a0" doxytag="ModuleFactory::ModuleFactory"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00522">522</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#l00542">542</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
-<div class="fragment"><pre>00522 { }
+<div class="fragment"><pre>00542 { }
</pre></div> </td>
</tr>
</table>
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00523">523</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#l00543">543</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
-<div class="fragment"><pre>00523 { }
+<div class="fragment"><pre>00543 { }
</pre></div> </td>
</tr>
</table>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Tue Apr 6 11:42:45 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14:09 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>
<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 11:42:46 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14:13 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00219">219</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
+Definition at line <a class="el" href="modules_8h-source.html#l00239">239</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
<a name="a0" doxytag="Server::Server"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<p>
Creates a Server object.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00128">128</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#l00130">130</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00129 {
-00130 }
+<div class="fragment"><pre>00131 {
+00132 }
</pre></div> </td>
</tr>
</table>
<p>
Destroys a Server object.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00132">132</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#l00134">134</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00133 {
-00134 }
+<div class="fragment"><pre>00135 {
+00136 }
</pre></div> </td>
</tr>
</table>
typedef void (handlerfunc) (char**, int, userrec*); ... void handle_kill(char **parameters, int pcnt, userrec *user)<p>
When the command is typed, the parameters will be placed into the parameters array (similar to argv) and the parameter count will be placed into pcnt (similar to argv). There will never be any less parameters than the 'minparams' value you specified when creating the command. The *user parameter is the class of the user which caused the command to trigger, who will always have the flag you specified in 'flags' when creating the initial command. For example to create an oper only command create the commands with flags='o'.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00172">172</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#l00174">174</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>00173 {
-00174 <a class="code" href="modules_8h.html#a13">createcommand</a>(cmd,f,flags,minparams);
-00175 }
+<div class="fragment"><pre>00175 {
+00176 <a class="code" href="modules_8h.html#a13">createcommand</a>(cmd,f,flags,minparams);
+00177 }
</pre></div> </td>
</tr>
</table>
<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#l00273">273</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#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>00274 {
-00275 <span class="keywordflow">if</span> (type == <a class="code" href="modules_8h.html#a7">MT_SERVER</a>)
-00276 {
-00277 log(DEBUG,<span class="stringliteral">"*** API ERROR *** Modes of type MT_SERVER are reserved for future expansion"</span>);
-00278 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-00279 }
-00280 <span class="keywordflow">if</span> (((params_when_on>0) || (params_when_off>0)) && (type == <a class="code" href="modules_8h.html#a6">MT_CLIENT</a>))
-00281 {
-00282 log(DEBUG,<span class="stringliteral">"*** API ERROR *** Parameters on MT_CLIENT modes are not supported"</span>);
-00283 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-00284 }
-00285 <span class="keywordflow">if</span> ((params_when_on>1) || (params_when_off>1))
-00286 {
-00287 log(DEBUG,<span class="stringliteral">"*** API ERROR *** More than one parameter for an MT_CHANNEL mode is not yet supported"</span>);
-00288 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-00289 }
-00290 <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);
-00291 }
+<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>0) || (params_when_off>0)) && (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>1) || (params_when_off>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 }
</pre></div> </td>
</tr>
</table>
<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#l00156">156</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00158">158</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00157 {
-00158 force_nickchange(user,nickname.c_str());
-00159 }
+<div class="fragment"><pre>00159 {
+00160 force_nickchange(user,nickname.c_str());
+00161 }
</pre></div> </td>
</tr>
</table>
<p>
This function will return a string containing either @, , +, or an empty string, representing the user's privilages upon the channel you specify.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00251">251</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#l00253">253</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00252 {
-00253 <span class="keywordflow">return</span> cmode(User,Chan);
-00254 }
+<div class="fragment"><pre>00254 {
+00255 <span class="keywordflow">return</span> cmode(User,Chan);
+00256 }
</pre></div> </td>
</tr>
</table>
<p>
This method is used internally by the NICK and QUIT commands, and the <a class="el" href="classServer.html#a10">Server::SendCommon</a> method.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00214">214</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#l00216">216</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00215 {
-00216 <span class="keywordflow">return</span> (common_channels(u1,u2) != 0);
-00217 }
+<div class="fragment"><pre>00217 {
+00218 <span class="keywordflow">return</span> (common_channels(u1,u2) != 0);
+00219 }
</pre></div> </td>
</tr>
</table>
<p>
This function will return NULL if the channel does not exist.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00246">246</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#l00248">248</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00247 {
-00248 <span class="keywordflow">return</span> FindChan(channel.c_str());
-00249 }
+<div class="fragment"><pre>00249 {
+00250 <span class="keywordflow">return</span> FindChan(channel.c_str());
+00251 }
</pre></div> </td>
</tr>
</table>
<p>
This function will return NULL if the nick does not exist.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00241">241</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#l00243">243</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00242 {
-00243 <span class="keywordflow">return</span> Find(nick);
-00244 }
+<div class="fragment"><pre>00244 {
+00245 <span class="keywordflow">return</span> Find(nick);
+00246 }
</pre></div> </td>
</tr>
</table>
<p>
See the <a class="el" href="classAdmin.html">Admin</a> class for further information of the return value. The members <a class="el" href="classAdmin.html#m2">Admin::Nick</a>, <a class="el" href="classAdmin.html#m1">Admin::Email</a> and <a class="el" href="classAdmin.html#m0">Admin::Name</a> contain the information for the server where the module is loaded.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00266">266</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#l00268">268</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00267 {
-00268 <span class="keywordflow">return</span> <a class="code" href="classAdmin.html">Admin</a>(getadminname(),getadminemail(),getadminnick());
-00269 }
+<div class="fragment"><pre>00269 {
+00270 <span class="keywordflow">return</span> <a class="code" href="classAdmin.html">Admin</a>(getadminname(),getadminemail(),getadminnick());
+00271 }
</pre></div> </td>
</tr>
</table>
<p>
<p>
-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>.
+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>.
<p>
-<div class="fragment"><pre>00262 {
-00263 <span class="keywordflow">return</span> getnetworkname();
-00264 }
+<div class="fragment"><pre>00264 {
+00265 <span class="keywordflow">return</span> getnetworkname();
+00266 }
</pre></div> </td>
</tr>
</table>
<p>
<p>
-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>.
+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>.
<p>
-<div class="fragment"><pre>00257 {
-00258 <span class="keywordflow">return</span> getservername();
-00259 }
+<div class="fragment"><pre>00259 {
+00260 <span class="keywordflow">return</span> getservername();
+00261 }
</pre></div> </td>
</tr>
</table>
<p>
Nicks for unregistered connections will return false.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00236">236</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00238">238</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00237 {
-00238 <span class="keywordflow">return</span> (isnick(nick.c_str()) != 0);
-00239 }
+<div class="fragment"><pre>00239 {
+00240 <span class="keywordflow">return</span> (isnick(nick.c_str()) != 0);
+00241 }
</pre></div> </td>
</tr>
</table>
<p>
This method writes a line of text to the log. If the level given is lower than the level given in the configuration, this command has no effect.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00167">167</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#l00169">169</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00168 {
-00169 log(level,<span class="stringliteral">"%s"</span>,s.c_str());
-00170 }
+<div class="fragment"><pre>00170 {
+00171 log(level,<span class="stringliteral">"%s"</span>,s.c_str());
+00172 }
</pre></div> </td>
</tr>
</table>
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#l00161">161</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00163">163</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00162 {
-00163 kill_link(user,reason.c_str());
-00164 }
+<div class="fragment"><pre>00164 {
+00165 kill_link(user,reason.c_str());
+00166 }
</pre></div> </td>
</tr>
</table>
<p>
This method writes a line of text to an established socket, cutting it to 510 characters plus a carriage return and linefeed if required.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00182">182</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#l00184">184</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00183 {
-00184 Write(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
-00185 }
+<div class="fragment"><pre>00185 {
+00186 Write(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
+00187 }
</pre></div> </td>
</tr>
</table>
<p>
This method writes a line of text to a channel, with the given user's nick/ident /host combination prepended, as used in PRIVMSG etc commands (see RFC 1459). If the IncludeSender flag is set, then the text is also sent back to the user from which it originated, as seen in MODE (see RFC 1459).
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00202">202</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-<div class="fragment"><pre>00203 {
-00204 <span class="keywordflow">if</span> (IncludeSender)
-00205 {
-00206 WriteChannel(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
-00207 }
-00208 <span class="keywordflow">else</span>
-00209 {
-00210 ChanExceptSender(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
-00211 }
-00212 }
+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 }
</pre></div> </td>
</tr>
</table>
<p>
This method writes a line of text to all users which share a common channel with a given user, with the user's nick/ident/host combination prepended, as used in PRIVMSG etc commands (see RFC 1459). If the IncludeSender flag is set, then the text is also sent back to the user from which it originated, as seen in NICK (see RFC 1459). Otherwise, it is only sent to the other recipients, as seen in QUIT.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00219">219</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-<div class="fragment"><pre>00220 {
-00221 <span class="keywordflow">if</span> (IncludeSender)
-00222 {
-00223 WriteCommon(User,<span class="stringliteral">"%s"</span>,text.c_str());
-00224 }
-00225 <span class="keywordflow">else</span>
-00226 {
-00227 WriteCommonExcept(User,<span class="stringliteral">"%s"</span>,text.c_str());
-00228 }
-00229 }
+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 }
</pre></div> </td>
</tr>
</table>
<p>
This method writes a line of text to an established socket, with the given user's nick/ident /host combination prepended, as used in PRIVSG etc commands (see RFC 1459)
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00192">192</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#l00194">194</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00193 {
-00194 WriteFrom(Socket,User,<span class="stringliteral">"%s"</span>,s.c_str());
-00195 }
+<div class="fragment"><pre>00195 {
+00196 WriteFrom(Socket,User,<span class="stringliteral">"%s"</span>,s.c_str());
+00197 }
</pre></div> </td>
</tr>
</table>
Srv->SendMode(modes,3,user);<p>
The modes will originate from the server where the command was issued, however responses (e.g. numerics) will be sent to the user you provide as the third parameter. You must be sure to get the number of parameters correct in the pcnt parameter otherwise you could leave your server in an unstable state!
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00177">177</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#l00179">179</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>00178 {
-00179 <a class="code" href="modules_8h.html#a14">server_mode</a>(parameters,pcnt,user);
-00180 }
+<div class="fragment"><pre>00180 {
+00181 <a class="code" href="modules_8h.html#a14">server_mode</a>(parameters,pcnt,user);
+00182 }
</pre></div> </td>
</tr>
</table>
<p>
This method sends a server notice to all opers with the usermode +s.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00136">136</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00138">138</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00137 {
-00138 WriteOpers(<span class="stringliteral">"%s"</span>,s.c_str());
-00139 }
+<div class="fragment"><pre>00139 {
+00140 WriteOpers(<span class="stringliteral">"%s"</span>,s.c_str());
+00141 }
</pre></div> </td>
</tr>
</table>
<p>
This method writes a line of text to an established socket, with the servername prepended as used by numerics (see RFC 1459)
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00187">187</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#l00189">189</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00188 {
-00189 WriteServ(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
-00190 }
+<div class="fragment"><pre>00190 {
+00191 WriteServ(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
+00192 }
</pre></div> </td>
</tr>
</table>
<p>
This method writes a line of text to a user, with a user's nick/ident /host combination prepended, as used in PRIVMSG etc commands (see RFC 1459)
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00197">197</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#l00199">199</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00198 {
-00199 WriteTo(Source,Dest,<span class="stringliteral">"%s"</span>,s.c_str());
-00200 }
+<div class="fragment"><pre>00200 {
+00201 WriteTo(Source,Dest,<span class="stringliteral">"%s"</span>,s.c_str());
+00202 }
</pre></div> </td>
</tr>
</table>
Serv->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#l00141">141</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00143">143</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00142 {
-00143 WriteMode(modes.c_str(),flags,<span class="stringliteral">"%s"</span>,text.c_str());
-00144 }
+<div class="fragment"><pre>00144 {
+00145 WriteMode(modes.c_str(),flags,<span class="stringliteral">"%s"</span>,text.c_str());
+00146 }
</pre></div> </td>
</tr>
</table>
<p>
This method writes a WALLOPS message to all users with the +w flag, originating from the specified user.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00231">231</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#l00233">233</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00232 {
-00233 WriteWallOps(User,<span class="stringliteral">"%s"</span>,text.c_str());
-00234 }
+<div class="fragment"><pre>00234 {
+00235 WriteWallOps(User,<span class="stringliteral">"%s"</span>,text.c_str());
+00236 }
</pre></div> </td>
</tr>
</table>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr><address style="align: right;"><small>Generated on Tue Apr 6 11:42:46 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14:13 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>
<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 11:42:49 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14: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>
</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 11:42:49 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14: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>
<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 11:42:38 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
</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 11:42:38 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
<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 11:42:38 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
</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 11:42:38 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
<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 11:42:39 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13:48 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>
</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 11:42:39 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13:48 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>
<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 11:42:41 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
</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 11:42:41 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> P </div></td></tr></table>
</td><td><a class="el" href="classuserrec.html">userrec</a> </td></tr><tr><td><a class="el" href="classchanrec.html">chanrec</a> </td><td><a class="el" href="classExemptItem.html">ExemptItem</a> </td><td><a class="el" href="classInvited.html">Invited</a> </td><td><a class="el" href="classpacket.html">packet</a> </td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> V </div></td></tr></table>
</td></tr><tr><td><a class="el" href="classclassbase.html">classbase</a> </td><td><a class="el" href="classExtMode.html">ExtMode</a> </td><td><a class="el" href="classInviteItem.html">InviteItem</a> </td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> S </div></td></tr></table>
-</td><td><a class="el" href="classVersion.html">Version</a> </td></tr></table><hr><address style="align: right;"><small>Generated on Tue Apr 6 11:42:36 2004 for InspIRCd by
+</td><td><a class="el" href="classVersion.html">Version</a> </td></tr></table><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
<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 11:42:46 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14:11 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>
</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 11:42:46 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14:11 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>
<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 11:42:48 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14: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>
</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 11:42:47 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14: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>
<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 11:42:48 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14:18 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
</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 11:42:48 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14:18 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
<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 11:42:49 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14: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>
</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 11:42:49 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14: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>
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 11:42:30 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
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 11:42:33 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
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 11:42:30 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
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 11:42:33 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
<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 11:42:30 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
: <a class="el" href="classExtMode.html#m0">ExtMode</a><li>moderated
: <a class="el" href="classchanrec.html#m11">chanrec</a><li>modes
: <a class="el" href="classuserrec.html#m4">userrec</a><li>Module()
-: <a class="el" href="classModule.html#a0">Module</a><li>Module::OnWhois()
-: <a class="el" href="classModule.html#a15">Module</a><li>ModuleFactory()
+: <a class="el" href="classModule.html#a0">Module</a><li>ModuleFactory()
: <a class="el" href="classModuleFactory.html#a0">ModuleFactory</a></ul>
<h3><a name="index_n">- n -</a>
</h3><ul>
: <a class="el" href="classModule.html#a3">Module</a><li>OnUserJoin()
: <a class="el" href="classModule.html#a5">Module</a><li>OnUserPart()
: <a class="el" href="classModule.html#a6">Module</a><li>OnUserPreJoin()
-: <a class="el" href="classModule.html#a12">Module</a><li>OnUserQuit()
-: <a class="el" href="classModule.html#a4">Module</a><li>opercount
+: <a class="el" href="classModule.html#a12">Module</a><li>OnUserPreMessage()
+: <a class="el" href="classModule.html#a16">Module</a><li>OnUserPreNotice()
+: <a class="el" href="classModule.html#a17">Module</a><li>OnUserQuit()
+: <a class="el" href="classModule.html#a4">Module</a><li>OnWhois()
+: <a class="el" href="classModule.html#a15">Module</a><li>opercount
: <a class="el" href="classserverrec.html#m4">serverrec</a></ul>
<h3><a name="index_p">- p -</a>
</h3><ul>
<h3><a name="index_v">- v -</a>
</h3><ul>
<li>Verify()
-: <a class="el" href="classConfigReader.html#a5">ConfigReader</a><li>version
-: <a class="el" href="classserverrec.html#m6">serverrec</a><li>Version()
-: <a class="el" href="classVersion.html#a0">Version</a></ul>
+: <a class="el" href="classConfigReader.html#a5">ConfigReader</a><li>Version()
+: <a class="el" href="classVersion.html#a0">Version</a><li>version
+: <a class="el" href="classserverrec.html#m6">serverrec</a></ul>
<h3><a name="index_~">- ~ -</a>
</h3><ul>
<li>~chanrec()
: <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 11:42:36 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
</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 11:42:49 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14: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>
<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 11:42:50 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14: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>
</ul>
<li><a class="el" href="classExtMode.html">ExtMode</a>
</ul>
-<hr><address style="align: right;"><small>Generated on Tue Apr 6 11:42:36 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
<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 11:42:50 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14: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>
<a class="qindex" href="main.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> </center>
<hr><h1>InspIRCd Documentation</h1>
<p>
-<hr><address style="align: right;"><small>Generated on Tue Apr 6 11:42:30 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
<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) { };
-00122 <span class="keywordtype">void</span> Module::OnWhois(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="classuserrec.html">userrec</a>* dest) { };
-00123
-00124 <span class="comment">// server is a wrapper class that provides methods to all of the C-style</span>
-00125 <span class="comment">// exports in the core</span>
-00126 <span class="comment">//</span>
-00127
-<a name="l00128"></a><a class="code" href="classServer.html#a0">00128</a> <a class="code" href="classServer.html#a0">Server::Server</a>()
-00129 {
-00130 }
-00131
-<a name="l00132"></a><a class="code" href="classServer.html#a1">00132</a> <a class="code" href="classServer.html#a1">Server::~Server</a>()
-00133 {
-00134 }
-00135
-<a name="l00136"></a><a class="code" href="classServer.html#a2">00136</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a2">Server::SendOpers</a>(std::string s)
-00137 {
-00138 WriteOpers(<span class="stringliteral">"%s"</span>,s.c_str());
-00139 }
-00140
-<a name="l00141"></a><a class="code" href="classServer.html#a22">00141</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)
-00142 {
-00143 WriteMode(modes.c_str(),flags,<span class="stringliteral">"%s"</span>,text.c_str());
-00144 }
-00145
-00146 <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)
-00147 {
-00148 <span class="keywordflow">return</span> add_channel(user,cname.c_str(),key.c_str());
-00149 }
-00150
-00151 <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)
-00152 {
-00153 <span class="keywordflow">return</span> del_channel(user,cname.c_str(),reason.c_str());
-00154 }
-00155
-<a name="l00156"></a><a class="code" href="classServer.html#a25">00156</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)
-00157 {
-00158 force_nickchange(user,nickname.c_str());
-00159 }
-00160
-<a name="l00161"></a><a class="code" href="classServer.html#a26">00161</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)
-00162 {
-00163 kill_link(user,reason.c_str());
-00164 }
-00165
-00166
-<a name="l00167"></a><a class="code" href="classServer.html#a3">00167</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)
-00168 {
-00169 log(level,<span class="stringliteral">"%s"</span>,s.c_str());
-00170 }
-00171
-<a name="l00172"></a><a class="code" href="classServer.html#a20">00172</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)
-00173 {
-00174 <a class="code" href="modules_8h.html#a13">createcommand</a>(cmd,f,flags,minparams);
-00175 }
-00176
-<a name="l00177"></a><a class="code" href="classServer.html#a21">00177</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)
-00178 {
-00179 <a class="code" href="modules_8h.html#a14">server_mode</a>(parameters,pcnt,user);
-00180 }
-00181
-<a name="l00182"></a><a class="code" href="classServer.html#a4">00182</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)
-00183 {
-00184 Write(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
-00185 }
-00186
-<a name="l00187"></a><a class="code" href="classServer.html#a5">00187</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)
-00188 {
-00189 WriteServ(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
-00190 }
-00191
-<a name="l00192"></a><a class="code" href="classServer.html#a6">00192</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)
-00193 {
-00194 WriteFrom(Socket,User,<span class="stringliteral">"%s"</span>,s.c_str());
-00195 }
-00196
-<a name="l00197"></a><a class="code" href="classServer.html#a7">00197</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)
-00198 {
-00199 WriteTo(Source,Dest,<span class="stringliteral">"%s"</span>,s.c_str());
-00200 }
-00201
-<a name="l00202"></a><a class="code" href="classServer.html#a8">00202</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)
-00203 {
-00204 <span class="keywordflow">if</span> (IncludeSender)
-00205 {
-00206 WriteChannel(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
-00207 }
-00208 <span class="keywordflow">else</span>
-00209 {
-00210 ChanExceptSender(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
-00211 }
-00212 }
-00213
-<a name="l00214"></a><a class="code" href="classServer.html#a9">00214</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)
-00215 {
-00216 <span class="keywordflow">return</span> (common_channels(u1,u2) != 0);
-00217 }
-00218
-<a name="l00219"></a><a class="code" href="classServer.html#a10">00219</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)
-00220 {
-00221 <span class="keywordflow">if</span> (IncludeSender)
-00222 {
-00223 WriteCommon(User,<span class="stringliteral">"%s"</span>,text.c_str());
-00224 }
-00225 <span class="keywordflow">else</span>
-00226 {
-00227 WriteCommonExcept(User,<span class="stringliteral">"%s"</span>,text.c_str());
-00228 }
-00229 }
-00230
-<a name="l00231"></a><a class="code" href="classServer.html#a11">00231</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)
-00232 {
-00233 WriteWallOps(User,<span class="stringliteral">"%s"</span>,text.c_str());
-00234 }
-00235
-<a name="l00236"></a><a class="code" href="classServer.html#a12">00236</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a12">Server::IsNick</a>(std::string nick)
-00237 {
-00238 <span class="keywordflow">return</span> (isnick(nick.c_str()) != 0);
-00239 }
-00240
-<a name="l00241"></a><a class="code" href="classServer.html#a13">00241</a> <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="classServer.html#a13">Server::FindNick</a>(std::string nick)
-00242 {
-00243 <span class="keywordflow">return</span> Find(nick);
-00244 }
-00245
-<a name="l00246"></a><a class="code" href="classServer.html#a14">00246</a> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#a14">Server::FindChannel</a>(std::string channel)
-00247 {
-00248 <span class="keywordflow">return</span> FindChan(channel.c_str());
-00249 }
-00250
-<a name="l00251"></a><a class="code" href="classServer.html#a15">00251</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)
-00252 {
-00253 <span class="keywordflow">return</span> cmode(User,Chan);
-00254 }
-00255
-<a name="l00256"></a><a class="code" href="classServer.html#a16">00256</a> std::string <a class="code" href="classServer.html#a16">Server::GetServerName</a>()
-00257 {
-00258 <span class="keywordflow">return</span> getservername();
-00259 }
-00260
-<a name="l00261"></a><a class="code" href="classServer.html#a17">00261</a> std::string <a class="code" href="classServer.html#a17">Server::GetNetworkName</a>()
-00262 {
-00263 <span class="keywordflow">return</span> getnetworkname();
-00264 }
-00265
-<a name="l00266"></a><a class="code" href="classServer.html#a18">00266</a> <a class="code" href="classAdmin.html">Admin</a> <a class="code" href="classServer.html#a18">Server::GetAdmin</a>()
-00267 {
-00268 <span class="keywordflow">return</span> <a class="code" href="classAdmin.html">Admin</a>(getadminname(),getadminemail(),getadminnick());
-00269 }
-00270
-00271
+<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>
+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
-<a name="l00273"></a><a class="code" href="classServer.html#a19">00273</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)
-00274 {
-00275 <span class="keywordflow">if</span> (type == <a class="code" href="modules_8h.html#a7">MT_SERVER</a>)
-00276 {
-00277 log(DEBUG,<span class="stringliteral">"*** API ERROR *** Modes of type MT_SERVER are reserved for future expansion"</span>);
-00278 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-00279 }
-00280 <span class="keywordflow">if</span> (((params_when_on>0) || (params_when_off>0)) && (type == <a class="code" href="modules_8h.html#a6">MT_CLIENT</a>))
-00281 {
-00282 log(DEBUG,<span class="stringliteral">"*** API ERROR *** Parameters on MT_CLIENT modes are not supported"</span>);
-00283 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-00284 }
-00285 <span class="keywordflow">if</span> ((params_when_on>1) || (params_when_off>1))
-00286 {
-00287 log(DEBUG,<span class="stringliteral">"*** API ERROR *** More than one parameter for an MT_CHANNEL mode is not yet supported"</span>);
-00288 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-00289 }
-00290 <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);
-00291 }
-00292
-00293
-<a name="l00294"></a><a class="code" href="classConfigReader.html#a0">00294</a> <a class="code" href="classConfigReader.html#a0">ConfigReader::ConfigReader</a>()
-00295 {
-00296 <a class="code" href="classConfigReader.html#n0">fname</a> = CONFIG_FILE;
-00297 }
-00298
-00299
-<a name="l00300"></a><a class="code" href="classConfigReader.html#a2">00300</a> <a class="code" href="classConfigReader.html#a2">ConfigReader::~ConfigReader</a>()
-00301 {
-00302 }
-00303
-00304
-<a name="l00305"></a><a class="code" href="classConfigReader.html#a1">00305</a> <a class="code" href="classConfigReader.html#a0">ConfigReader::ConfigReader</a>(std::string filename) : fname(filename) { };
+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>0) || (params_when_off>0)) && (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>1) || (params_when_off>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#a3">00307</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)
-00308 {
-00309 <span class="keywordtype">char</span> val[MAXBUF];
-00310 ReadConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str(),name.c_str(),index,val);
-00311 <span class="keywordflow">return</span> val;
-00312 }
-00313
-00314
-<a name="l00315"></a><a class="code" href="classConfigReader.html#a4">00315</a> <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#a4">ConfigReader::Enumerate</a>(std::string tag)
-00316 {
-00317 <span class="keywordflow">return</span> EnumConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str());
-00318 }
-00319
-00320
-<a name="l00321"></a><a class="code" href="classConfigReader.html#a5">00321</a> <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#a5">ConfigReader::Verify</a>()
-00322 {
-00323 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-00324 }
-00325
-00326
-<a name="l00327"></a><a class="code" href="classFileReader.html#a1">00327</a> <a class="code" href="classFileReader.html#a0">FileReader::FileReader</a>(std::string filename)
-00328 {
-00329 <a class="code" href="modules_8h.html#a10">file_cache</a> c;
-00330 readfile(c,filename.c_str());
-00331 this-><a class="code" href="classFileReader.html#o0">fc</a> = c;
-00332 }
-00333
-<a name="l00334"></a><a class="code" href="classFileReader.html#a0">00334</a> <a class="code" href="classFileReader.html#a0">FileReader::FileReader</a>()
-00335 {
-00336 }
-00337
-<a name="l00338"></a><a class="code" href="classFileReader.html#a3">00338</a> <span class="keywordtype">void</span> <a class="code" href="classFileReader.html#a3">FileReader::LoadFile</a>(std::string filename)
-00339 {
-00340 <a class="code" href="modules_8h.html#a10">file_cache</a> c;
-00341 readfile(c,filename.c_str());
-00342 this-><a class="code" href="classFileReader.html#o0">fc</a> = c;
-00343 }
-00344
-00345
-<a name="l00346"></a><a class="code" href="classFileReader.html#a2">00346</a> <a class="code" href="classFileReader.html#a2">FileReader::~FileReader</a>()
-00347 {
-00348 }
-00349
-<a name="l00350"></a><a class="code" href="classFileReader.html#a4">00350</a> <span class="keywordtype">bool</span> <a class="code" href="classFileReader.html#a4">FileReader::Exists</a>()
-00351 {
-00352 <span class="keywordflow">if</span> (<a class="code" href="classFileReader.html#o0">fc</a>.size() == 0)
-00353 {
-00354 <span class="keywordflow">return</span>(false);
-00355 }
-00356 <span class="keywordflow">else</span>
-00357 {
-00358 <span class="keywordflow">return</span>(true);
-00359 }
-00360 }
-00361
-<a name="l00362"></a><a class="code" href="classFileReader.html#a5">00362</a> std::string <a class="code" href="classFileReader.html#a5">FileReader::GetLine</a>(<span class="keywordtype">int</span> x)
-00363 {
-00364 <span class="keywordflow">if</span> ((x<0) || (x><a class="code" href="classFileReader.html#o0">fc</a>.size()))
-00365 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
-00366 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>[x];
-00367 }
-00368
-<a name="l00369"></a><a class="code" href="classFileReader.html#a6">00369</a> <span class="keywordtype">int</span> <a class="code" href="classFileReader.html#a6">FileReader::FileSize</a>()
-00370 {
-00371 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>.size();
-00372 }
-00373
-00374
-00375 std::vector<Module*> <a class="code" href="modules_8cpp.html#a9">modules</a>(255);
-00376 std::vector<ircd_module*> <a class="code" href="modules_8cpp.html#a10">factory</a>(255);
-00377
-<a name="l00378"></a><a class="code" href="modules_8cpp.html#a3">00378</a> <span class="keywordtype">int</span> <a class="code" href="modules_8cpp.html#a3">MODCOUNT</a> = -1;
+<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-><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-><a class="code" href="classFileReader.html#o0">fc</a> = c;
+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 {
+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<0) || (x><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
+00376
+00377 std::vector<Module*> <a class="code" href="modules_8cpp.html#a9">modules</a>(255);
+00378 std::vector<ircd_module*> <a class="code" href="modules_8cpp.html#a10">factory</a>(255);
00379
-00380
-</pre></div><hr><address style="align: right;"><small>Generated on Tue Apr 6 11:42:30 2004 for InspIRCd by
+<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;
+00381
+00382
+</pre></div><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
<p>
References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>, and <a class="el" href="modules_8cpp-source.html#l00034">ModeDefined()</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00273">Server::AddExtendedMode()</a>.
+Referenced by <a class="el" href="modules_8cpp-source.html#l00275">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)) {
<p>
<p>
-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>. </td>
+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>
</tr>
</table>
-<hr><address style="align: right;"><small>Generated on Tue Apr 6 11:42:34 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
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="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);
-00211 };
-00212
-00213
-<a name="l00219"></a><a class="code" href="classServer.html">00219</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>
-00220 {
-00221 <span class="keyword">public</span>:
-00225 <a class="code" href="classServer.html#a0">Server</a>();
-00229 <span class="keyword">virtual</span> <a class="code" href="classServer.html#a1">~Server</a>();
-00230
-00234 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a2">SendOpers</a>(std::string s);
-00239 <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);
-00244 <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);
-00249 <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);
-00254 <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);
-00259 <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);
-00266 <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);
-00271 <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);
-00279 <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);
-00284 <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);
-00285
-00289 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a12">IsNick</a>(std::string nick);
-00293 <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);
-00297 <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);
-00302 <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);
-00305 <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a16">GetServerName</a>();
-00308 <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a17">GetNetworkName</a>();
-00314 <span class="keyword">virtual</span> <a class="code" href="classAdmin.html">Admin</a> <a class="code" href="classServer.html#a18">GetAdmin</a>();
-00333 <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);
-00334
-00349 <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);
-00350
-00372 <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);
-00373
-00386 <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);
-00387
-00393 <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);
-00394
-00400 <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);
-00401
-00407 <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);
-00408
-00419 <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);
-00420 };
-00421
-<a name="l00428"></a><a class="code" href="classConfigReader.html">00428</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>
-00429 {
-00430 <span class="keyword">protected</span>:
-<a name="l00433"></a><a class="code" href="classConfigReader.html#n0">00433</a> std::string <a class="code" href="classConfigReader.html#n0">fname</a>;
-00434 <span class="keyword">public</span>:
-00439 <a class="code" href="classConfigReader.html#a0">ConfigReader</a>(); <span class="comment">// default constructor reads ircd.conf</span>
-00443 <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>
-00447 <span class="comment"></span> <a class="code" href="classConfigReader.html#a2">~ConfigReader</a>();
-00452 std::string <a class="code" href="classConfigReader.html#a3">ReadValue</a>(std::string tag, std::string name, <span class="keywordtype">int</span> index);
-00459 <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#a4">Enumerate</a>(std::string tag);
-00463 <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#a5">Verify</a>();
-00464 };
-00465
-00466
-00467
-<a name="l00473"></a><a class="code" href="classFileReader.html">00473</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>
-00474 {
-<a name="l00475"></a><a class="code" href="classFileReader.html#o0">00475</a> <a class="code" href="modules_8h.html#a10">file_cache</a> <a class="code" href="classFileReader.html#o0">fc</a>;
-00476 <span class="keyword">public</span>:
-00481 <a class="code" href="classFileReader.html#a0">FileReader</a>();
-00487 <a class="code" href="classFileReader.html#a0">FileReader</a>(std::string filename);
-00491 <a class="code" href="classFileReader.html#a2">~FileReader</a>();
-00497 <span class="keywordtype">void</span> <a class="code" href="classFileReader.html#a3">LoadFile</a>(std::string filename);
-00502 <span class="keywordtype">bool</span> <a class="code" href="classFileReader.html#a4">Exists</a>();
-00503 std::string <a class="code" href="classFileReader.html#a5">GetLine</a>(<span class="keywordtype">int</span> x);
-00509 <span class="keywordtype">int</span> <a class="code" href="classFileReader.html#a6">FileSize</a>();
-00510 };
-00511
-00512
-<a name="l00519"></a><a class="code" href="classModuleFactory.html">00519</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>
-00520 {
-00521 <span class="keyword">public</span>:
-<a name="l00522"></a><a class="code" href="classModuleFactory.html#a0">00522</a> <a class="code" href="classModuleFactory.html#a0">ModuleFactory</a>() { }
-<a name="l00523"></a><a class="code" href="classModuleFactory.html#a1">00523</a> <span class="keyword">virtual</span> <a class="code" href="classModuleFactory.html#a1">~ModuleFactory</a>() { }
-00528 <span class="keyword">virtual</span> <a class="code" href="classModule.html">Module</a> * <a class="code" href="classModuleFactory.html#a2">CreateModule</a>() = 0;
-00529 };
-00530
+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
+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 };
00531
-<a name="l00532"></a><a class="code" href="modules_8h.html#a12">00532</a> <span class="keyword">typedef</span> DLLFactory<ModuleFactory> <a class="code" href="modules_8h.html#a12">ircd_module</a>;
-00533
-00534 <span class="preprocessor">#endif</span>
-</pre></div><hr><address style="align: right;"><small>Generated on Tue Apr 6 11:42:30 2004 for InspIRCd by
+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 };
+00550
+00551
+<a name="l00552"></a><a class="code" href="modules_8h.html#a12">00552</a> <span class="keyword">typedef</span> DLLFactory<ModuleFactory> <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
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
<p>
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#l00273">Server::AddExtendedMode()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00275">Server::AddExtendedMode()</a>. </td>
</tr>
</table>
<a name="a7" doxytag="modules.h::MT_SERVER"></a><p>
<p>
Definition at line <a class="el" href="modules_8h-source.html#l00019">19</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00273">Server::AddExtendedMode()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00275">Server::AddExtendedMode()</a>. </td>
</tr>
</table>
<a name="a4" doxytag="modules.h::NONE"></a><p>
<p>
Definition at line <a class="el" href="modules_8h-source.html#l00029">29</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00327">FileReader::FileReader()</a>, and <a class="el" href="modules_8cpp-source.html#l00338">FileReader::LoadFile()</a>. </td>
+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>
</tr>
</table>
<a name="a12" doxytag="modules.h::ircd_module"></a><p>
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00532">532</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#l00552">552</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
</tr>
</table>
<a name="a11" doxytag="modules.h::string_list"></a><p>
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00172">Server::AddCommand()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00174">Server::AddCommand()</a>. </td>
</tr>
</table>
<a name="a14" doxytag="modules.h::server_mode"></a><p>
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00177">Server::SendMode()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00179">Server::SendMode()</a>. </td>
</tr>
</table>
-<hr><address style="align: right;"><small>Generated on Tue Apr 6 11:42:34 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
<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 11:42:49 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14: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>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
</table>
-<hr><address style="align: right;"><small>Generated on Tue Apr 6 11:42:49 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:14: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>
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 11:42:30 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
<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 11:42:35 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13:34 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
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 11:42:30 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
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 11:42:35 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
00085 }
00086 }
00087 }
-</pre></div><hr><address style="align: right;"><small>Generated on Tue Apr 6 11:42:30 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13:20 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
<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 11:42:36 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
00150
00151
00152 <span class="preprocessor">#endif</span>
-</pre></div><hr><address style="align: right;"><small>Generated on Tue Apr 6 11:42:30 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13:20 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
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 11:42:36 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Tue Apr 6 21:13: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>
* 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.
*/
- virtual void Module::OnWhois(userrec* source, userrec* dest);
+ virtual void OnWhois(userrec* source, userrec* dest);
/** Called whenever a user is about to PRIVMSG A user or a channel, before any processing is done.
* Returning any nonzero value from this function stops the process immediately, causing no
[Editors]
-Focused=4
+Focused=-1
Order=7,3,2,6,25,24,4,5,0,-1,1
[Editor_0]
[Editor_4]
Open=1
-Top=1
-CursorCol=13
+Top=0
+CursorCol=77
CursorRow=124
TopLine=90
LeftChar=1
[Editor_20]
Open=1
-Top=0
-CursorCol=78
-CursorRow=230
-TopLine=189
+Top=1
+CursorCol=15
+CursorRow=210
+TopLine=176
LeftChar=1
[Editor_21]