<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>modules.cpp File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
-<a class="qindex" href="main.html">Main Page</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> </center>
+<a class="qindex" href="main.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> </center>
<hr><h1>modules.cpp File Reference</h1><code>#include <typeinfo></code><br>
<code>#include <iostream></code><br>
<code>#include "globals.h"</code><br>
<code>#include "<a class="el" href="modules_8h-source.html">modules.h</a>"</code><br>
<code>#include "<a class="el" href="ctables_8h-source.html">ctables.h</a>"</code><br>
<code>#include "inspircd_io.h"</code><br>
+<code>#include "wildcard.h"</code><br>
+<code>#include "<a class="el" href="mode_8h-source.html">mode.h</a>"</code><br>
+<code>#include "<a class="el" href="message_8h-source.html">message.h</a>"</code><br>
+<code>#include "<a class="el" href="commands_8h-source.html">commands.h</a>"</code><br>
<p>
Include dependency graph for modules.cpp:<p><center><img src="modules_8cpp__incl.gif" border="0" usemap="#modules.cpp_map" alt="Include dependency graph"></center>
<map name="modules.cpp_map">
-<area href="modules_8h.html" shape="rect" coords="255,224,321,245" alt="">
-<area href="base_8h.html" shape="rect" coords="257,85,305,107" alt="">
-<area href="ctables_8h.html" shape="rect" coords="368,155,429,176" alt="">
+<area href="mode_8h.html" shape="rect" coords="143,197,193,218" alt="">
+<area href="message_8h.html" shape="rect" coords="132,333,204,354" alt="">
+<area href="commands_8h.html" shape="rect" coords="127,378,209,400" alt="">
+<area href="modules_8h.html" shape="rect" coords="135,5,201,26" alt="">
+<area href="ctables_8h.html" shape="rect" coords="17,29,79,50" alt="">
</map>
<p>
<tr><td nowrap align=right valign=top>typedef ExtModeList::iterator </td><td valign=bottom><a class="el" href="modules_8cpp.html#a1">ExtModeListIter</a></td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="modules_8cpp.html#a4">ModeDefined</a> (char modechar, int type)</td></tr>
-<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="modules_8cpp.html#a5">ModeDefinedOn</a> (char modechar, int type)</td></tr>
-<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="modules_8cpp.html#a6">ModeDefinedOff</a> (char modechar, int type)</td></tr>
-<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="modules_8cpp.html#a7">AddExtendedMode</a> (char modechar, int type, bool default_on, int params_on, int params_off)</td></tr>
-<tr><td nowrap align=right valign=top>std::vector< <a class="el" href="classModule.html">Module</a> * > </td><td valign=bottom><a class="el" href="modules_8cpp.html#a8">modules</a> (255)</td></tr>
-<tr><td nowrap align=right valign=top>std::vector< <a class="el" href="modules_8h.html#a11">ircd_module</a> * > </td><td valign=bottom><a class="el" href="modules_8cpp.html#a9">factory</a> (255)</td></tr>
+<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="modules_8cpp.html#a5">ModeDefinedOper</a> (char modechar, int type)</td></tr>
+<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="modules_8cpp.html#a6">ModeDefinedOn</a> (char modechar, int type)</td></tr>
+<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="modules_8cpp.html#a7">ModeDefinedOff</a> (char modechar, int type)</td></tr>
+<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="modules_8cpp.html#a8">DoAddExtendedMode</a> (char modechar, int type, bool requires_oper, int params_on, int params_off)</td></tr>
+<tr><td nowrap align=right valign=top>std::vector< <a class="el" href="classModule.html">Module</a> * > </td><td valign=bottom><a class="el" href="modules_8cpp.html#a9">modules</a> (255)</td></tr>
+<tr><td nowrap align=right valign=top>std::vector< <a class="el" href="modules_8h.html#a12">ircd_module</a> * > </td><td valign=bottom><a class="el" href="modules_8cpp.html#a10">factory</a> (255)</td></tr>
<tr><td colspan=2><br><h2>Variables</h2></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="modules_8cpp.html#a0">ExtModeList</a> </td><td valign=bottom><a class="el" href="modules_8cpp.html#a2">EMode</a></td></tr>
<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="modules_8cpp.html#a3">MODCOUNT</a> = -1</td></tr>
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00028">28</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>. </td>
+Definition at line <a class="el" href="modules_8cpp-source.html#l00032">32</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>. </td>
</tr>
</table>
<a name="a1" doxytag="modules.cpp::ExtModeListIter"></a><p>
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00029">29</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00033">33</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00034">ModeDefined()</a>, <a class="el" href="modules_8cpp-source.html#l00060">ModeDefinedOff()</a>, and <a class="el" href="modules_8cpp-source.html#l00047">ModeDefinedOn()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00038">ModeDefined()</a>, <a class="el" href="modules_8cpp-source.html#l00080">ModeDefinedOff()</a>, <a class="el" href="modules_8cpp-source.html#l00067">ModeDefinedOn()</a>, and <a class="el" href="modules_8cpp-source.html#l00052">ModeDefinedOper()</a>. </td>
</tr>
</table>
<hr><h2>Function Documentation</h2>
-<a name="a7" doxytag="modules.cpp::AddExtendedMode"></a><p>
+<a name="a8" doxytag="modules.cpp::DoAddExtendedMode"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> bool AddExtendedMode </td>
+ <td class="md" nowrap valign="top"> bool DoAddExtendedMode </td>
<td class="md" valign="top">( </td>
<td class="md" nowrap valign="top">char </td>
<td class="mdname" nowrap> <em>modechar</em>, </td>
<td></td>
<td></td>
<td class="md" nowrap>bool </td>
- <td class="mdname" nowrap> <em>default_on</em>, </td>
+ <td class="mdname" nowrap> <em>requires_oper</em>, </td>
</tr>
<tr>
<td></td>
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00073">73</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#l00093">93</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>.
+References <a class="el" href="modules_8cpp-source.html#l00035">EMode</a>, and <a class="el" href="modules_8cpp-source.html#l00038">ModeDefined()</a>.
<p>
-<div class="fragment"><pre>00074 {
-00075 <a class="code" href="modules_8cpp.html#a2">EMode</a>.push_back( <a class="code" href="classExtMode.html">ExtMode</a> (modechar,type,default_on,params_on,params_off));
-00076 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-00077 }
+Referenced by <a class="el" href="modules_8cpp-source.html#l00317">Server::AddExtendedMode()</a>.
+<p>
+<div class="fragment"><pre>00094 {
+00095 <span class="keywordflow">if</span> (<a class="code" href="modules_8cpp.html#a4">ModeDefined</a>(modechar,type)) {
+00096 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00097 }
+00098 <a class="code" href="modules_8cpp.html#a2">EMode</a>.push_back(<a class="code" href="classExtMode.html">ExtMode</a>(modechar,type,requires_oper,params_on,params_off));
+00099 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00100 }
</pre></div> </td>
</tr>
</table>
-<a name="a9" doxytag="modules.cpp::factory"></a><p>
+<a name="a10" doxytag="modules.cpp::factory"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> std::vector<<a class="el" href="modules_8h.html#a11">ircd_module</a>*> factory </td>
+ <td class="md" nowrap valign="top"> std::vector<<a class="el" href="modules_8h.html#a12">ircd_module</a>*> factory </td>
<td class="md" valign="top">( </td>
<td class="md" nowrap valign="top">255 </td>
<td class="mdname1" valign="top" nowrap> </td>
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00034">34</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00038">38</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+<p>
+References <a class="el" href="modules_8cpp-source.html#l00035">EMode</a>, and <a class="el" href="modules_8cpp-source.html#l00033">ExtModeListIter</a>.
+<p>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00093">DoAddExtendedMode()</a>.
+<p>
+<div class="fragment"><pre>00039 {
+00040 log(DEBUG,<span class="stringliteral">"Size of extmodes vector is %d"</span>,<a class="code" href="modules_8cpp.html#a2">EMode</a>.size());
+00041 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i < <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
+00042 {
+00043 log(DEBUG,<span class="stringliteral">"i->modechar==%c, modechar=%c, i->type=%d, type=%d"</span>,i->modechar,modechar,i->type,type);
+00044 <span class="keywordflow">if</span> ((i->modechar == modechar) && (i->type == type))
+00045 {
+00046 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00047 }
+00048 }
+00049 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00050 }
+</pre></div> </td>
+ </tr>
+</table>
+<a name="a7" doxytag="modules.cpp::ModeDefinedOff"></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 ModeDefinedOff </td>
+ <td class="md" valign="top">( </td>
+ <td class="md" nowrap valign="top">char </td>
+ <td class="mdname" nowrap> <em>modechar</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int </td>
+ <td class="mdname" nowrap> <em>type</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">) </td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="modules_8cpp-source.html#l00080">80</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>, and <a class="el" href="modules_8cpp-source.html#l00029">ExtModeListIter</a>.
+References <a class="el" href="modules_8cpp-source.html#l00035">EMode</a>, and <a class="el" href="modules_8cpp-source.html#l00033">ExtModeListIter</a>.
<p>
-<div class="fragment"><pre>00035 {
-00036 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i < <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
-00037 {
-00038 <span class="keywordflow">if</span> ((i->modechar == modechar) && (i->type == type))
-00039 {
-00040 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-00041 }
-00042 }
-00043 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-00044 }
+<div class="fragment"><pre>00081 {
+00082 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i < <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
+00083 {
+00084 <span class="keywordflow">if</span> ((i->modechar == modechar) && (i->type == type))
+00085 {
+00086 <span class="keywordflow">return</span> i->params_when_off;
+00087 }
+00088 }
+00089 <span class="keywordflow">return</span> 0;
+00090 }
</pre></div> </td>
</tr>
</table>
-<a name="a6" doxytag="modules.cpp::ModeDefinedOff"></a><p>
+<a name="a6" doxytag="modules.cpp::ModeDefinedOn"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> bool ModeDefinedOff </td>
+ <td class="md" nowrap valign="top"> int ModeDefinedOn </td>
<td class="md" valign="top">( </td>
<td class="md" nowrap valign="top">char </td>
<td class="mdname" nowrap> <em>modechar</em>, </td>
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00060">60</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#l00067">67</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>, and <a class="el" href="modules_8cpp-source.html#l00029">ExtModeListIter</a>.
+References <a class="el" href="modules_8cpp-source.html#l00035">EMode</a>, and <a class="el" href="modules_8cpp-source.html#l00033">ExtModeListIter</a>.
<p>
-<div class="fragment"><pre>00061 {
-00062 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i < <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
-00063 {
-00064 <span class="keywordflow">if</span> ((i->modechar == modechar) && (i->type == type))
-00065 {
-00066 <span class="keywordflow">return</span> i->params_when_off;
-00067 }
-00068 }
-00069 <span class="keywordflow">return</span> 0;
-00070 }
+<div class="fragment"><pre>00068 {
+00069 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i < <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
+00070 {
+00071 <span class="keywordflow">if</span> ((i->modechar == modechar) && (i->type == type))
+00072 {
+00073 <span class="keywordflow">return</span> i->params_when_on;
+00074 }
+00075 }
+00076 <span class="keywordflow">return</span> 0;
+00077 }
</pre></div> </td>
</tr>
</table>
-<a name="a5" doxytag="modules.cpp::ModeDefinedOn"></a><p>
+<a name="a5" doxytag="modules.cpp::ModeDefinedOper"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> bool ModeDefinedOn </td>
+ <td class="md" nowrap valign="top"> bool ModeDefinedOper </td>
<td class="md" valign="top">( </td>
<td class="md" nowrap valign="top">char </td>
<td class="mdname" nowrap> <em>modechar</em>, </td>
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00047">47</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#l00052">52</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>, and <a class="el" href="modules_8cpp-source.html#l00029">ExtModeListIter</a>.
+References <a class="el" href="modules_8cpp-source.html#l00035">EMode</a>, and <a class="el" href="modules_8cpp-source.html#l00033">ExtModeListIter</a>.
<p>
-<div class="fragment"><pre>00048 {
-00049 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i < <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
-00050 {
-00051 <span class="keywordflow">if</span> ((i->modechar == modechar) && (i->type == type))
-00052 {
-00053 <span class="keywordflow">return</span> i->params_when_on;
-00054 }
-00055 }
-00056 <span class="keywordflow">return</span> 0;
-00057 }
+<div class="fragment"><pre>00053 {
+00054 log(DEBUG,<span class="stringliteral">"Size of extmodes vector is %d"</span>,<a class="code" href="modules_8cpp.html#a2">EMode</a>.size());
+00055 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i < <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
+00056 {
+00057 log(DEBUG,<span class="stringliteral">"i->modechar==%c, modechar=%c, i->type=%d, type=%d"</span>,i->modechar,modechar,i->type,type);
+00058 <span class="keywordflow">if</span> ((i->modechar == modechar) && (i->type == type) && (i->needsoper == <span class="keyword">true</span>))
+00059 {
+00060 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00061 }
+00062 }
+00063 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00064 }
</pre></div> </td>
</tr>
</table>
-<a name="a8" doxytag="modules.cpp::modules"></a><p>
+<a name="a9" doxytag="modules.cpp::modules"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00031">31</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00035">35</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00073">AddExtendedMode()</a>, <a class="el" href="modules_8cpp-source.html#l00034">ModeDefined()</a>, <a class="el" href="modules_8cpp-source.html#l00060">ModeDefinedOff()</a>, and <a class="el" href="modules_8cpp-source.html#l00047">ModeDefinedOn()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00093">DoAddExtendedMode()</a>, <a class="el" href="modules_8cpp-source.html#l00038">ModeDefined()</a>, <a class="el" href="modules_8cpp-source.html#l00080">ModeDefinedOff()</a>, <a class="el" href="modules_8cpp-source.html#l00067">ModeDefinedOn()</a>, and <a class="el" href="modules_8cpp-source.html#l00052">ModeDefinedOper()</a>. </td>
</tr>
</table>
<a name="a3" doxytag="modules.cpp::MODCOUNT"></a><p>
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00313">313</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#l00442">442</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 Fri Apr 2 14:46:08 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sun Apr 25 00:24: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>