Added support for module-defined chanmodes with no parameters

Fixed minor typo in example conf
Added new stylesheet and docs


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@362 e03df62e-2008-0410-955e-edbf42e46eb7
This commit is contained in:
brain 2004-04-03 15:46:53 +00:00
parent 8a1923c253
commit abdb186046
86 changed files with 1288 additions and 1017 deletions

View File

@ -1,7 +1,7 @@
<!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>Annotated Index</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>
@ -30,7 +30,7 @@
<tr><td class="indexkey"><a class="el" href="classuserrec.html">userrec</a></td><td class="indexvalue">Holds all information about a user This class stores all information about a user connected to the irc server</td></tr>
<tr><td class="indexkey"><a class="el" href="classVersion.html">Version</a></td><td class="indexvalue">Holds a module's Version information The four members (set by the constructor only) indicate details as to the version number of a module</td></tr>
</table>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:10 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:08 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>

View File

@ -1,7 +1,7 @@
<!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>base.h Source File</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>
@ -29,7 +29,7 @@
00028
00029 <span class="preprocessor">#endif</span>
00030 <span class="preprocessor"></span>
</pre></div><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:04 2004 for InspIRCd by
</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!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>base.h 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>
@ -34,7 +34,7 @@ This graph shows which files directly or indirectly include this file:<p><center
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classclassbase.html">classbase</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>The base class for all inspircd classes.</em> <a href="classclassbase.html#_details">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:06 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:03 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>

View File

@ -1,7 +1,7 @@
<!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>channels.cpp Source File</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>
@ -24,15 +24,37 @@
00016
<a name="l00017"></a><a class="code" href="classchanrec.html#a0">00017</a> <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#a0">chanrec::SetCustomMode</a>(<span class="keywordtype">char</span> mode,<span class="keywordtype">bool</span> mode_on)
00018 {
00019 }
00020
<a name="l00021"></a><a class="code" href="classchanrec.html#a1">00021</a> <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#a1">chanrec::SetCustomModeParam</a>(<span class="keywordtype">char</span> mode,<span class="keywordtype">char</span>* parameter,<span class="keywordtype">bool</span> mode_on)
00022 {
00023 }
00024
00025
00026
</pre></div><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:04 2004 for InspIRCd by
00019 <span class="keywordflow">if</span> (mode_on) {
00020 <span class="keywordtype">char</span> m[3];
00021 m[0] = mode;
00022 m[1] = <span class="charliteral">'\0'</span>;
00023 <span class="keywordflow">if</span> (!strchr(this-&gt;custom_modes,mode))
00024 {
00025 strncat(custom_modes,m,MAXMODES);
00026 }
00027 log(DEBUG,<span class="stringliteral">"Custom mode %c set"</span>,mode);
00028 }
00029 <span class="keywordflow">else</span> {
00030 <span class="keywordtype">char</span> temp[MAXMODES];
00031 <span class="keywordtype">int</span> count = 0;
00032 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> q = 0; q &lt; strlen(custom_modes); q++) {
00033 <span class="keywordflow">if</span> (<a class="code" href="classchanrec.html#m1">custom_modes</a>[q] != mode) {
00034 temp[count++] = mode;
00035 }
00036 }
00037 temp[count] = <span class="charliteral">'\0'</span>;
00038 strncpy(custom_modes,temp,MAXMODES);
00039 log(DEBUG,<span class="stringliteral">"Custom mode %c removed"</span>,mode);
00040 }
00041 }
00042
<a name="l00043"></a><a class="code" href="classchanrec.html#a1">00043</a> <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#a1">chanrec::SetCustomModeParam</a>(<span class="keywordtype">char</span> mode,<span class="keywordtype">char</span>* parameter,<span class="keywordtype">bool</span> mode_on)
00044 {
00045 }
00046
00047
00048
</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:02 2004 for InspIRCd by
<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>

View File

@ -1,7 +1,7 @@
<!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>channels.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>
@ -22,7 +22,7 @@ Include dependency graph for channels.cpp:<p><center><img src="channels_8cpp__in
<a href="channels_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
</table>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:06 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!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>channels.h Source File</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>
@ -83,7 +83,7 @@
<a name="l00130"></a><a class="code" href="classchanrec.html#m13">00130</a> <span class="keywordtype">short</span> <span class="keywordtype">int</span> <a class="code" href="classchanrec.html#m13">c_private</a>;
00131
<a name="l00134"></a><a class="code" href="classchanrec.html#m14">00134</a> <a class="code" href="channels_8h.html#a5">BanList</a> <a class="code" href="classchanrec.html#m14">bans</a>;
00135
00135
00138 <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#a0">SetCustomMode</a>(<span class="keywordtype">char</span> mode,<span class="keywordtype">bool</span> mode_on);
00139
00142 <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#a1">SetCustomModeParam</a>(<span class="keywordtype">char</span> mode,<span class="keywordtype">char</span>* parameter,<span class="keywordtype">bool</span> mode_on);
@ -115,7 +115,7 @@
00181
00182 <span class="preprocessor">#endif</span>
00183 <span class="preprocessor"></span>
</pre></div><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:04 2004 for InspIRCd by
</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!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>channels.h 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>
@ -255,7 +255,7 @@ Holds a complete invite list.
Definition at line <a class="el" href="channels_8h-source.html#l00064">64</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
</tr>
</table>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:06 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Member List</title>
<link href="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>
@ -14,7 +14,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classAdmin.html#m0">Name</a></td><td><a class="el" href="classAdmin.html">Admin</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classAdmin.html#m2">Nick</a></td><td><a class="el" href="classAdmin.html">Admin</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:11 2004 for InspIRCd by
</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!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>Admin class 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>
@ -35,7 +35,7 @@ It is constructed by class <a class="el" href="classServer.html">Server</a>, and
<p>
<p>
Definition at line <a class="el" href="modules_8h-source.html#l00060">60</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
Definition at line <a class="el" href="modules_8h-source.html#l00078">78</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="Admin::Admin"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
@ -79,9 +79,9 @@ Definition at line <a class="el" href="modules_8h-source.html#l00060">60</a> of
<p>
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00086">86</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#l00091">91</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00086 : <a class="code" href="classAdmin.html#m0">Name</a>(name), <a class="code" href="classAdmin.html#m1">Email</a>(email), <a class="code" href="classAdmin.html#m2">Nick</a>(nick) { };
<div class="fragment"><pre>00091 : <a class="code" href="classAdmin.html#m0">Name</a>(name), <a class="code" href="classAdmin.html#m1">Email</a>(email), <a class="code" href="classAdmin.html#m2">Nick</a>(nick) { };
</pre></div> </td>
</tr>
</table>
@ -107,7 +107,7 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00086">86</a> o
<p>
<p>
Definition at line <a class="el" href="modules_8h-source.html#l00063">63</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#l00081">81</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
</tr>
</table>
<a name="m0" doxytag="Admin::Name"></a><p>
@ -131,7 +131,7 @@ Definition at line <a class="el" href="modules_8h-source.html#l00063">63</a> of
<p>
<p>
Definition at line <a class="el" href="modules_8h-source.html#l00063">63</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#l00081">81</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
</tr>
</table>
<a name="m2" doxytag="Admin::Nick"></a><p>
@ -155,12 +155,12 @@ Definition at line <a class="el" href="modules_8h-source.html#l00063">63</a> of
<p>
<p>
Definition at line <a class="el" href="modules_8h-source.html#l00063">63</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#l00081">81</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:11 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Member List</title>
<link href="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>
@ -15,7 +15,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classHostItem.html#m0">set_time</a></td><td><a class="el" href="classHostItem.html">HostItem</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classHostItem.html#a1">~HostItem</a>()</td><td><a class="el" href="classHostItem.html">HostItem</a></td><td><code> [inline, virtual]</code></td></tr>
</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:11 2004 for InspIRCd by
</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!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>BanItem class 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>
@ -31,7 +31,7 @@ A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to h
<p>
Definition at line <a class="el" href="channels_8h-source.html#l00033">33</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a></ul>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:11 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Member List</title>
<link href="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>
@ -17,7 +17,7 @@
<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 Fri Apr 2 14:46:13 2004 for InspIRCd by
</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!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>ConfigReader class 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>
@ -45,7 +45,7 @@ It may either be instantiated with one parameter or none. Constructing the class
<p>
<p>
Definition at line <a class="el" href="modules_8h-source.html#l00322">322</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
Definition at line <a class="el" href="modules_8h-source.html#l00357">357</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="ConfigReader::ConfigReader"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
@ -75,13 +75,13 @@ Default constructor.
<p>
This constructor initialises the ConfigReader class to read the inspircd.conf file as specified when running ./configure.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00229">229</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#l00236">236</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
References <a class="el" href="modules_8h-source.html#l00327">fname</a>.
References <a class="el" href="modules_8h-source.html#l00362">fname</a>.
<p>
<div class="fragment"><pre>00230 {
00231 <a class="code" href="classConfigReader.html#n0">fname</a> = CONFIG_FILE;
00232 }
<div class="fragment"><pre>00237 {
00238 <a class="code" href="classConfigReader.html#n0">fname</a> = CONFIG_FILE;
00239 }
</pre></div> </td>
</tr>
</table>
@ -115,9 +115,9 @@ Overloaded constructor.
<p>
This constructor initialises the ConfigReader class to read a user-specified config file
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00240">240</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#l00247">247</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00240 : <a class="code" href="classConfigReader.html#n0">fname</a>(filename) { };
<div class="fragment"><pre>00247 : <a class="code" href="classConfigReader.html#n0">fname</a>(filename) { };
</pre></div> </td>
</tr>
</table>
@ -150,10 +150,10 @@ Default destructor.
<p>
This method destroys the ConfigReader class.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00235">235</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#l00242">242</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00236 {
00237 }
<div class="fragment"><pre>00243 {
00244 }
</pre></div> </td>
</tr>
</table>
@ -188,13 +188,13 @@ Counts the number of times a given tag appears in the config file.
<p>
This method counts the number of times a tag appears in a config file, for use where there are several tags of the same kind, e.g. with opers and connect types. It can be used with the index value of <a class="el" href="classConfigReader.html#a3">ConfigReader::ReadValue</a> to loop through all copies of a multiple instance tag.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00250">250</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#l00257">257</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
References <a class="el" href="modules_8h-source.html#l00327">fname</a>.
References <a class="el" href="modules_8h-source.html#l00362">fname</a>.
<p>
<div class="fragment"><pre>00251 {
00252 <span class="keywordflow">return</span> EnumConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str());
00253 }
<div class="fragment"><pre>00258 {
00259 <span class="keywordflow">return</span> EnumConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str());
00260 }
</pre></div> </td>
</tr>
</table>
@ -243,15 +243,15 @@ Retrieves a value from the config file.
<p>
This method retrieves a value from the config file. Where multiple copies of the tag exist in the config file, index indicates which of the values to retrieve.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00242">242</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
Definition at line <a class="el" href="modules_8cpp-source.html#l00249">249</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
References <a class="el" href="modules_8h-source.html#l00327">fname</a>.
References <a class="el" href="modules_8h-source.html#l00362">fname</a>.
<p>
<div class="fragment"><pre>00243 {
00244 <span class="keywordtype">char</span> val[MAXBUF];
00245 ReadConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str(),name.c_str(),index,val);
00246 <span class="keywordflow">return</span> val;
00247 }
<div class="fragment"><pre>00250 {
00251 <span class="keywordtype">char</span> val[MAXBUF];
00252 ReadConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str(),name.c_str(),index,val);
00253 <span class="keywordflow">return</span> val;
00254 }
</pre></div> </td>
</tr>
</table>
@ -284,11 +284,11 @@ Returns true if a config file is valid.
<p>
This method is unimplemented and will always return true.
<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#l00263">263</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> <span class="keyword">true</span>;
00259 }
<div class="fragment"><pre>00264 {
00265 <span class="keywordflow">return</span> <span class="keyword">true</span>;
00266 }
</pre></div> </td>
</tr>
</table>
@ -316,14 +316,14 @@ The filename of the configuration file, as set by the constructor.
<p>
<p>
Definition at line <a class="el" href="modules_8h-source.html#l00327">327</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#l00362">362</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#l00229">ConfigReader()</a>, <a class="el" href="modules_8cpp-source.html#l00250">Enumerate()</a>, and <a class="el" href="modules_8cpp-source.html#l00242">ReadValue()</a>. </td>
Referenced by <a class="el" href="modules_8cpp-source.html#l00236">ConfigReader()</a>, <a class="el" href="modules_8cpp-source.html#l00257">Enumerate()</a>, and <a class="el" href="modules_8cpp-source.html#l00249">ReadValue()</a>. </td>
</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 Fri Apr 2 14:46:13 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Member List</title>
<link href="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>
@ -13,7 +13,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classConnectClass.html#m2">pass</a></td><td><a class="el" href="classConnectClass.html">ConnectClass</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classConnectClass.html#m0">type</a></td><td><a class="el" href="classConnectClass.html">ConnectClass</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:14 2004 for InspIRCd by
</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:12 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>

View File

@ -1,7 +1,7 @@
<!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>ConnectClass class 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>
@ -106,7 +106,7 @@ Definition at line <a class="el" href="users_8h-source.html#l00037">37</a> of fi
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="users_8h-source.html">users.h</a></ul>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:14 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:12 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>

View File

@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Member List</title>
<link href="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>
@ -15,7 +15,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classHostItem.html#m0">set_time</a></td><td><a class="el" href="classHostItem.html">HostItem</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classHostItem.html#a1">~HostItem</a>()</td><td><a class="el" href="classHostItem.html">HostItem</a></td><td><code> [inline, virtual]</code></td></tr>
</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:15 2004 for InspIRCd by
</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!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>ExemptItem class 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>
@ -31,7 +31,7 @@ A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to h
<p>
Definition at line <a class="el" href="channels_8h-source.html#l00041">41</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a></ul>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:15 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Member List</title>
<link href="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>
@ -13,7 +13,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classExtMode.html#m4">params_when_off</a></td><td><a class="el" href="classExtMode.html">ExtMode</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classExtMode.html#m3">params_when_on</a></td><td><a class="el" href="classExtMode.html">ExtMode</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classExtMode.html#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 Fri Apr 2 14:46:15 2004 for InspIRCd by
</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!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>ExtMode class 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>
@ -203,7 +203,7 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00021">21</a> o
</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 Fri Apr 2 14:46:15 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Member List</title>
<link href="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>
@ -18,7 +18,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classFileReader.html#a3">LoadFile</a>(std::string filename)</td><td><a class="el" href="classFileReader.html">FileReader</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classFileReader.html#a2">~FileReader</a>()</td><td><a class="el" href="classFileReader.html">FileReader</a></td><td></td></tr>
</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:16 2004 for InspIRCd by
</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:14 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>

View File

@ -1,7 +1,7 @@
<!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>FileReader class 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>
@ -36,7 +36,7 @@ Inheritance diagram for FileReader:<p><center><img src="classFileReader__inherit
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classFileReader.html#a6">FileSize</a> ()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns the size of the file in lines.</em> <a href="#a6"></a><em></em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="modules_8h.html#a9">file_cache</a>&nbsp;</td><td valign=bottom><a class="el" href="classFileReader.html#o0">fc</a></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="modules_8h.html#a10">file_cache</a>&nbsp;</td><td valign=bottom><a class="el" href="classFileReader.html#o0">fc</a></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Caches a text file into memory and can be used to retrieve lines from it.
@ -45,7 +45,7 @@ This class contains methods for read-only manipulation of a text file in memory.
<p>
<p>
Definition at line <a class="el" href="modules_8h-source.html#l00367">367</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
Definition at line <a class="el" href="modules_8h-source.html#l00402">402</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="FileReader::FileReader"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
@ -75,10 +75,10 @@ Default constructor.
<p>
This method does not load any file into memory, you must use the LoadFile method after constructing the class this way.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00269">269</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
Definition at line <a class="el" href="modules_8cpp-source.html#l00276">276</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00270 {
00271 }
<div class="fragment"><pre>00277 {
00278 }
</pre></div> </td>
</tr>
</table>
@ -112,15 +112,15 @@ Secondary constructor.
<p>
This method initialises the class with a file loaded into it ready for GetLine and and other methods to be called. If the file could not be loaded, <a class="el" href="classFileReader.html#a6">FileReader::FileSize</a> returns 0.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00262">262</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#l00269">269</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
References <a class="el" href="modules_8h-source.html#l00369">fc</a>, and <a class="el" href="modules_8h-source.html#l00029">file_cache</a>.
References <a class="el" href="modules_8h-source.html#l00404">fc</a>, and <a class="el" href="modules_8h-source.html#l00029">file_cache</a>.
<p>
<div class="fragment"><pre>00263 {
00264 <a class="code" href="modules_8h.html#a9">file_cache</a> c;
00265 readfile(c,filename.c_str());
00266 this-&gt;<a class="code" href="classFileReader.html#o0">fc</a> = c;
00267 }
<div class="fragment"><pre>00270 {
00271 <a class="code" href="modules_8h.html#a10">file_cache</a> c;
00272 readfile(c,filename.c_str());
00273 this-&gt;<a class="code" href="classFileReader.html#o0">fc</a> = c;
00274 }
</pre></div> </td>
</tr>
</table>
@ -153,10 +153,10 @@ Default destructor.
<p>
This deletes the memory allocated to the file.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00281">281</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#l00288">288</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00282 {
00283 }
<div class="fragment"><pre>00289 {
00290 }
</pre></div> </td>
</tr>
</table>
@ -190,20 +190,20 @@ Retrieve one line from the file.
<p>
This method retrieves one line from the text file. If an empty non-NULL string is returned, the index was out of bounds, or the line had no data on it.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00285">285</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
Definition at line <a class="el" href="modules_8cpp-source.html#l00292">292</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
References <a class="el" href="modules_8h-source.html#l00369">fc</a>.
References <a class="el" href="modules_8h-source.html#l00404">fc</a>.
<p>
<div class="fragment"><pre>00286 {
00287 <span class="keywordflow">if</span> (<a class="code" href="classFileReader.html#o0">fc</a>.size() == 0)
00288 {
00289 <span class="keywordflow">return</span>(false);
00290 }
00291 <span class="keywordflow">else</span>
00292 {
00293 <span class="keywordflow">return</span>(true);
00294 }
00295 }
<div class="fragment"><pre>00293 {
00294 <span class="keywordflow">if</span> (<a class="code" href="classFileReader.html#o0">fc</a>.size() == 0)
00295 {
00296 <span class="keywordflow">return</span>(false);
00297 }
00298 <span class="keywordflow">else</span>
00299 {
00300 <span class="keywordflow">return</span>(true);
00301 }
00302 }
</pre></div> </td>
</tr>
</table>
@ -236,13 +236,13 @@ Returns the size of the file in lines.
<p>
This method returns the number of lines in the read file. If it is 0, no lines have been read into memory, either because the file is empty or it does not exist, or cannot be opened due to permission problems.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00304">304</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
Definition at line <a class="el" href="modules_8cpp-source.html#l00311">311</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
References <a class="el" href="modules_8h-source.html#l00369">fc</a>.
References <a class="el" href="modules_8h-source.html#l00404">fc</a>.
<p>
<div class="fragment"><pre>00305 {
00306 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>.size();
00307 }
<div class="fragment"><pre>00312 {
00313 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>.size();
00314 }
</pre></div> </td>
</tr>
</table>
@ -274,15 +274,15 @@ References <a class="el" href="modules_8h-source.html#l00369">fc</a>.
<p>
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00297">297</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#l00304">304</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
References <a class="el" href="modules_8h-source.html#l00369">fc</a>.
References <a class="el" href="modules_8h-source.html#l00404">fc</a>.
<p>
<div class="fragment"><pre>00298 {
00299 <span class="keywordflow">if</span> ((x&lt;0) || (x&gt;<a class="code" href="classFileReader.html#o0">fc</a>.size()))
00300 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
00301 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>[x];
00302 }
<div class="fragment"><pre>00305 {
00306 <span class="keywordflow">if</span> ((x&lt;0) || (x&gt;<a class="code" href="classFileReader.html#o0">fc</a>.size()))
00307 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
00308 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>[x];
00309 }
</pre></div> </td>
</tr>
</table>
@ -316,15 +316,15 @@ Used to load a file.
<p>
This method loads a file into the class ready for GetLine and and other methods to be called. If the file could not be loaded, <a class="el" href="classFileReader.html#a6">FileReader::FileSize</a> returns 0.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#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#l00280">280</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
References <a class="el" href="modules_8h-source.html#l00369">fc</a>, and <a class="el" href="modules_8h-source.html#l00029">file_cache</a>.
References <a class="el" href="modules_8h-source.html#l00404">fc</a>, and <a class="el" href="modules_8h-source.html#l00029">file_cache</a>.
<p>
<div class="fragment"><pre>00274 {
00275 <a class="code" href="modules_8h.html#a9">file_cache</a> c;
00276 readfile(c,filename.c_str());
00277 this-&gt;<a class="code" href="classFileReader.html#o0">fc</a> = c;
00278 }
<div class="fragment"><pre>00281 {
00282 <a class="code" href="modules_8h.html#a10">file_cache</a> c;
00283 readfile(c,filename.c_str());
00284 this-&gt;<a class="code" href="classFileReader.html#o0">fc</a> = c;
00285 }
</pre></div> </td>
</tr>
</table>
@ -335,7 +335,7 @@ References <a class="el" href="modules_8h-source.html#l00369">fc</a>, and <a cla
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> <a class="el" href="modules_8h.html#a9">file_cache</a> FileReader::fc<code> [private]</code>
<td class="md" nowrap valign="top"> <a class="el" href="modules_8h.html#a10">file_cache</a> FileReader::fc<code> [private]</code>
</table>
</td>
</tr>
@ -350,14 +350,14 @@ References <a class="el" href="modules_8h-source.html#l00369">fc</a>, and <a cla
<p>
<p>
Definition at line <a class="el" href="modules_8h-source.html#l00369">369</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#l00404">404</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#l00285">Exists()</a>, <a class="el" href="modules_8cpp-source.html#l00262">FileReader()</a>, <a class="el" href="modules_8cpp-source.html#l00304">FileSize()</a>, <a class="el" href="modules_8cpp-source.html#l00297">GetLine()</a>, and <a class="el" href="modules_8cpp-source.html#l00273">LoadFile()</a>. </td>
Referenced by <a class="el" href="modules_8cpp-source.html#l00292">Exists()</a>, <a class="el" href="modules_8cpp-source.html#l00269">FileReader()</a>, <a class="el" href="modules_8cpp-source.html#l00311">FileSize()</a>, <a class="el" href="modules_8cpp-source.html#l00304">GetLine()</a>, and <a class="el" href="modules_8cpp-source.html#l00280">LoadFile()</a>. </td>
</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 Fri Apr 2 14:46:16 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:14 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>

View File

@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Member List</title>
<link href="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>
@ -15,7 +15,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classHostItem.html#m0">set_time</a></td><td><a class="el" href="classHostItem.html">HostItem</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classHostItem.html#a1">~HostItem</a>()</td><td><a class="el" href="classHostItem.html">HostItem</a></td><td><code> [inline, virtual]</code></td></tr>
</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:16 2004 for InspIRCd by
</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:14 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>

View File

@ -1,7 +1,7 @@
<!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>HostItem class 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>
@ -181,7 +181,7 @@ Definition at line <a class="el" href="channels_8h-source.html#l00020">20</a> of
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a></ul>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:16 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:14 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>

View File

@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Member List</title>
<link href="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>
@ -15,7 +15,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classHostItem.html#m0">set_time</a></td><td><a class="el" href="classHostItem.html">HostItem</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classHostItem.html#a1">~HostItem</a>()</td><td><a class="el" href="classHostItem.html">HostItem</a></td><td><code> [inline, virtual]</code></td></tr>
</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:17 2004 for InspIRCd by
</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!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>InviteItem class 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>
@ -31,7 +31,7 @@ A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to h
<p>
Definition at line <a class="el" href="channels_8h-source.html#l00049">49</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a></ul>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:17 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Member List</title>
<link href="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>
@ -11,7 +11,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classInvited.html#m0">channel</a></td><td><a class="el" href="classInvited.html">Invited</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a0">classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:17 2004 for InspIRCd by
</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:15 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>

View File

@ -1,7 +1,7 @@
<!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>Invited class 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>
@ -58,7 +58,7 @@ Referenced by <a class="el" href="users_8cpp-source.html#l00063">userrec::Invite
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="users_8h-source.html">users.h</a></ul>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:17 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:15 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>

View File

@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Member List</title>
<link href="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>
@ -11,9 +11,10 @@
<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#a8">Module::OnPacketReceive</a>(char *p)</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#a7">Module::OnPacketTransmit</a>(char *p)</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">Module::OnUserPreJoin</a>(userrec *user, chanrec *chan, 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#a11">OnExtendedMode</a>(userrec *user, chanrec *chan, char modechar, int type, bool mode_on, string_list &amp;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#a8">OnPacketReceive</a>(char *p)</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#a7">OnPacketTransmit</a>(char *p)</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#a9">OnRehash</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#a10">OnServerRaw</a>(std::string &amp;raw, bool inbound)</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#a3">OnUserConnect</a>(userrec *user)</td><td><a class="el" href="classModule.html">Module</a></td><td><code> [virtual]</code></td></tr>
@ -22,7 +23,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classModule.html#a4">OnUserQuit</a>(userrec *user)</td><td><a class="el" href="classModule.html">Module</a></td><td><code> [virtual]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classModule.html#a1">~Module</a>()</td><td><a class="el" href="classModule.html">Module</a></td><td><code> [virtual]</code></td></tr>
</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:18 2004 for InspIRCd by
</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!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>Module class 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>
@ -36,16 +36,18 @@ Inheritance diagram for Module:<p><center><img src="classModule__inherit__graph.
<tr><td>&nbsp;</td><td><font size=-1><em>Called when a user joins a channel.</em> <a href="#a5"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a6">OnUserPart</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classchanrec.html">chanrec</a> *channel)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Called when a user parts a channel.</em> <a href="#a6"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a7">Module::OnPacketTransmit</a> (char *p)</td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a7">OnPacketTransmit</a> (char *p)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Called before a packet is transmitted across the irc network between two irc servers.</em> <a href="#a7"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a8">Module::OnPacketReceive</a> (char *p)</td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a8">OnPacketReceive</a> (char *p)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Called after a packet is received from another irc server.</em> <a href="#a8"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a9">OnRehash</a> ()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Called on rehash.</em> <a href="#a9"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a10">OnServerRaw</a> (std::string &amp;raw, bool inbound)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Called when a raw command is transmitted or received.</em> <a href="#a10"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual bool&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a11">OnExtendedMode</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classchanrec.html">chanrec</a> *chan, char modechar, int type, bool mode_on, <a class="el" href="modules_8h.html#a10">string_list</a> &amp;params)</td></tr>
<tr><td nowrap align=right valign=top>virtual bool&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a11">OnExtendedMode</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classchanrec.html">chanrec</a> *chan, char modechar, int type, bool mode_on, <a class="el" href="modules_8h.html#a11">string_list</a> &amp;params)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Called whenever an extended mode is to be processed.</em> <a href="#a11"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual int&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a12">Module::OnUserPreJoin</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classchanrec.html">chanrec</a> *chan, char *cname)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Called whenever a user is about to join a channel, before any processing is done.</em> <a href="#a12"></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.
@ -54,7 +56,7 @@ All modules must inherit from this class, its methods will be called when irc se
<p>
<p>
Definition at line <a class="el" href="modules_8h-source.html#l00072">72</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
Definition at line <a class="el" href="modules_8h-source.html#l00090">90</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="Module::Module"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
@ -84,9 +86,9 @@ Default constructor creates a module class.
<p>
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00088">88</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>
<div class="fragment"><pre>00088 { }
<div class="fragment"><pre>00093 { }
</pre></div> </td>
</tr>
</table>
@ -119,9 +121,9 @@ Default destructor destroys a module class.
<p>
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00089">89</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
Definition at line <a class="el" href="modules_8cpp-source.html#l00094">94</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00089 { }
<div class="fragment"><pre>00094 { }
</pre></div> </td>
</tr>
</table>
@ -155,24 +157,39 @@ Returns the version number of a Module.
<p>
The method should return a <a class="el" href="classVersion.html">Version</a> object with its version information assigned via <a class="el" href="classVersion.html#a0">Version::Version</a>
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00099">99</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
Definition at line <a class="el" href="modules_8cpp-source.html#l00105">105</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00099 { <span class="keywordflow">return</span> <a class="code" href="classVersion.html">Version</a>(1,0,0,0); }
<div class="fragment"><pre>00105 { <span class="keywordflow">return</span> <a class="code" href="classVersion.html">Version</a>(1,0,0,0); }
</pre></div> </td>
</tr>
</table>
<a name="a8" doxytag="Module::Module::OnPacketReceive"></a><p>
<a name="a12" doxytag="Module::Module::OnUserPreJoin"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual void Module::Module::OnPacketReceive </td>
<td class="md" nowrap valign="top"> virtual int Module::Module::OnUserPreJoin </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>p</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [virtual]</code></td>
<td class="md" nowrap valign="top"><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>user</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>chan</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>char *&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>cname</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [virtual]</code></td>
</tr>
</table>
@ -187,40 +204,11 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00099">99</a> o
<td>
<p>
Called after a packet is received from another irc server.
Called whenever a user is about to join a channel, before any processing is done.
<p>
The packet is represented as a char*, as it should be regarded as a buffer, and not a string. This allows you to easily represent it in the correct ways to implement encryption, compression, digital signatures and anything else you may want to add. This should be regarded as a pre-processor and will be called immediately after the packet is received but before any other operations with the core of the ircd. </td>
</tr>
</table>
<a name="a7" doxytag="Module::Module::OnPacketTransmit"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual void Module::Module::OnPacketTransmit </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>p</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Called before a packet is transmitted across the irc network between two irc servers.
<p>
The packet is represented as a char*, as it should be regarded as a buffer, and not a string. This allows you to easily represent it in the correct ways to implement encryption, compression, digital signatures and anything else you may want to add. This should be regarded as a pre-processor and will be called before ANY other operations within the ircd core program. </td>
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 mimic +b, +k, +l etc.<p>
IMPORTANT NOTE!<p>
If the user joins a NEW channel which does not exist yet, OnUserPreJoin will be called BEFORE the channel record is created. This will cause chanrec* chan to be NULL. There is very little you can do in form of processing on the actual channel record at this point, however the channel NAME will still be passed in char* cname, so that you could for example implement a channel blacklist or whitelist, etc. </td>
</tr>
</table>
<a name="a11" doxytag="Module::OnExtendedMode"></a><p>
@ -261,7 +249,7 @@ The packet is represented as a char*, as it should be regarded as a buffer, and
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="modules_8h.html#a10">string_list</a> &amp;&nbsp;</td>
<td class="md" nowrap><a class="el" href="modules_8h.html#a11">string_list</a> &amp;&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>params</em></td>
</tr>
<tr>
@ -286,9 +274,81 @@ Called whenever an extended mode is to be processed.
<p>
The type parameter is MT_SERVER, MT_CLIENT or MT_CHANNEL, dependent on where the mode is being changed. mode_on is set when the mode is being set, in which case params contains a list of parameters for the mode as strings. If mode_on is false, the mode is being removed, and parameters may contain the parameters for the mode, dependent on wether they were defined when a mode handler was set up with <a class="el" href="classServer.html#a19">Server::AddExtendedMode</a> If the mode is not a channel mode, chanrec* chan is null, and should not be read from or written to.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00098">98</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
Definition at line <a class="el" href="modules_8cpp-source.html#l00104">104</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00098 { }
<div class="fragment"><pre>00104 { }
</pre></div> </td>
</tr>
</table>
<a name="a8" doxytag="Module::OnPacketReceive"></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::OnPacketReceive </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>p</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Called after a packet is received from another irc server.
<p>
The packet is represented as a char*, as it should be regarded as a buffer, and not a string. This allows you to easily represent it in the correct ways to implement encryption, compression, digital signatures and anything else you may want to add. This should be regarded as a pre-processor and will be called immediately after the packet is received but before any other operations with the core of the ircd.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00100">100</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00100 { }
</pre></div> </td>
</tr>
</table>
<a name="a7" doxytag="Module::OnPacketTransmit"></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::OnPacketTransmit </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>p</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Called before a packet is transmitted across the irc network between two irc servers.
<p>
The packet is represented as a char*, as it should be regarded as a buffer, and not a string. This allows you to easily represent it in the correct ways to implement encryption, compression, digital signatures and anything else you may want to add. This should be regarded as a pre-processor and will be called before ANY other operations within the ircd core program.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00099">99</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00099 { }
</pre></div> </td>
</tr>
</table>
@ -321,9 +381,9 @@ Called on rehash.
<p>
This method is called prior to a /REHASH or when a SIGHUP is received from the operating system. You should use it to reload any files so that your module keeps in step with the rest of the application.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00096">96</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
Definition at line <a class="el" href="modules_8cpp-source.html#l00101">101</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00096 { }
<div class="fragment"><pre>00101 { }
</pre></div> </td>
</tr>
</table>
@ -366,9 +426,9 @@ Called when a raw command is transmitted or received.
<p>
This method is the lowest level of handler available to a module. It will be called with raw data which is passing through a connected socket. If you wish, you may munge this data by changing the string parameter "raw". If you do this, after your function exits it will immediately be cut down to 510 characters plus a carriage return and linefeed.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00097">97</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
Definition at line <a class="el" href="modules_8cpp-source.html#l00102">102</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00097 { }
<div class="fragment"><pre>00102 { }
</pre></div> </td>
</tr>
</table>
@ -402,9 +462,9 @@ Called when a user connects.
<p>
The details of the connecting user are available to you in the parameter userrec *user
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00090">90</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#l00095">95</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00090 { }
<div class="fragment"><pre>00095 { }
</pre></div> </td>
</tr>
</table>
@ -447,9 +507,9 @@ Called when a user joins a channel.
<p>
The details of the joining user are available to you in the parameter userrec *user, and the details of the channel they have joined is available in the variable chanrec *channel
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00092">92</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#l00097">97</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00092 { }
<div class="fragment"><pre>00097 { }
</pre></div> </td>
</tr>
</table>
@ -492,9 +552,9 @@ Called when a user parts a channel.
<p>
The details of the leaving user are available to you in the parameter userrec *user, and the details of the channel they have left is available in the variable chanrec *channel
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00093">93</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
Definition at line <a class="el" href="modules_8cpp-source.html#l00098">98</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00093 { }
<div class="fragment"><pre>00098 { }
</pre></div> </td>
</tr>
</table>
@ -528,15 +588,15 @@ Called when a user quits.
<p>
The details of the exiting user are available to you in the parameter userrec *user
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00091">91</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
Definition at line <a class="el" href="modules_8cpp-source.html#l00096">96</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00091 { }
<div class="fragment"><pre>00096 { }
</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 Fri Apr 2 14:46:18 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Member List</title>
<link href="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>
@ -13,7 +13,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classModuleFactory.html#a0">ModuleFactory</a>()</td><td><a class="el" href="classModuleFactory.html">ModuleFactory</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classModuleFactory.html#a1">~ModuleFactory</a>()</td><td><a class="el" href="classModuleFactory.html">ModuleFactory</a></td><td><code> [inline, virtual]</code></td></tr>
</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:18 2004 for InspIRCd by
</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:17 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>

View File

@ -1,7 +1,7 @@
<!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>ModuleFactory class 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>
@ -34,7 +34,7 @@ This is to allow for modules to create many different variants of <a class="el"
<p>
<p>
Definition at line <a class="el" href="modules_8h-source.html#l00413">413</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
Definition at line <a class="el" href="modules_8h-source.html#l00448">448</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="ModuleFactory::ModuleFactory"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
@ -62,9 +62,9 @@ Definition at line <a class="el" href="modules_8h-source.html#l00413">413</a> of
<p>
<p>
Definition at line <a class="el" href="modules_8h-source.html#l00416">416</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#l00451">451</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
<div class="fragment"><pre>00416 { }
<div class="fragment"><pre>00451 { }
</pre></div> </td>
</tr>
</table>
@ -95,9 +95,9 @@ Definition at line <a class="el" href="modules_8h-source.html#l00416">416</a> of
<p>
<p>
Definition at line <a class="el" href="modules_8h-source.html#l00417">417</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
Definition at line <a class="el" href="modules_8h-source.html#l00452">452</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
<div class="fragment"><pre>00417 { }
<div class="fragment"><pre>00452 { }
</pre></div> </td>
</tr>
</table>
@ -134,7 +134,7 @@ Your inherited class of ModuleFactory must return a pointer to your <a class="el
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a></ul>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:18 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:17 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>

View File

@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Member List</title>
<link href="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>
@ -32,7 +32,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classServer.html#a0">Server</a>()</td><td><a class="el" href="classServer.html">Server</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classServer.html#a1">~Server</a>()</td><td><a class="el" href="classServer.html">Server</a></td><td><code> [virtual]</code></td></tr>
</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:19 2004 for InspIRCd by
</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!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>Server class 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>
@ -74,7 +74,7 @@ All modules should instantiate at least one copy of this class, and use its memb
<p>
<p>
Definition at line <a class="el" href="modules_8h-source.html#l00165">165</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
Definition at line <a class="el" href="modules_8h-source.html#l00196">196</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="Server::Server"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
@ -104,10 +104,10 @@ Default constructor.
<p>
Creates a Server object.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00105">105</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
Definition at line <a class="el" href="modules_8cpp-source.html#l00111">111</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00106 {
00107 }
<div class="fragment"><pre>00112 {
00113 }
</pre></div> </td>
</tr>
</table>
@ -140,10 +140,10 @@ Default destructor.
<p>
Destroys a Server object.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00109">109</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
Definition at line <a class="el" href="modules_8cpp-source.html#l00115">115</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00110 {
00111 }
<div class="fragment"><pre>00116 {
00117 }
</pre></div> </td>
</tr>
</table>
@ -201,13 +201,13 @@ This allows modules to add extra commands into the command table. You must place
typedef void (handlerfunc) (char**, int, userrec*); ... void handle_kill(char **parameters, int pcnt, userrec *user)<p>
When the command is typed, the parameters will be placed into the parameters array (similar to argv) and the parameter count will be placed into pcnt (similar to argv). There will never be any less parameters than the 'minparams' value you specified when creating the command. The *user parameter is the class of the user which caused the command to trigger, who will always have the flag you specified in 'flags' when creating the initial command. For example to create an oper only command create the commands with flags='o'.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00123">123</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
Definition at line <a class="el" href="modules_8cpp-source.html#l00129">129</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
References <a class="el" href="modules_8h.html#a12">createcommand()</a>.
References <a class="el" href="modules_8h.html#a13">createcommand()</a>.
<p>
<div class="fragment"><pre>00124 {
00125 <a class="code" href="modules_8h.html#a12">createcommand</a>(cmd,f,flags,minparams);
00126 }
<div class="fragment"><pre>00130 {
00131 <a class="code" href="modules_8h.html#a13">createcommand</a>(cmd,f,flags,minparams);
00132 }
</pre></div> </td>
</tr>
</table>
@ -268,10 +268,13 @@ Adds an extended mode letter which is parsed by a module This allows modules to
<p>
+x for hostcloak. the "type" parameter is either MT_CHANNEL, MT_CLIENT, or MT_SERVER, to indicate wether the mode is a channel mode, a client mode, or a server mode. default_on is true if the mode is to be applied to default connections. params_when_on is the number of modes to expect when the mode is turned on (for type MT_CHANNEL only), e.g. with mode +b, this would have a value of 1. the params_when_off value has a similar value to params_when_on, except it indicates the number of parameters to expect when the mode is disabled. Modes which act in a similar way to channel mode +l (e.g. require a parameter to enable, but not to disable) should use this parameter. The function returns false if the mode is unavailable, and will not attempt to allocate another character, as this will confuse users. This also means that as only one module can claim a specific mode character, the core does not need to keep track of which modules own which modes, which speeds up operation of the server. In this version, a mode can have at most one parameter, attempting to use more parameters will have undefined effects.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00224">224</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#l00230">230</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00225 {
00226 }
References <a class="el" href="modules_8cpp-source.html#l00075">DoAddExtendedMode()</a>.
<p>
<div class="fragment"><pre>00231 {
00232 <span class="keywordflow">return</span> <a class="code" href="modules_8cpp.html#a7">DoAddExtendedMode</a>(modechar,type,default_on,params_when_on,params_when_off);
00233 }
</pre></div> </td>
</tr>
</table>
@ -314,11 +317,11 @@ Attempts to look up a user's privilages on a channel.
<p>
This function will return a string containing either @, , +, or an empty string, representing the user's privilages upon the channel you specify.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00202">202</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
Definition at line <a class="el" href="modules_8cpp-source.html#l00208">208</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00203 {
00204 <span class="keywordflow">return</span> cmode(User,Chan);
00205 }
<div class="fragment"><pre>00209 {
00210 <span class="keywordflow">return</span> cmode(User,Chan);
00211 }
</pre></div> </td>
</tr>
</table>
@ -361,11 +364,11 @@ Returns true if two users share a common channel.
<p>
This method is used internally by the NICK and QUIT commands, and the <a class="el" href="classServer.html#a10">Server::SendCommon</a> method.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00165">165</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#l00171">171</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00166 {
00167 <span class="keywordflow">return</span> (common_channels(u1,u2) != 0);
00168 }
<div class="fragment"><pre>00172 {
00173 <span class="keywordflow">return</span> (common_channels(u1,u2) != 0);
00174 }
</pre></div> </td>
</tr>
</table>
@ -399,11 +402,11 @@ Attempts to look up a channel and return a pointer to it.
<p>
This function will return NULL if the channel does not exist.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#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#l00203">203</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00198 {
00199 <span class="keywordflow">return</span> FindChan(channel.c_str());
00200 }
<div class="fragment"><pre>00204 {
00205 <span class="keywordflow">return</span> FindChan(channel.c_str());
00206 }
</pre></div> </td>
</tr>
</table>
@ -437,11 +440,11 @@ Attempts to look up a nick and return a pointer to it.
<p>
This function will return NULL if the nick does not exist.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#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#l00198">198</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00193 {
00194 <span class="keywordflow">return</span> Find(nick);
00195 }
<div class="fragment"><pre>00199 {
00200 <span class="keywordflow">return</span> Find(nick);
00201 }
</pre></div> </td>
</tr>
</table>
@ -474,11 +477,11 @@ Returns the information of the server as returned by the /ADMIN command.
<p>
See the <a class="el" href="classAdmin.html">Admin</a> class for further information of the return value. The members <a class="el" href="classAdmin.html#m2">Admin::Nick</a>, <a class="el" href="classAdmin.html#m1">Admin::Email</a> and <a class="el" href="classAdmin.html#m0">Admin::Name</a> contain the information for the server where the module is loaded.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00217">217</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#l00223">223</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00218 {
00219 <span class="keywordflow">return</span> <a class="code" href="classAdmin.html">Admin</a>(getadminname(),getadminemail(),getadminnick());
00220 }
<div class="fragment"><pre>00224 {
00225 <span class="keywordflow">return</span> <a class="code" href="classAdmin.html">Admin</a>(getadminname(),getadminemail(),getadminnick());
00226 }
</pre></div> </td>
</tr>
</table>
@ -511,11 +514,11 @@ Returns the network name, global to all linked servers.
<p>
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00212">212</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
Definition at line <a class="el" href="modules_8cpp-source.html#l00218">218</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00213 {
00214 <span class="keywordflow">return</span> getnetworkname();
00215 }
<div class="fragment"><pre>00219 {
00220 <span class="keywordflow">return</span> getnetworkname();
00221 }
</pre></div> </td>
</tr>
</table>
@ -548,11 +551,11 @@ Returns the server name of the server where the module is loaded.
<p>
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00207">207</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#l00213">213</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00208 {
00209 <span class="keywordflow">return</span> getservername();
00210 }
<div class="fragment"><pre>00214 {
00215 <span class="keywordflow">return</span> getservername();
00216 }
</pre></div> </td>
</tr>
</table>
@ -586,11 +589,11 @@ Returns true if a nick is valid.
<p>
Nicks for unregistered connections will return false.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#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#l00193">193</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00188 {
00189 <span class="keywordflow">return</span> (isnick(nick.c_str()) != 0);
00190 }
<div class="fragment"><pre>00194 {
00195 <span class="keywordflow">return</span> (isnick(nick.c_str()) != 0);
00196 }
</pre></div> </td>
</tr>
</table>
@ -633,11 +636,11 @@ Writes a log string.
<p>
This method writes a line of text to the log. If the level given is lower than the level given in the configuration, this command has no effect.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00118">118</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
Definition at line <a class="el" href="modules_8cpp-source.html#l00124">124</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00119 {
00120 log(level,<span class="stringliteral">"%s"</span>,s.c_str());
00121 }
<div class="fragment"><pre>00125 {
00126 log(level,<span class="stringliteral">"%s"</span>,s.c_str());
00127 }
</pre></div> </td>
</tr>
</table>
@ -680,11 +683,11 @@ Sends a line of text down a TCP/IP socket.
<p>
This method writes a line of text to an established socket, cutting it to 510 characters plus a carriage return and linefeed if required.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00133">133</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
Definition at line <a class="el" href="modules_8cpp-source.html#l00139">139</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00134 {
00135 Write(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
00136 }
<div class="fragment"><pre>00140 {
00141 Write(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
00142 }
</pre></div> </td>
</tr>
</table>
@ -739,18 +742,18 @@ Sends text from a user to a channel (mulicast).
<p>
This method writes a line of text to a channel, with the given user's nick/ident /host combination prepended, as used in PRIVMSG etc commands (see RFC 1459). If the IncludeSender flag is set, then the text is also sent back to the user from which it originated, as seen in MODE (see RFC 1459).
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00153">153</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#l00159">159</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00154 {
00155 <span class="keywordflow">if</span> (IncludeSender)
00156 {
00157 WriteChannel(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
00158 }
00159 <span class="keywordflow">else</span>
00160 {
00161 ChanExceptSender(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
00162 }
00163 }
<div class="fragment"><pre>00160 {
00161 <span class="keywordflow">if</span> (IncludeSender)
00162 {
00163 WriteChannel(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
00164 }
00165 <span class="keywordflow">else</span>
00166 {
00167 ChanExceptSender(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
00168 }
00169 }
</pre></div> </td>
</tr>
</table>
@ -799,18 +802,18 @@ Sends text from a user to one or more channels (mulicast).
<p>
This method writes a line of text to all users which share a common channel with a given user, with the user's nick/ident/host combination prepended, as used in PRIVMSG etc commands (see RFC 1459). If the IncludeSender flag is set, then the text is also sent back to the user from which it originated, as seen in NICK (see RFC 1459). Otherwise, it is only sent to the other recipients, as seen in QUIT.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00170">170</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#l00176">176</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00171 {
00172 <span class="keywordflow">if</span> (IncludeSender)
00173 {
00174 WriteCommon(User,<span class="stringliteral">"%s"</span>,text.c_str());
00175 }
00176 <span class="keywordflow">else</span>
00177 {
00178 WriteCommonExcept(User,<span class="stringliteral">"%s"</span>,text.c_str());
00179 }
00180 }
<div class="fragment"><pre>00177 {
00178 <span class="keywordflow">if</span> (IncludeSender)
00179 {
00180 WriteCommon(User,<span class="stringliteral">"%s"</span>,text.c_str());
00181 }
00182 <span class="keywordflow">else</span>
00183 {
00184 WriteCommonExcept(User,<span class="stringliteral">"%s"</span>,text.c_str());
00185 }
00186 }
</pre></div> </td>
</tr>
</table>
@ -859,11 +862,11 @@ Sends text from a user to a socket.
<p>
This method writes a line of text to an established socket, with the given user's nick/ident /host combination prepended, as used in PRIVSG etc commands (see RFC 1459)
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00143">143</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
Definition at line <a class="el" href="modules_8cpp-source.html#l00149">149</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00144 {
00145 WriteFrom(Socket,User,<span class="stringliteral">"%s"</span>,s.c_str());
00146 }
<div class="fragment"><pre>00150 {
00151 WriteFrom(Socket,User,<span class="stringliteral">"%s"</span>,s.c_str());
00152 }
</pre></div> </td>
</tr>
</table>
@ -912,16 +915,20 @@ Sends a servermode.
<p>
you must format the parameters array with the target, modes and parameters for those modes.<p>
For example:<p>
char modes[3][MAXBUF]; modes[0] = ChannelName; modes[1] = "+o"; modes[2] = user-&gt;nick; Srv-&gt;SendMode(modes,3,user);<p>
char *modes[3];<p>
modes[0] = ChannelName;<p>
modes[1] = "+o";<p>
modes[2] = user-&gt;nick;<p>
Srv-&gt;SendMode(modes,3,user);<p>
The modes will originate from the server where the command was issued, however responses (e.g. numerics) will be sent to the user you provide as the third parameter. You must be sure to get the number of parameters correct in the pcnt parameter otherwise you could leave your server in an unstable state!
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#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#l00134">134</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
References <a class="el" href="modules_8h.html#a13">server_mode()</a>.
References <a class="el" href="modules_8h.html#a14">server_mode()</a>.
<p>
<div class="fragment"><pre>00129 {
00130 <a class="code" href="modules_8h.html#a13">server_mode</a>(parameters,pcnt,user);
00131 }
<div class="fragment"><pre>00135 {
00136 <a class="code" href="modules_8h.html#a14">server_mode</a>(parameters,pcnt,user);
00137 }
</pre></div> </td>
</tr>
</table>
@ -955,11 +962,11 @@ Sends text to all opers.
<p>
This method sends a server notice to all opers with the usermode +s.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00113">113</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
Definition at line <a class="el" href="modules_8cpp-source.html#l00119">119</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00114 {
00115 WriteOpers(<span class="stringliteral">"%s"</span>,s.c_str());
00116 }
<div class="fragment"><pre>00120 {
00121 WriteOpers(<span class="stringliteral">"%s"</span>,s.c_str());
00122 }
</pre></div> </td>
</tr>
</table>
@ -1002,11 +1009,11 @@ Sends text from the server to a socket.
<p>
This method writes a line of text to an established socket, with the servername prepended as used by numerics (see RFC 1459)
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00138">138</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
Definition at line <a class="el" href="modules_8cpp-source.html#l00144">144</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00139 {
00140 WriteServ(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
00141 }
<div class="fragment"><pre>00145 {
00146 WriteServ(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
00147 }
</pre></div> </td>
</tr>
</table>
@ -1055,11 +1062,11 @@ Sends text from a user to another user.
<p>
This method writes a line of text to a user, with a user's nick/ident /host combination prepended, as used in PRIVMSG etc commands (see RFC 1459)
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00148">148</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
Definition at line <a class="el" href="modules_8cpp-source.html#l00154">154</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00149 {
00150 WriteTo(Source,Dest,<span class="stringliteral">"%s"</span>,s.c_str());
00151 }
<div class="fragment"><pre>00155 {
00156 WriteTo(Source,Dest,<span class="stringliteral">"%s"</span>,s.c_str());
00157 }
</pre></div> </td>
</tr>
</table>
@ -1102,17 +1109,17 @@ Sends a WALLOPS message.
<p>
This method writes a WALLOPS message to all users with the +w flag, originating from the specified user.
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#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#l00188">188</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00183 {
00184 WriteWallOps(User,<span class="stringliteral">"%s"</span>,text.c_str());
00185 }
<div class="fragment"><pre>00189 {
00190 WriteWallOps(User,<span class="stringliteral">"%s"</span>,text.c_str());
00191 }
</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 Fri Apr 2 14:46:19 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Member List</title>
<link href="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>
@ -15,7 +15,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classVersion.html#m2">Revision</a></td><td><a class="el" href="classVersion.html">Version</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classVersion.html#a0">Version</a>(int major, int minor, int revision, int build)</td><td><a class="el" href="classVersion.html">Version</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:22 2004 for InspIRCd by
</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!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>Version class 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>
@ -36,7 +36,7 @@ A class of type Version is returned by the GetVersion method of the <a class="el
<p>
<p>
Definition at line <a class="el" href="modules_8h-source.html#l00048">48</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
Definition at line <a class="el" href="modules_8h-source.html#l00066">66</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="Version::Version"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
@ -86,9 +86,9 @@ Definition at line <a class="el" href="modules_8h-source.html#l00048">48</a> of
<p>
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00082">82</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#l00087">87</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
<div class="fragment"><pre>00082 : <a class="code" href="classVersion.html#m0">Major</a>(major), <a class="code" href="classVersion.html#m1">Minor</a>(minor), <a class="code" href="classVersion.html#m2">Revision</a>(revision), <a class="code" href="classVersion.html#m3">Build</a>(build) { };
<div class="fragment"><pre>00087 : <a class="code" href="classVersion.html#m0">Major</a>(major), <a class="code" href="classVersion.html#m1">Minor</a>(minor), <a class="code" href="classVersion.html#m2">Revision</a>(revision), <a class="code" href="classVersion.html#m3">Build</a>(build) { };
</pre></div> </td>
</tr>
</table>
@ -114,7 +114,7 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00082">82</a> o
<p>
<p>
Definition at line <a class="el" href="modules_8h-source.html#l00051">51</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#l00069">69</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
</tr>
</table>
<a name="m0" doxytag="Version::Major"></a><p>
@ -138,7 +138,7 @@ Definition at line <a class="el" href="modules_8h-source.html#l00051">51</a> of
<p>
<p>
Definition at line <a class="el" href="modules_8h-source.html#l00051">51</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#l00069">69</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
</tr>
</table>
<a name="m1" doxytag="Version::Minor"></a><p>
@ -162,7 +162,7 @@ Definition at line <a class="el" href="modules_8h-source.html#l00051">51</a> of
<p>
<p>
Definition at line <a class="el" href="modules_8h-source.html#l00051">51</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#l00069">69</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
</tr>
</table>
<a name="m2" doxytag="Version::Revision"></a><p>
@ -186,12 +186,12 @@ Definition at line <a class="el" href="modules_8h-source.html#l00051">51</a> of
<p>
<p>
Definition at line <a class="el" href="modules_8h-source.html#l00051">51</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#l00069">69</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:22 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Member List</title>
<link href="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>
@ -29,7 +29,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classchanrec.html#m4">topicset</a></td><td><a class="el" href="classchanrec.html">chanrec</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classchanrec.html#a3">~chanrec</a>()</td><td><a class="el" href="classchanrec.html">chanrec</a></td><td><code> [inline, virtual]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="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 Fri Apr 2 14:46:12 2004 for InspIRCd by
</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:10 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>

View File

@ -1,7 +1,7 @@
<!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>chanrec class 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>
@ -25,7 +25,7 @@ Inheritance diagram for chanrec:<p><center><img src="classchanrec__inherit__grap
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classchanrec.html#a0">SetCustomMode</a> (char mode, bool mode_on)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Sets or unsets a custom mode in the channels info.</em> <a href="#a0"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classchanrec.html#a1">SetCustomModeParam</a> (char mode, char *parameter, bool mode_on)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Sets or unsets the parameterrs for a custom mode in a channels info.</em> <a href="#a1"></a><em></em></font><br><br></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Sets or unsets the parameters for a custom mode in a channels info.</em> <a href="#a1"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classchanrec.html#a2">chanrec</a> ()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Creates a channel record and initialises it with default values.</em> <a href="#a2"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classchanrec.html#a3">~chanrec</a> ()</td></tr>
@ -189,8 +189,32 @@ Sets or unsets a custom mode in the channels info.
<p>
Definition at line <a class="el" href="channels_8cpp-source.html#l00017">17</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
<p>
References <a class="el" href="channels_8h-source.html#l00079">custom_modes</a>.
<p>
<div class="fragment"><pre>00018 {
00019 }
00019 <span class="keywordflow">if</span> (mode_on) {
00020 <span class="keywordtype">char</span> m[3];
00021 m[0] = mode;
00022 m[1] = <span class="charliteral">'\0'</span>;
00023 <span class="keywordflow">if</span> (!strchr(this-&gt;custom_modes,mode))
00024 {
00025 strncat(custom_modes,m,MAXMODES);
00026 }
00027 log(DEBUG,<span class="stringliteral">"Custom mode %c set"</span>,mode);
00028 }
00029 <span class="keywordflow">else</span> {
00030 <span class="keywordtype">char</span> temp[MAXMODES];
00031 <span class="keywordtype">int</span> count = 0;
00032 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> q = 0; q &lt; strlen(custom_modes); q++) {
00033 <span class="keywordflow">if</span> (<a class="code" href="classchanrec.html#m1">custom_modes</a>[q] != mode) {
00034 temp[count++] = mode;
00035 }
00036 }
00037 temp[count] = <span class="charliteral">'\0'</span>;
00038 strncpy(custom_modes,temp,MAXMODES);
00039 log(DEBUG,<span class="stringliteral">"Custom mode %c removed"</span>,mode);
00040 }
00041 }
</pre></div> </td>
</tr>
</table>
@ -235,14 +259,14 @@ Definition at line <a class="el" href="channels_8cpp-source.html#l00017">17</a>
<td>
<p>
Sets or unsets the parameterrs for a custom mode in a channels info.
Sets or unsets the parameters for a custom mode in a channels info.
<p>
<p>
Definition at line <a class="el" href="channels_8cpp-source.html#l00021">21</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
Definition at line <a class="el" href="channels_8cpp-source.html#l00043">43</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
<p>
<div class="fragment"><pre>00022 {
00023 }
<div class="fragment"><pre>00044 {
00045 }
</pre></div> </td>
</tr>
</table>
@ -352,7 +376,9 @@ Custom modes for the channel.
<p>
Plugins may use this field in any way they see fit.
<p>
Definition at line <a class="el" href="channels_8h-source.html#l00079">79</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
Definition at line <a class="el" href="channels_8h-source.html#l00079">79</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
<p>
Referenced by <a class="el" href="channels_8cpp-source.html#l00017">SetCustomMode()</a>. </td>
</tr>
</table>
<a name="m10" doxytag="chanrec::inviteonly"></a><p>
@ -657,7 +683,7 @@ Referenced by <a class="el" href="channels_8cpp-source.html#l00006">chanrec()</a
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a><li><a class="el" href="channels_8cpp-source.html">channels.cpp</a></ul>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:12 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:10 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>

View File

@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Member List</title>
<link href="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>
@ -10,7 +10,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#m0">age</a></td><td><a class="el" href="classclassbase.html">classbase</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a0">classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:12 2004 for InspIRCd by
</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:10 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>

View File

@ -1,7 +1,7 @@
<!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>classbase class 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>
@ -143,7 +143,7 @@ Definition at line <a class="el" href="base_8h-source.html#l00020">20</a> of fil
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="base_8h-source.html">base.h</a></ul>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:12 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:10 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>

View File

@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Member List</title>
<link href="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>
@ -16,7 +16,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classcommand__t.html#m5">total_bytes</a></td><td><a class="el" href="classcommand__t.html">command_t</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classcommand__t.html#m4">use_count</a></td><td><a class="el" href="classcommand__t.html">command_t</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:13 2004 for InspIRCd by
</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!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>command_t class 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>
@ -199,7 +199,7 @@ Definition at line <a class="el" href="ctables_8h-source.html#l00044">44</a> of
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="ctables_8h-source.html">ctables.h</a></ul>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:13 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Member List</title>
<link href="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>
@ -36,7 +36,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classconnection.html#m13">signon</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classconnection.html#a3">TerminateLink</a>(char *targethost)</td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:14 2004 for InspIRCd by
</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!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>connection class 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>
@ -837,7 +837,7 @@ Referenced by <a class="el" href="servers_8cpp-source.html#l00012">serverrec::se
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="connection_8h-source.html">connection.h</a></ul>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:14 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:12 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>

View File

@ -1,7 +1,7 @@
<!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>Alphabetical index</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>
@ -19,7 +19,7 @@
</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;I&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="classpacket.html">packet</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;V&nbsp;&nbsp;</div></td></tr></table>
</td></tr><tr><td><a class="el" href="classchanrec.html">chanrec</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classExemptItem.html">ExemptItem</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classInvited.html">Invited</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="classVersion.html">Version</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classclassbase.html">classbase</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classExtMode.html">ExtMode</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classInviteItem.html">InviteItem</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classServer.html">Server</a>&nbsp;&nbsp;&nbsp;</td></tr></table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:10 2004 for InspIRCd by
</td><td><a class="el" href="classVersion.html">Version</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classclassbase.html">classbase</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classExtMode.html">ExtMode</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classInviteItem.html">InviteItem</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classServer.html">Server</a>&nbsp;&nbsp;&nbsp;</td></tr></table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:08 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>

View File

@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Member List</title>
<link href="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>
@ -16,7 +16,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classpacket.html#m2">type</a></td><td><a class="el" href="classpacket.html">packet</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classpacket.html#a1">~packet</a>()</td><td><a class="el" href="classpacket.html">packet</a></td><td></td></tr>
</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:19 2004 for InspIRCd by
</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:17 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>

View File

@ -1,7 +1,7 @@
<!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>packet class 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>
@ -183,7 +183,7 @@ Definition at line <a class="el" href="connection_8h-source.html#l00031">31</a>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="connection_8h-source.html">connection.h</a></ul>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:19 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:17 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>

View File

@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Member List</title>
<link href="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>
@ -47,7 +47,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classserverrec.html#m6">version</a></td><td><a class="el" href="classserverrec.html">serverrec</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classserverrec.html#a2">~serverrec</a>()</td><td><a class="el" href="classserverrec.html">serverrec</a></td><td></td></tr>
</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:20 2004 for InspIRCd by
</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!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>serverrec class 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>
@ -422,7 +422,7 @@ Referenced by <a class="el" href="servers_8cpp-source.html#l00012">serverrec()</
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="servers_8h-source.html">servers.h</a><li><a class="el" href="servers_8cpp-source.html">servers.cpp</a></ul>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:20 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Member List</title>
<link href="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>
@ -14,7 +14,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classucrec.html#a0">ucrec</a>()</td><td><a class="el" href="classucrec.html">ucrec</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classucrec.html#a1">~ucrec</a>()</td><td><a class="el" href="classucrec.html">ucrec</a></td><td><code> [inline, virtual]</code></td></tr>
</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:21 2004 for InspIRCd by
</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!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>ucrec class 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>
@ -162,7 +162,7 @@ Definition at line <a class="el" href="channels_8h-source.html#l00171">171</a> o
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a></ul>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:21 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Member List</title>
<link href="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>
@ -53,7 +53,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classuserrec.html#a0">userrec</a>()</td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classuserrec.html#a1">~userrec</a>()</td><td><a class="el" href="classuserrec.html">userrec</a></td><td><code> [inline, virtual]</code></td></tr>
</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:21 2004 for InspIRCd by
</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!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>userrec class 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>
@ -643,7 +643,7 @@ Definition at line <a class="el" href="users_8h-source.html#l00096">96</a> of fi
</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 Fri Apr 2 14:46:21 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!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>connection.h Source File</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>
@ -79,7 +79,7 @@
00071
00072 <span class="preprocessor">#endif</span>
00073 <span class="preprocessor"></span>
</pre></div><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:05 2004 for InspIRCd by
</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!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>connection.h 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>
@ -142,7 +142,7 @@ Definition at line <a class="el" href="connection_8h-source.html#l00020">20</a>
Definition at line <a class="el" href="connection_8h-source.html#l00022">22</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
</tr>
</table>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:07 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:05 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>

View File

@ -1,7 +1,7 @@
<!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>ctables.h Source File</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>
@ -43,7 +43,7 @@
00049
00050 <span class="preprocessor">#endif</span>
00051 <span class="preprocessor"></span>
</pre></div><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:05 2004 for InspIRCd by
</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!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>ctables.h 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>
@ -57,7 +57,7 @@ This graph shows which files directly or indirectly include this file:<p><center
Definition at line <a class="el" href="ctables_8h-source.html#l00023">23</a> of file <a class="el" href="ctables_8h-source.html">ctables.h</a>. </td>
</tr>
</table>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:07 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:05 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>

View File

@ -1,49 +0,0 @@
H1 { text-align: center; }
CAPTION { font-weight: bold }
A.qindex {}
A.qindexRef {}
A.el { text-decoration: none; font-weight: bold }
A.elRef { font-weight: bold }
A.code { text-decoration: none; font-weight: normal; color: #4444ee }
A.codeRef { font-weight: normal; color: #4444ee }
A:hover { text-decoration: none; background-color: #f2f2ff }
DL.el { margin-left: -1cm }
DIV.fragment { width: 100%; border: none; background-color: #eeeeee }
DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
TD.md { background-color: #f2f2ff; font-weight: bold; }
TD.mdname1 { background-color: #f2f2ff; font-weight: bold; color: #602020; }
TD.mdname { background-color: #f2f2ff; font-weight: bold; color: #602020; width: 600px; }
DIV.groupHeader { margin-left: 16px; margin-top: 12px; margin-bottom: 6px; font-weight: bold }
DIV.groupText { margin-left: 16px; font-style: italic; font-size: smaller }
BODY { background: white; color: black }
TD.indexkey {
background-color: #eeeeff;
font-weight: bold;
padding-right : 10px;
padding-top : 2px;
padding-left : 10px;
padding-bottom : 2px;
margin-left : 0px;
margin-right : 0px;
margin-top : 2px;
margin-bottom : 2px
}
TD.indexvalue {
background-color: #eeeeff;
font-style: italic;
padding-right : 10px;
padding-top : 2px;
padding-left : 10px;
padding-bottom : 2px;
margin-left : 0px;
margin-right : 0px;
margin-top : 2px;
margin-bottom : 2px
}
span.keyword { color: #008000 }
span.keywordtype { color: #604020 }
span.keywordflow { color: #e08000 }
span.comment { color: #800000 }
span.preprocessor { color: #806020 }
span.stringliteral { color: #002080 }
span.charliteral { color: #008080 }

Binary file not shown.

View File

@ -1,7 +1,7 @@
<!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>File Index</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>
@ -19,7 +19,7 @@
<tr><td class="indexkey"><a class="el" href="users_8cpp.html">users.cpp</a> <a href="users_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="users_8h.html">users.h</a> <a href="users_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
</table>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:04 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!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>Compound Member Index</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>
@ -127,15 +127,14 @@ Here is a list of all class members with links to the classes they belong to:<h3
: <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::OnPacketReceive()
: <a class="el" href="classModule.html#a8">Module</a><li>Module::OnPacketTransmit()
: <a class="el" href="classModule.html#a7">Module</a><li>ModuleFactory()
: <a class="el" href="classModule.html#a0">Module</a><li>Module::OnUserPreJoin()
: <a class="el" href="classModule.html#a12">Module</a><li>ModuleFactory()
: <a class="el" href="classModuleFactory.html#a0">ModuleFactory</a></ul>
<h3><a name="index_n">- n -</a>
</h3><ul>
<li>Name
: <a class="el" href="classAdmin.html#m0">Admin</a><li>name
: <a class="el" href="classserverrec.html#m0">serverrec</a>, <a class="el" href="classchanrec.html#m0">chanrec</a><li>nick
<li>name
: <a class="el" href="classserverrec.html#m0">serverrec</a>, <a class="el" href="classchanrec.html#m0">chanrec</a><li>Name
: <a class="el" href="classAdmin.html#m0">Admin</a><li>nick
: <a class="el" href="classuserrec.html#m0">userrec</a><li>Nick
: <a class="el" href="classAdmin.html#m2">Admin</a><li>noexternal
: <a class="el" href="classchanrec.html#m9">chanrec</a><li>nping
@ -143,7 +142,9 @@ Here is a list of all class members with links to the classes they belong to:<h3
<h3><a name="index_o">- o -</a>
</h3><ul>
<li>OnExtendedMode()
: <a class="el" href="classModule.html#a11">Module</a><li>OnRehash()
: <a class="el" href="classModule.html#a11">Module</a><li>OnPacketReceive()
: <a class="el" href="classModule.html#a8">Module</a><li>OnPacketTransmit()
: <a class="el" href="classModule.html#a7">Module</a><li>OnRehash()
: <a class="el" href="classModule.html#a9">Module</a><li>OnServerRaw()
: <a class="el" href="classModule.html#a10">Module</a><li>OnUserConnect()
: <a class="el" href="classModule.html#a3">Module</a><li>OnUserJoin()
@ -184,9 +185,9 @@ Here is a list of all class members with links to the classes they belong to:<h3
: <a class="el" href="classServer.html#a5">Server</a><li>SendSYN()
: <a class="el" href="classconnection.html#a6">connection</a><li>SendTo()
: <a class="el" href="classServer.html#a7">Server</a><li>SendWallops()
: <a class="el" href="classServer.html#a11">Server</a><li>server
: <a class="el" href="classuserrec.html#m6">userrec</a><li>Server()
: <a class="el" href="classServer.html#a0">Server</a><li>serverrec()
: <a class="el" href="classServer.html#a11">Server</a><li>Server()
: <a class="el" href="classServer.html#a0">Server</a><li>server
: <a class="el" href="classuserrec.html#m6">userrec</a><li>serverrec()
: <a class="el" href="classserverrec.html#a1">serverrec</a><li>set_by
: <a class="el" href="classHostItem.html#m1">HostItem</a><li>set_time
: <a class="el" href="classHostItem.html#m0">HostItem</a><li>setby
@ -233,7 +234,7 @@ Here is a list of all class members with links to the classes they belong to:<h3
: <a class="el" href="classserverrec.html#a2">serverrec</a><li>~ucrec()
: <a class="el" href="classucrec.html#a1">ucrec</a><li>~userrec()
: <a class="el" href="classuserrec.html#a1">userrec</a></ul>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:10 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:08 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>

View File

@ -1,20 +1,16 @@
<!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>File Member Index</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> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>InspIRCd File Members</h1><center>
<a href="#index_a">a</a>&nbsp;|&nbsp;<a href="#index_b">b</a>&nbsp;|&nbsp;<a href="#index_c">c</a>&nbsp;|&nbsp;<a href="#index_d">d</a>&nbsp;|&nbsp;<a href="#index_e">e</a>&nbsp;|&nbsp;<a href="#index_f">f</a>&nbsp;|&nbsp;<a href="#index_h">h</a>&nbsp;|&nbsp;<a href="#index_i">i</a>&nbsp;|&nbsp;<a href="#index_l">l</a>&nbsp;|&nbsp;<a href="#index_m">m</a>&nbsp;|&nbsp;<a href="#index_n">n</a>&nbsp;|&nbsp;<a href="#index_p">p</a>&nbsp;|&nbsp;<a href="#index_s">s</a>&nbsp;|&nbsp;<a href="#index_u">u</a>&nbsp;|&nbsp;<a href="#index_v">v</a></center>
<a href="#index_b">b</a>&nbsp;|&nbsp;<a href="#index_c">c</a>&nbsp;|&nbsp;<a href="#index_d">d</a>&nbsp;|&nbsp;<a href="#index_e">e</a>&nbsp;|&nbsp;<a href="#index_f">f</a>&nbsp;|&nbsp;<a href="#index_h">h</a>&nbsp;|&nbsp;<a href="#index_i">i</a>&nbsp;|&nbsp;<a href="#index_l">l</a>&nbsp;|&nbsp;<a href="#index_m">m</a>&nbsp;|&nbsp;<a href="#index_n">n</a>&nbsp;|&nbsp;<a href="#index_p">p</a>&nbsp;|&nbsp;<a href="#index_s">s</a>&nbsp;|&nbsp;<a href="#index_u">u</a>&nbsp;|&nbsp;<a href="#index_v">v</a></center>
<p>
Here is a list of all file members with links to the files they belong to:<h3><a name="index_a">- a -</a>
</h3><ul>
<li>AddExtendedMode()
: <a class="el" href="modules_8cpp.html#a7">modules.cpp</a></ul>
<h3><a name="index_b">- b -</a>
Here is a list of all file members with links to the files they belong to:<h3><a name="index_b">- b -</a>
</h3><ul>
<li>BanList
: <a class="el" href="channels_8h.html#a5">channels.h</a></ul>
@ -24,12 +20,13 @@ Here is a list of all file members with links to the files they belong to:<h3><a
: <a class="el" href="users_8h.html#a4">users.h</a><li>CC_DENY
: <a class="el" href="users_8h.html#a5">users.h</a><li>ClassVector
: <a class="el" href="users_8h.html#a7">users.h</a><li>createcommand()
: <a class="el" href="modules_8h.html#a12">modules.h</a></ul>
: <a class="el" href="modules_8h.html#a13">modules.h</a></ul>
<h3><a name="index_d">- d -</a>
</h3><ul>
<li>DEBUG
: <a class="el" href="modules_8h.html#a0">modules.h</a><li>DEFAULT
: <a class="el" href="modules_8h.html#a2">modules.h</a></ul>
: <a class="el" href="modules_8h.html#a2">modules.h</a><li>DoAddExtendedMode()
: <a class="el" href="modules_8cpp.html#a7">modules.cpp</a></ul>
<h3><a name="index_e">- e -</a>
</h3><ul>
<li>EMode
@ -41,8 +38,9 @@ Here is a list of all file members with links to the files they belong to:<h3><a
</h3><ul>
<li>factory()
: <a class="el" href="modules_8cpp.html#a9">modules.cpp</a><li>file_cache
: <a class="el" href="modules_8h.html#a9">modules.h</a><li>FOREACH_MOD
: <a class="el" href="modules_8h.html#a8">modules.h</a></ul>
: <a class="el" href="modules_8h.html#a10">modules.h</a><li>FOREACH_MOD
: <a class="el" href="modules_8h.html#a8">modules.h</a><li>FOREACH_RESULT
: <a class="el" href="modules_8h.html#a9">modules.h</a></ul>
<h3><a name="index_h">- h -</a>
</h3><ul>
<li>handlerfunc
@ -52,7 +50,7 @@ Here is a list of all file members with links to the files they belong to:<h3><a
<li>InvitedList
: <a class="el" href="users_8h.html#a6">users.h</a><li>InviteList
: <a class="el" href="channels_8h.html#a7">channels.h</a><li>ircd_module
: <a class="el" href="modules_8h.html#a11">modules.h</a></ul>
: <a class="el" href="modules_8h.html#a12">modules.h</a></ul>
<h3><a name="index_l">- l -</a>
</h3><ul>
<li>LINK_ACTIVE
@ -83,13 +81,13 @@ Here is a list of all file members with links to the files they belong to:<h3><a
<h3><a name="index_s">- s -</a>
</h3><ul>
<li>server_mode()
: <a class="el" href="modules_8h.html#a13">modules.h</a><li>SPARSE
: <a class="el" href="modules_8h.html#a14">modules.h</a><li>SPARSE
: <a class="el" href="modules_8h.html#a3">modules.h</a><li>STATUS_HOP
: <a class="el" href="users_8h.html#a1">users.h</a><li>STATUS_NORMAL
: <a class="el" href="users_8h.html#a3">users.h</a><li>STATUS_OP
: <a class="el" href="users_8h.html#a0">users.h</a><li>STATUS_VOICE
: <a class="el" href="users_8h.html#a2">users.h</a><li>string_list
: <a class="el" href="modules_8h.html#a10">modules.h</a></ul>
: <a class="el" href="modules_8h.html#a11">modules.h</a></ul>
<h3><a name="index_u">- u -</a>
</h3><ul>
<li>UCMODE_FOUNDER
@ -102,7 +100,7 @@ Here is a list of all file members with links to the files they belong to:<h3><a
</h3><ul>
<li>VERBOSE
: <a class="el" href="modules_8h.html#a1">modules.h</a></ul>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:22 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!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>Graph Legend</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>
@ -69,7 +69,7 @@ A purple dashed arrow is used if a class is contained or used by another class.
<li>
A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance. </li>
</ul>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:22 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!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>Hierarchical Index</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>
@ -38,7 +38,7 @@ This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
</ul>
<li><a class="el" href="classExtMode.html">ExtMode</a>
</ul>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:10 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:08 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>

View File

@ -1,7 +1,7 @@
<!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>Graphical Class Hierarchy</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>
@ -38,7 +38,7 @@
<area href="classExtMode.html" shape="rect" coords="19,5,77,26" alt="">
</map></td></tr>
</table>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:22 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,14 +1,14 @@
<!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>Main Page</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> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>InspIRCd Documentation</h1>
<p>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:04 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!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 Source File</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>
@ -41,287 +41,294 @@
00033 <span class="comment">// returns true if an extended mode character is in use</span>
<a name="l00034"></a><a class="code" href="modules_8cpp.html#a4">00034</a> <span class="keywordtype">bool</span> <a class="code" href="modules_8cpp.html#a4">ModeDefined</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type)
00035 {
00036 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
00037 {
00038 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;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 }
00045
00046 <span class="comment">// returns number of parameters for a custom mode when it is switched on</span>
<a name="l00047"></a><a class="code" href="modules_8cpp.html#a5">00047</a> <span class="keywordtype">bool</span> <a class="code" href="modules_8cpp.html#a5">ModeDefinedOn</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type)
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 &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
00050 {
00051 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
00052 {
00053 <span class="keywordflow">return</span> i-&gt;params_when_on;
00054 }
00055 }
00056 <span class="keywordflow">return</span> 0;
00057 }
00058
00059 <span class="comment">// returns number of parameters for a custom mode when it is switched on</span>
<a name="l00060"></a><a class="code" href="modules_8cpp.html#a6">00060</a> <span class="keywordtype">bool</span> <a class="code" href="modules_8cpp.html#a6">ModeDefinedOff</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type)
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 &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
00063 {
00064 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
00065 {
00066 <span class="keywordflow">return</span> i-&gt;params_when_off;
00067 }
00068 }
00069 <span class="keywordflow">return</span> 0;
00070 }
00071
00072 <span class="comment">// returns true if an extended mode character is in use</span>
<a name="l00073"></a><a class="code" href="modules_8cpp.html#a7">00073</a> <span class="keywordtype">bool</span> <a class="code" href="modules_8cpp.html#a7">AddExtendedMode</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> default_on, <span class="keywordtype">int</span> params_on, <span class="keywordtype">int</span> params_off)
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 }
00078
00079
00080 <span class="comment">// version is a simple class for holding a modules version number</span>
00081
<a name="l00082"></a><a class="code" href="classVersion.html#a0">00082</a> <a class="code" href="classVersion.html#a0">Version::Version</a>(<span class="keywordtype">int</span> major, <span class="keywordtype">int</span> minor, <span class="keywordtype">int</span> revision, <span class="keywordtype">int</span> build) : Major(major), Minor(minor), Revision(revision), Build(build) { };
00036 log(DEBUG,<span class="stringliteral">"Size of extmodes vector is %d"</span>,<a class="code" href="modules_8cpp.html#a2">EMode</a>.size());
00037 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
00038 {
00039 log(DEBUG,<span class="stringliteral">"i-&gt;modechar==%c, modechar=%c, i-&gt;type=%d, type=%d"</span>,i-&gt;modechar,modechar,i-&gt;type,type);
00040 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
00041 {
00042 <span class="keywordflow">return</span> <span class="keyword">true</span>;
00043 }
00044 }
00045 <span class="keywordflow">return</span> <span class="keyword">false</span>;
00046 }
00047
00048 <span class="comment">// returns number of parameters for a custom mode when it is switched on</span>
<a name="l00049"></a><a class="code" href="modules_8cpp.html#a5">00049</a> <span class="keywordtype">int</span> <a class="code" href="modules_8cpp.html#a5">ModeDefinedOn</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type)
00050 {
00051 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
00052 {
00053 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
00054 {
00055 <span class="keywordflow">return</span> i-&gt;params_when_on;
00056 }
00057 }
00058 <span class="keywordflow">return</span> 0;
00059 }
00060
00061 <span class="comment">// returns number of parameters for a custom mode when it is switched on</span>
<a name="l00062"></a><a class="code" href="modules_8cpp.html#a6">00062</a> <span class="keywordtype">int</span> <a class="code" href="modules_8cpp.html#a6">ModeDefinedOff</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type)
00063 {
00064 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
00065 {
00066 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
00067 {
00068 <span class="keywordflow">return</span> i-&gt;params_when_off;
00069 }
00070 }
00071 <span class="keywordflow">return</span> 0;
00072 }
00073
00074 <span class="comment">// returns true if an extended mode character is in use</span>
<a name="l00075"></a><a class="code" href="modules_8cpp.html#a7">00075</a> <span class="keywordtype">bool</span> <a class="code" href="modules_8cpp.html#a7">DoAddExtendedMode</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> default_on, <span class="keywordtype">int</span> params_on, <span class="keywordtype">int</span> params_off)
00076 {
00077 <span class="keywordflow">if</span> (<a class="code" href="modules_8cpp.html#a4">ModeDefined</a>(modechar,type)) {
00078 <span class="keywordflow">return</span> <span class="keyword">false</span>;
00079 }
00080 <a class="code" href="modules_8cpp.html#a2">EMode</a>.push_back(<a class="code" href="classExtMode.html">ExtMode</a>(modechar,type,default_on,params_on,params_off));
00081 <span class="keywordflow">return</span> <span class="keyword">true</span>;
00082 }
00083
00084 <span class="comment">// admin is a simple class for holding a server's administrative info</span>
00085
<a name="l00086"></a><a class="code" href="classAdmin.html#a0">00086</a> <a class="code" href="classAdmin.html#a0">Admin::Admin</a>(std::string name, std::string email, std::string nick) : Name(name), Email(email), Nick(nick) { };
00087
<a name="l00088"></a><a class="code" href="classModule.html#a0">00088</a> <a class="code" href="classModule.html#a0">Module::Module</a>() { }
<a name="l00089"></a><a class="code" href="classModule.html#a1">00089</a> <a class="code" href="classModule.html#a1">Module::~Module</a>() { }
<a name="l00090"></a><a class="code" href="classModule.html#a3">00090</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a3">Module::OnUserConnect</a>(<a class="code" href="classuserrec.html">userrec</a>* user) { }
<a name="l00091"></a><a class="code" href="classModule.html#a4">00091</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a4">Module::OnUserQuit</a>(<a class="code" href="classuserrec.html">userrec</a>* user) { }
<a name="l00092"></a><a class="code" href="classModule.html#a5">00092</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a5">Module::OnUserJoin</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel) { }
<a name="l00093"></a><a class="code" href="classModule.html#a6">00093</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a6">Module::OnUserPart</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel) { }
00094 <span class="keywordtype">void</span> Module::OnPacketTransmit(<span class="keywordtype">char</span> *p) { }
00095 <span class="keywordtype">void</span> Module::OnPacketReceive(<span class="keywordtype">char</span> *p) { }
<a name="l00096"></a><a class="code" href="classModule.html#a9">00096</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a9">Module::OnRehash</a>() { }
<a name="l00097"></a><a class="code" href="classModule.html#a10">00097</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a10">Module::OnServerRaw</a>(std::string &amp;raw, <span class="keywordtype">bool</span> inbound) { }
<a name="l00098"></a><a class="code" href="classModule.html#a11">00098</a> <span class="keywordtype">bool</span> <a class="code" href="classModule.html#a11">Module::OnExtendedMode</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> mode_on, string_list &amp;params) { }
<a name="l00099"></a><a class="code" href="classModule.html#a2">00099</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); }
00100
00101 <span class="comment">// server is a wrapper class that provides methods to all of the C-style</span>
00102 <span class="comment">// exports in the core</span>
00103 <span class="comment">//</span>
00104
<a name="l00105"></a><a class="code" href="classServer.html#a0">00105</a> <a class="code" href="classServer.html#a0">Server::Server</a>()
00106 {
00107 }
00108
<a name="l00109"></a><a class="code" href="classServer.html#a1">00109</a> <a class="code" href="classServer.html#a1">Server::~Server</a>()
00110 {
00111 }
00112
<a name="l00113"></a><a class="code" href="classServer.html#a2">00113</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a2">Server::SendOpers</a>(std::string s)
00114 {
00115 WriteOpers(<span class="stringliteral">"%s"</span>,s.c_str());
00116 }
00117
<a name="l00118"></a><a class="code" href="classServer.html#a3">00118</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)
00119 {
00120 log(level,<span class="stringliteral">"%s"</span>,s.c_str());
00121 }
00122
<a name="l00123"></a><a class="code" href="classServer.html#a20">00123</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)
00124 {
00125 <a class="code" href="modules_8h.html#a12">createcommand</a>(cmd,f,flags,minparams);
00126 }
00127
<a name="l00128"></a><a class="code" href="classServer.html#a21">00128</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)
00129 {
00130 <a class="code" href="modules_8h.html#a13">server_mode</a>(parameters,pcnt,user);
00131 }
00132
<a name="l00133"></a><a class="code" href="classServer.html#a4">00133</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)
00134 {
00135 Write(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
00136 }
00137
<a name="l00138"></a><a class="code" href="classServer.html#a5">00138</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)
00139 {
00140 WriteServ(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
00141 }
00142
<a name="l00143"></a><a class="code" href="classServer.html#a6">00143</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)
00144 {
00145 WriteFrom(Socket,User,<span class="stringliteral">"%s"</span>,s.c_str());
00146 }
00147
<a name="l00148"></a><a class="code" href="classServer.html#a7">00148</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)
00149 {
00150 WriteTo(Source,Dest,<span class="stringliteral">"%s"</span>,s.c_str());
00151 }
00152
<a name="l00153"></a><a class="code" href="classServer.html#a8">00153</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)
00154 {
00155 <span class="keywordflow">if</span> (IncludeSender)
00156 {
00157 WriteChannel(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
00158 }
00159 <span class="keywordflow">else</span>
00160 {
00161 ChanExceptSender(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
00162 }
00163 }
00164
<a name="l00165"></a><a class="code" href="classServer.html#a9">00165</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)
00166 {
00167 <span class="keywordflow">return</span> (common_channels(u1,u2) != 0);
00168 }
00169
<a name="l00170"></a><a class="code" href="classServer.html#a10">00170</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)
00171 {
00172 <span class="keywordflow">if</span> (IncludeSender)
00173 {
00174 WriteCommon(User,<span class="stringliteral">"%s"</span>,text.c_str());
00175 }
00176 <span class="keywordflow">else</span>
00177 {
00178 WriteCommonExcept(User,<span class="stringliteral">"%s"</span>,text.c_str());
00179 }
00180 }
00181
<a name="l00182"></a><a class="code" href="classServer.html#a11">00182</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)
00183 {
00184 WriteWallOps(User,<span class="stringliteral">"%s"</span>,text.c_str());
00185 }
00186
<a name="l00187"></a><a class="code" href="classServer.html#a12">00187</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a12">Server::IsNick</a>(std::string nick)
00188 {
00189 <span class="keywordflow">return</span> (isnick(nick.c_str()) != 0);
00190 }
00191
<a name="l00192"></a><a class="code" href="classServer.html#a13">00192</a> <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="classServer.html#a13">Server::FindNick</a>(std::string nick)
00193 {
00194 <span class="keywordflow">return</span> Find(nick);
00195 }
00196
<a name="l00197"></a><a class="code" href="classServer.html#a14">00197</a> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#a14">Server::FindChannel</a>(std::string channel)
00198 {
00199 <span class="keywordflow">return</span> FindChan(channel.c_str());
00200 }
00201
<a name="l00202"></a><a class="code" href="classServer.html#a15">00202</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)
00203 {
00204 <span class="keywordflow">return</span> cmode(User,Chan);
00205 }
00206
<a name="l00207"></a><a class="code" href="classServer.html#a16">00207</a> std::string <a class="code" href="classServer.html#a16">Server::GetServerName</a>()
00208 {
00209 <span class="keywordflow">return</span> getservername();
00210 }
00211
<a name="l00212"></a><a class="code" href="classServer.html#a17">00212</a> std::string <a class="code" href="classServer.html#a17">Server::GetNetworkName</a>()
00213 {
00214 <span class="keywordflow">return</span> getnetworkname();
00215 }
00216
<a name="l00217"></a><a class="code" href="classServer.html#a18">00217</a> <a class="code" href="classAdmin.html">Admin</a> <a class="code" href="classServer.html#a18">Server::GetAdmin</a>()
00218 {
00219 <span class="keywordflow">return</span> <a class="code" href="classAdmin.html">Admin</a>(getadminname(),getadminemail(),getadminnick());
00220 }
00221
00084
00085 <span class="comment">// version is a simple class for holding a modules version number</span>
00086
<a name="l00087"></a><a class="code" href="classVersion.html#a0">00087</a> <a class="code" href="classVersion.html#a0">Version::Version</a>(<span class="keywordtype">int</span> major, <span class="keywordtype">int</span> minor, <span class="keywordtype">int</span> revision, <span class="keywordtype">int</span> build) : Major(major), Minor(minor), Revision(revision), Build(build) { };
00088
00089 <span class="comment">// admin is a simple class for holding a server's administrative info</span>
00090
<a name="l00091"></a><a class="code" href="classAdmin.html#a0">00091</a> <a class="code" href="classAdmin.html#a0">Admin::Admin</a>(std::string name, std::string email, std::string nick) : Name(name), Email(email), Nick(nick) { };
00092
<a name="l00093"></a><a class="code" href="classModule.html#a0">00093</a> <a class="code" href="classModule.html#a0">Module::Module</a>() { }
<a name="l00094"></a><a class="code" href="classModule.html#a1">00094</a> <a class="code" href="classModule.html#a1">Module::~Module</a>() { }
<a name="l00095"></a><a class="code" href="classModule.html#a3">00095</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a3">Module::OnUserConnect</a>(<a class="code" href="classuserrec.html">userrec</a>* user) { }
<a name="l00096"></a><a class="code" href="classModule.html#a4">00096</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a4">Module::OnUserQuit</a>(<a class="code" href="classuserrec.html">userrec</a>* user) { }
<a name="l00097"></a><a class="code" href="classModule.html#a5">00097</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a5">Module::OnUserJoin</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel) { }
<a name="l00098"></a><a class="code" href="classModule.html#a6">00098</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a6">Module::OnUserPart</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel) { }
<a name="l00099"></a><a class="code" href="classModule.html#a7">00099</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a7">Module::OnPacketTransmit</a>(<span class="keywordtype">char</span> *p) { }
<a name="l00100"></a><a class="code" href="classModule.html#a8">00100</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a8">Module::OnPacketReceive</a>(<span class="keywordtype">char</span> *p) { }
<a name="l00101"></a><a class="code" href="classModule.html#a9">00101</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a9">Module::OnRehash</a>() { }
<a name="l00102"></a><a class="code" href="classModule.html#a10">00102</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a10">Module::OnServerRaw</a>(std::string &amp;raw, <span class="keywordtype">bool</span> inbound) { }
00103 <span class="keywordtype">int</span> Module::OnUserPreJoin(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <span class="keywordtype">char</span>* cname) { <span class="keywordflow">return</span> 0; }
<a name="l00104"></a><a class="code" href="classModule.html#a11">00104</a> <span class="keywordtype">bool</span> <a class="code" href="classModule.html#a11">Module::OnExtendedMode</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> mode_on, string_list &amp;params) { }
<a name="l00105"></a><a class="code" href="classModule.html#a2">00105</a> <a class="code" href="classVersion.html">Version</a> <a class="code" href="classModule.html#a2">Module::GetVersion</a>() { <span class="keywordflow">return</span> <a class="code" href="classVersion.html">Version</a>(1,0,0,0); }
00106
00107 <span class="comment">// server is a wrapper class that provides methods to all of the C-style</span>
00108 <span class="comment">// exports in the core</span>
00109 <span class="comment">//</span>
00110
<a name="l00111"></a><a class="code" href="classServer.html#a0">00111</a> <a class="code" href="classServer.html#a0">Server::Server</a>()
00112 {
00113 }
00114
<a name="l00115"></a><a class="code" href="classServer.html#a1">00115</a> <a class="code" href="classServer.html#a1">Server::~Server</a>()
00116 {
00117 }
00118
<a name="l00119"></a><a class="code" href="classServer.html#a2">00119</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a2">Server::SendOpers</a>(std::string s)
00120 {
00121 WriteOpers(<span class="stringliteral">"%s"</span>,s.c_str());
00122 }
00123
<a name="l00124"></a><a class="code" href="classServer.html#a3">00124</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a3">Server::Log</a>(<span class="keywordtype">int</span> level, std::string s)
00125 {
00126 log(level,<span class="stringliteral">"%s"</span>,s.c_str());
00127 }
00128
<a name="l00129"></a><a class="code" href="classServer.html#a20">00129</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a20">Server::AddCommand</a>(<span class="keywordtype">char</span>* cmd, handlerfunc f, <span class="keywordtype">char</span> flags, <span class="keywordtype">int</span> minparams)
00130 {
00131 <a class="code" href="modules_8h.html#a13">createcommand</a>(cmd,f,flags,minparams);
00132 }
00133
<a name="l00134"></a><a class="code" href="classServer.html#a21">00134</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a21">Server::SendMode</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user)
00135 {
00136 <a class="code" href="modules_8h.html#a14">server_mode</a>(parameters,pcnt,user);
00137 }
00138
<a name="l00139"></a><a class="code" href="classServer.html#a4">00139</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a4">Server::Send</a>(<span class="keywordtype">int</span> Socket, std::string s)
00140 {
00141 Write(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
00142 }
00143
<a name="l00144"></a><a class="code" href="classServer.html#a5">00144</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a5">Server::SendServ</a>(<span class="keywordtype">int</span> Socket, std::string s)
00145 {
00146 WriteServ(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
00147 }
00148
<a name="l00149"></a><a class="code" href="classServer.html#a6">00149</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a6">Server::SendFrom</a>(<span class="keywordtype">int</span> Socket, <a class="code" href="classuserrec.html">userrec</a>* User, std::string s)
00150 {
00151 WriteFrom(Socket,User,<span class="stringliteral">"%s"</span>,s.c_str());
00152 }
00153
<a name="l00154"></a><a class="code" href="classServer.html#a7">00154</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a7">Server::SendTo</a>(<a class="code" href="classuserrec.html">userrec</a>* Source, <a class="code" href="classuserrec.html">userrec</a>* Dest, std::string s)
00155 {
00156 WriteTo(Source,Dest,<span class="stringliteral">"%s"</span>,s.c_str());
00157 }
00158
<a name="l00159"></a><a class="code" href="classServer.html#a8">00159</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a8">Server::SendChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Channel, std::string s,<span class="keywordtype">bool</span> IncludeSender)
00160 {
00161 <span class="keywordflow">if</span> (IncludeSender)
00162 {
00163 WriteChannel(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
00164 }
00165 <span class="keywordflow">else</span>
00166 {
00167 ChanExceptSender(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
00168 }
00169 }
00170
<a name="l00171"></a><a class="code" href="classServer.html#a9">00171</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a9">Server::CommonChannels</a>(<a class="code" href="classuserrec.html">userrec</a>* u1, <a class="code" href="classuserrec.html">userrec</a>* u2)
00172 {
00173 <span class="keywordflow">return</span> (common_channels(u1,u2) != 0);
00174 }
00175
<a name="l00176"></a><a class="code" href="classServer.html#a10">00176</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a10">Server::SendCommon</a>(<a class="code" href="classuserrec.html">userrec</a>* User, std::string text,<span class="keywordtype">bool</span> IncludeSender)
00177 {
00178 <span class="keywordflow">if</span> (IncludeSender)
00179 {
00180 WriteCommon(User,<span class="stringliteral">"%s"</span>,text.c_str());
00181 }
00182 <span class="keywordflow">else</span>
00183 {
00184 WriteCommonExcept(User,<span class="stringliteral">"%s"</span>,text.c_str());
00185 }
00186 }
00187
<a name="l00188"></a><a class="code" href="classServer.html#a11">00188</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a11">Server::SendWallops</a>(<a class="code" href="classuserrec.html">userrec</a>* User, std::string text)
00189 {
00190 WriteWallOps(User,<span class="stringliteral">"%s"</span>,text.c_str());
00191 }
00192
<a name="l00193"></a><a class="code" href="classServer.html#a12">00193</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a12">Server::IsNick</a>(std::string nick)
00194 {
00195 <span class="keywordflow">return</span> (isnick(nick.c_str()) != 0);
00196 }
00197
<a name="l00198"></a><a class="code" href="classServer.html#a13">00198</a> <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="classServer.html#a13">Server::FindNick</a>(std::string nick)
00199 {
00200 <span class="keywordflow">return</span> Find(nick);
00201 }
00202
<a name="l00203"></a><a class="code" href="classServer.html#a14">00203</a> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#a14">Server::FindChannel</a>(std::string channel)
00204 {
00205 <span class="keywordflow">return</span> FindChan(channel.c_str());
00206 }
00207
<a name="l00208"></a><a class="code" href="classServer.html#a15">00208</a> std::string <a class="code" href="classServer.html#a15">Server::ChanMode</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Chan)
00209 {
00210 <span class="keywordflow">return</span> cmode(User,Chan);
00211 }
00212
<a name="l00213"></a><a class="code" href="classServer.html#a16">00213</a> std::string <a class="code" href="classServer.html#a16">Server::GetServerName</a>()
00214 {
00215 <span class="keywordflow">return</span> getservername();
00216 }
00217
<a name="l00218"></a><a class="code" href="classServer.html#a17">00218</a> std::string <a class="code" href="classServer.html#a17">Server::GetNetworkName</a>()
00219 {
00220 <span class="keywordflow">return</span> getnetworkname();
00221 }
00222
00223
<a name="l00224"></a><a class="code" href="classServer.html#a19">00224</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a19">Server::AddExtendedMode</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> default_on, <span class="keywordtype">int</span> params_when_on, <span class="keywordtype">int</span> params_when_off)
00225 {
<a name="l00223"></a><a class="code" href="classServer.html#a18">00223</a> <a class="code" href="classAdmin.html">Admin</a> <a class="code" href="classServer.html#a18">Server::GetAdmin</a>()
00224 {
00225 <span class="keywordflow">return</span> <a class="code" href="classAdmin.html">Admin</a>(getadminname(),getadminemail(),getadminnick());
00226 }
00227
00228
<a name="l00229"></a><a class="code" href="classConfigReader.html#a0">00229</a> <a class="code" href="classConfigReader.html#a0">ConfigReader::ConfigReader</a>()
00230 {
00231 <a class="code" href="classConfigReader.html#n0">fname</a> = CONFIG_FILE;
00232 }
00233
00229
<a name="l00230"></a><a class="code" href="classServer.html#a19">00230</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a19">Server::AddExtendedMode</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> default_on, <span class="keywordtype">int</span> params_when_on, <span class="keywordtype">int</span> params_when_off)
00231 {
00232 <span class="keywordflow">return</span> <a class="code" href="modules_8cpp.html#a7">DoAddExtendedMode</a>(modechar,type,default_on,params_when_on,params_when_off);
00233 }
00234
<a name="l00235"></a><a class="code" href="classConfigReader.html#a2">00235</a> <a class="code" href="classConfigReader.html#a2">ConfigReader::~ConfigReader</a>()
00236 {
00237 }
00238
00239
<a name="l00240"></a><a class="code" href="classConfigReader.html#a1">00240</a> <a class="code" href="classConfigReader.html#a0">ConfigReader::ConfigReader</a>(std::string filename) : fname(filename) { };
00235
<a name="l00236"></a><a class="code" href="classConfigReader.html#a0">00236</a> <a class="code" href="classConfigReader.html#a0">ConfigReader::ConfigReader</a>()
00237 {
00238 <a class="code" href="classConfigReader.html#n0">fname</a> = CONFIG_FILE;
00239 }
00240
00241
<a name="l00242"></a><a class="code" href="classConfigReader.html#a3">00242</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)
<a name="l00242"></a><a class="code" href="classConfigReader.html#a2">00242</a> <a class="code" href="classConfigReader.html#a2">ConfigReader::~ConfigReader</a>()
00243 {
00244 <span class="keywordtype">char</span> val[MAXBUF];
00245 ReadConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str(),name.c_str(),index,val);
00246 <span class="keywordflow">return</span> val;
00247 }
00244 }
00245
00246
<a name="l00247"></a><a class="code" href="classConfigReader.html#a1">00247</a> <a class="code" href="classConfigReader.html#a0">ConfigReader::ConfigReader</a>(std::string filename) : fname(filename) { };
00248
00249
<a name="l00250"></a><a class="code" href="classConfigReader.html#a4">00250</a> <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#a4">ConfigReader::Enumerate</a>(std::string tag)
00251 {
00252 <span class="keywordflow">return</span> EnumConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str());
00253 }
00254
<a name="l00249"></a><a class="code" href="classConfigReader.html#a3">00249</a> std::string <a class="code" href="classConfigReader.html#a3">ConfigReader::ReadValue</a>(std::string tag, std::string name, <span class="keywordtype">int</span> index)
00250 {
00251 <span class="keywordtype">char</span> val[MAXBUF];
00252 ReadConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str(),name.c_str(),index,val);
00253 <span class="keywordflow">return</span> val;
00254 }
00255
<a name="l00256"></a><a class="code" href="classConfigReader.html#a5">00256</a> <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#a5">ConfigReader::Verify</a>()
00257 {
00258 <span class="keywordflow">return</span> <span class="keyword">true</span>;
00259 }
00260
00256
<a name="l00257"></a><a class="code" href="classConfigReader.html#a4">00257</a> <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#a4">ConfigReader::Enumerate</a>(std::string tag)
00258 {
00259 <span class="keywordflow">return</span> EnumConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str());
00260 }
00261
<a name="l00262"></a><a class="code" href="classFileReader.html#a1">00262</a> <a class="code" href="classFileReader.html#a0">FileReader::FileReader</a>(std::string filename)
00263 {
00264 <a class="code" href="modules_8h.html#a9">file_cache</a> c;
00265 readfile(c,filename.c_str());
00266 this-&gt;<a class="code" href="classFileReader.html#o0">fc</a> = c;
00267 }
00262
<a name="l00263"></a><a class="code" href="classConfigReader.html#a5">00263</a> <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#a5">ConfigReader::Verify</a>()
00264 {
00265 <span class="keywordflow">return</span> <span class="keyword">true</span>;
00266 }
00267
00268
<a name="l00269"></a><a class="code" href="classFileReader.html#a0">00269</a> <a class="code" href="classFileReader.html#a0">FileReader::FileReader</a>()
<a name="l00269"></a><a class="code" href="classFileReader.html#a1">00269</a> <a class="code" href="classFileReader.html#a0">FileReader::FileReader</a>(std::string filename)
00270 {
00271 }
00272
<a name="l00273"></a><a class="code" href="classFileReader.html#a3">00273</a> <span class="keywordtype">void</span> <a class="code" href="classFileReader.html#a3">FileReader::LoadFile</a>(std::string filename)
00274 {
00275 <a class="code" href="modules_8h.html#a9">file_cache</a> c;
00276 readfile(c,filename.c_str());
00277 this-&gt;<a class="code" href="classFileReader.html#o0">fc</a> = c;
00271 <a class="code" href="modules_8h.html#a10">file_cache</a> c;
00272 readfile(c,filename.c_str());
00273 this-&gt;<a class="code" href="classFileReader.html#o0">fc</a> = c;
00274 }
00275
<a name="l00276"></a><a class="code" href="classFileReader.html#a0">00276</a> <a class="code" href="classFileReader.html#a0">FileReader::FileReader</a>()
00277 {
00278 }
00279
00280
<a name="l00281"></a><a class="code" href="classFileReader.html#a2">00281</a> <a class="code" href="classFileReader.html#a2">FileReader::~FileReader</a>()
00282 {
00283 }
00284
<a name="l00285"></a><a class="code" href="classFileReader.html#a4">00285</a> <span class="keywordtype">bool</span> <a class="code" href="classFileReader.html#a4">FileReader::Exists</a>()
00286 {
00287 <span class="keywordflow">if</span> (<a class="code" href="classFileReader.html#o0">fc</a>.size() == 0)
00288 {
00289 <span class="keywordflow">return</span>(false);
00290 }
00291 <span class="keywordflow">else</span>
00292 {
00293 <span class="keywordflow">return</span>(true);
00294 }
00295 }
00296
<a name="l00297"></a><a class="code" href="classFileReader.html#a5">00297</a> std::string <a class="code" href="classFileReader.html#a5">FileReader::GetLine</a>(<span class="keywordtype">int</span> x)
00298 {
00299 <span class="keywordflow">if</span> ((x&lt;0) || (x&gt;<a class="code" href="classFileReader.html#o0">fc</a>.size()))
00300 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
00301 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>[x];
<a name="l00280"></a><a class="code" href="classFileReader.html#a3">00280</a> <span class="keywordtype">void</span> <a class="code" href="classFileReader.html#a3">FileReader::LoadFile</a>(std::string filename)
00281 {
00282 <a class="code" href="modules_8h.html#a10">file_cache</a> c;
00283 readfile(c,filename.c_str());
00284 this-&gt;<a class="code" href="classFileReader.html#o0">fc</a> = c;
00285 }
00286
00287
<a name="l00288"></a><a class="code" href="classFileReader.html#a2">00288</a> <a class="code" href="classFileReader.html#a2">FileReader::~FileReader</a>()
00289 {
00290 }
00291
<a name="l00292"></a><a class="code" href="classFileReader.html#a4">00292</a> <span class="keywordtype">bool</span> <a class="code" href="classFileReader.html#a4">FileReader::Exists</a>()
00293 {
00294 <span class="keywordflow">if</span> (<a class="code" href="classFileReader.html#o0">fc</a>.size() == 0)
00295 {
00296 <span class="keywordflow">return</span>(false);
00297 }
00298 <span class="keywordflow">else</span>
00299 {
00300 <span class="keywordflow">return</span>(true);
00301 }
00302 }
00303
<a name="l00304"></a><a class="code" href="classFileReader.html#a6">00304</a> <span class="keywordtype">int</span> <a class="code" href="classFileReader.html#a6">FileReader::FileSize</a>()
<a name="l00304"></a><a class="code" href="classFileReader.html#a5">00304</a> std::string <a class="code" href="classFileReader.html#a5">FileReader::GetLine</a>(<span class="keywordtype">int</span> x)
00305 {
00306 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>.size();
00307 }
00308
00309
00310 std::vector&lt;Module*&gt; <a class="code" href="modules_8cpp.html#a8">modules</a>(255);
00311 std::vector&lt;ircd_module*&gt; <a class="code" href="modules_8cpp.html#a9">factory</a>(255);
00312
<a name="l00313"></a><a class="code" href="modules_8cpp.html#a3">00313</a> <span class="keywordtype">int</span> <a class="code" href="modules_8cpp.html#a3">MODCOUNT</a> = -1;
00314
00306 <span class="keywordflow">if</span> ((x&lt;0) || (x&gt;<a class="code" href="classFileReader.html#o0">fc</a>.size()))
00307 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
00308 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>[x];
00309 }
00310
<a name="l00311"></a><a class="code" href="classFileReader.html#a6">00311</a> <span class="keywordtype">int</span> <a class="code" href="classFileReader.html#a6">FileReader::FileSize</a>()
00312 {
00313 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>.size();
00314 }
00315
</pre></div><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:05 2004 for InspIRCd by
00316
00317 std::vector&lt;Module*&gt; <a class="code" href="modules_8cpp.html#a8">modules</a>(255);
00318 std::vector&lt;ircd_module*&gt; <a class="code" href="modules_8cpp.html#a9">factory</a>(255);
00319
<a name="l00320"></a><a class="code" href="modules_8cpp.html#a3">00320</a> <span class="keywordtype">int</span> <a class="code" href="modules_8cpp.html#a3">MODCOUNT</a> = -1;
00321
00322
</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:02 2004 for InspIRCd by
<a 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>

View File

@ -1,7 +1,7 @@
<!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>
@ -31,11 +31,11 @@ Include dependency graph for modules.cpp:<p><center><img src="modules_8cpp__incl
<tr><td nowrap align=right valign=top>typedef ExtModeList::iterator&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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>int&nbsp;</td><td valign=bottom><a class="el" href="modules_8cpp.html#a5">ModeDefinedOn</a> (char modechar, int type)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</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&nbsp;</td><td valign=bottom><a class="el" href="modules_8cpp.html#a7">DoAddExtendedMode</a> (char modechar, int type, bool default_on, int params_on, int params_off)</td></tr>
<tr><td nowrap align=right valign=top>std::vector&lt; <a class="el" href="classModule.html">Module</a> * &gt;&nbsp;</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&lt; <a class="el" href="modules_8h.html#a11">ircd_module</a> * &gt;&nbsp;</td><td valign=bottom><a class="el" href="modules_8cpp.html#a9">factory</a> (255)</td></tr>
<tr><td nowrap align=right valign=top>std::vector&lt; <a class="el" href="modules_8h.html#a12">ircd_module</a> * &gt;&nbsp;</td><td valign=bottom><a class="el" href="modules_8cpp.html#a9">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>&nbsp;</td><td valign=bottom><a class="el" href="modules_8cpp.html#a2">EMode</a></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="modules_8cpp.html#a3">MODCOUNT</a> = -1</td></tr>
@ -88,17 +88,17 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00028">28</a> o
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00029">29</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
Referenced by <a class="el" href="modules_8cpp-source.html#l00034">ModeDefined()</a>, <a class="el" href="modules_8cpp-source.html#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#l00034">ModeDefined()</a>, <a class="el" href="modules_8cpp-source.html#l00062">ModeDefinedOff()</a>, and <a class="el" href="modules_8cpp-source.html#l00049">ModeDefinedOn()</a>. </td>
</tr>
</table>
<hr><h2>Function Documentation</h2>
<a name="a7" doxytag="modules.cpp::AddExtendedMode"></a><p>
<a name="a7" 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">(&nbsp;</td>
<td class="md" nowrap valign="top">char&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>modechar</em>, </td>
@ -147,14 +147,19 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00034">ModeDefined()
<p>
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#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#l00075">75</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#l00031">EMode</a>, and <a class="el" href="modules_8cpp-source.html#l00034">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#l00230">Server::AddExtendedMode()</a>.
<p>
<div class="fragment"><pre>00076 {
00077 <span class="keywordflow">if</span> (<a class="code" href="modules_8cpp.html#a4">ModeDefined</a>(modechar,type)) {
00078 <span class="keywordflow">return</span> <span class="keyword">false</span>;
00079 }
00080 <a class="code" href="modules_8cpp.html#a2">EMode</a>.push_back(<a class="code" href="classExtMode.html">ExtMode</a>(modechar,type,default_on,params_on,params_off));
00081 <span class="keywordflow">return</span> <span class="keyword">true</span>;
00082 }
</pre></div> </td>
</tr>
</table>
@ -164,7 +169,7 @@ References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>.
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> std::vector&lt;<a class="el" href="modules_8h.html#a11">ircd_module</a>*&gt; factory </td>
<td class="md" nowrap valign="top"> std::vector&lt;<a class="el" href="modules_8h.html#a12">ircd_module</a>*&gt; factory </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">255&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
@ -228,16 +233,20 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00034">34</a> o
<p>
References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>, and <a class="el" href="modules_8cpp-source.html#l00029">ExtModeListIter</a>.
<p>
Referenced by <a class="el" href="modules_8cpp-source.html#l00075">DoAddExtendedMode()</a>.
<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 &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
00037 {
00038 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;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 }
00036 log(DEBUG,<span class="stringliteral">"Size of extmodes vector is %d"</span>,<a class="code" href="modules_8cpp.html#a2">EMode</a>.size());
00037 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
00038 {
00039 log(DEBUG,<span class="stringliteral">"i-&gt;modechar==%c, modechar=%c, i-&gt;type=%d, type=%d"</span>,i-&gt;modechar,modechar,i-&gt;type,type);
00040 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
00041 {
00042 <span class="keywordflow">return</span> <span class="keyword">true</span>;
00043 }
00044 }
00045 <span class="keywordflow">return</span> <span class="keyword">false</span>;
00046 }
</pre></div> </td>
</tr>
</table>
@ -247,7 +256,7 @@ References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>, and <
<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 ModeDefinedOff </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">char&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>modechar</em>, </td>
@ -278,20 +287,20 @@ References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>, and <
<p>
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#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#l00062">62</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>, and <a class="el" href="modules_8cpp-source.html#l00029">ExtModeListIter</a>.
<p>
<div class="fragment"><pre>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 &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
00063 {
00064 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
00065 {
00066 <span class="keywordflow">return</span> i-&gt;params_when_off;
00067 }
00068 }
00069 <span class="keywordflow">return</span> 0;
00070 }
<div class="fragment"><pre>00063 {
00064 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
00065 {
00066 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
00067 {
00068 <span class="keywordflow">return</span> i-&gt;params_when_off;
00069 }
00070 }
00071 <span class="keywordflow">return</span> 0;
00072 }
</pre></div> </td>
</tr>
</table>
@ -301,7 +310,7 @@ References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>, and <
<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"> int ModeDefinedOn </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">char&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>modechar</em>, </td>
@ -332,20 +341,20 @@ References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>, and <
<p>
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#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#l00049">49</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>, and <a class="el" href="modules_8cpp-source.html#l00029">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 &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
00050 {
00051 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
00052 {
00053 <span class="keywordflow">return</span> i-&gt;params_when_on;
00054 }
00055 }
00056 <span class="keywordflow">return</span> 0;
00057 }
<div class="fragment"><pre>00050 {
00051 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
00052 {
00053 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
00054 {
00055 <span class="keywordflow">return</span> i-&gt;params_when_on;
00056 }
00057 }
00058 <span class="keywordflow">return</span> 0;
00059 }
</pre></div> </td>
</tr>
</table>
@ -402,7 +411,7 @@ References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>, and <
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00031">31</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
Referenced by <a class="el" href="modules_8cpp-source.html#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#l00075">DoAddExtendedMode()</a>, <a class="el" href="modules_8cpp-source.html#l00034">ModeDefined()</a>, <a class="el" href="modules_8cpp-source.html#l00062">ModeDefinedOff()</a>, and <a class="el" href="modules_8cpp-source.html#l00049">ModeDefinedOn()</a>. </td>
</tr>
</table>
<a name="a3" doxytag="modules.cpp::MODCOUNT"></a><p>
@ -426,10 +435,10 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00073">AddExtendedMo
<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#l00320">320</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 Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>modules.h Source File</title>
<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>
@ -32,8 +32,8 @@
00024 <span class="preprocessor">#include &lt;string&gt;</span>
00025 <span class="preprocessor">#include &lt;deque&gt;</span>
00026
<a name="l00029"></a><a class="code" href="modules_8h.html#a9">00029</a> <span class="keyword">typedef</span> std::deque&lt;std::string&gt; <a class="code" href="modules_8h.html#a9">file_cache</a>;
<a name="l00030"></a><a class="code" href="modules_8h.html#a10">00030</a> <span class="keyword">typedef</span> <a class="code" href="modules_8h.html#a9">file_cache</a> <a class="code" href="modules_8h.html#a10">string_list</a>;
<a name="l00029"></a><a class="code" href="modules_8h.html#a10">00029</a> <span class="keyword">typedef</span> std::deque&lt;std::string&gt; <a class="code" href="modules_8h.html#a10">file_cache</a>;
<a name="l00030"></a><a class="code" href="modules_8h.html#a11">00030</a> <span class="keyword">typedef</span> <a class="code" href="modules_8h.html#a10">file_cache</a> <a class="code" href="modules_8h.html#a11">string_list</a>;
00031
00032 <span class="comment">// This #define allows us to call a method in all</span>
00033 <span class="comment">// loaded modules in a readable simple way, e.g.:</span>
@ -41,131 +41,150 @@
00035
<a name="l00036"></a><a class="code" href="modules_8h.html#a8">00036</a> <span class="preprocessor">#define FOREACH_MOD for (int i = 0; i &lt;= MODCOUNT; i++) modules[i]-&gt;</span>
00037 <span class="preprocessor"></span>
00038 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="modules_8h.html#a12">createcommand</a>(<span class="keywordtype">char</span>* cmd, handlerfunc f, <span class="keywordtype">char</span> flags, <span class="keywordtype">int</span> minparams);
00039 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="modules_8h.html#a13">server_mode</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user);
00040
00041 <span class="comment">// class Version holds the version information of a Module, returned</span>
00042 <span class="comment">// by Module::GetVersion (thanks RD)</span>
00038 <span class="comment">// This define is similar to the one above but returns a result in MOD_RESULT.</span>
00039 <span class="comment">// The first module to return a nonzero result is the value to be accepted,</span>
00040 <span class="comment">// and any modules after are ignored.</span>
00041
00042 <span class="comment">// *********************************************************************************************</span>
00043
<a name="l00048"></a><a class="code" href="classVersion.html">00048</a> <span class="keyword">class </span><a class="code" href="classVersion.html">Version</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
00049 {
00050 <span class="keyword">public</span>:
<a name="l00051"></a><a class="code" href="classVersion.html#m2">00051</a> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classVersion.html#m0">Major</a>, <a class="code" href="classVersion.html#m1">Minor</a>, <a class="code" href="classVersion.html#m2">Revision</a>, <a class="code" href="classVersion.html#m3">Build</a>;
00052 <a class="code" href="classVersion.html#a0">Version</a>(<span class="keywordtype">int</span> major, <span class="keywordtype">int</span> minor, <span class="keywordtype">int</span> revision, <span class="keywordtype">int</span> build);
00053 };
00054
<a name="l00060"></a><a class="code" href="classAdmin.html">00060</a> <span class="keyword">class </span><a class="code" href="classAdmin.html">Admin</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
00061 {
00062 <span class="keyword">public</span>:
<a name="l00063"></a><a class="code" href="classAdmin.html#m2">00063</a> <span class="keyword">const</span> std::string <a class="code" href="classAdmin.html#m0">Name</a>, <a class="code" href="classAdmin.html#m1">Email</a>, <a class="code" href="classAdmin.html#m2">Nick</a>;
00064 <a class="code" href="classAdmin.html#a0">Admin</a>(std::string name, std::string email, std::string nick);
00065 };
00066
<a name="l00072"></a><a class="code" href="classModule.html">00072</a> <span class="keyword">class </span><a class="code" href="classModule.html">Module</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
00073 {
00074 <span class="keyword">public</span>:
00075
00079 <a class="code" href="classModule.html#a0">Module</a>();
00080
00084 <span class="keyword">virtual</span> <a class="code" href="classModule.html#a1">~Module</a>();
00085
00090 <span class="keyword">virtual</span> <a class="code" href="classVersion.html">Version</a> <a class="code" href="classModule.html#a2">GetVersion</a>();
00091
00095 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a3">OnUserConnect</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
00096
00100 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a4">OnUserQuit</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
00101
00106 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a5">OnUserJoin</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel);
00107
00112 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a6">OnUserPart</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel);
00113
00120 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a7">Module::OnPacketTransmit</a>(<span class="keywordtype">char</span> *p);
00121
00129 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a8">Module::OnPacketReceive</a>(<span class="keywordtype">char</span> *p);
00130
00136 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a9">OnRehash</a>();
00137
00144 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a10">OnServerRaw</a>(std::string &amp;raw, <span class="keywordtype">bool</span> inbound);
00145
00154 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classModule.html#a11">OnExtendedMode</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> mode_on, string_list &amp;params);
00155
00156
00157 };
00158
00159
<a name="l00165"></a><a class="code" href="classServer.html">00165</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>
00166 {
00167 <span class="keyword">public</span>:
00171 <a class="code" href="classServer.html#a0">Server</a>();
00175 <span class="keyword">virtual</span> <a class="code" href="classServer.html#a1">~Server</a>();
00176
00180 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a2">SendOpers</a>(std::string s);
00185 <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);
00190 <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);
00195 <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);
00200 <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);
00205 <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);
00212 <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);
00217 <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);
00225 <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);
00230 <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);
00231
00235 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a12">IsNick</a>(std::string nick);
00239 <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);
00243 <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);
00248 <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);
00251 <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a16">GetServerName</a>();
00254 <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a17">GetNetworkName</a>();
00260 <span class="keyword">virtual</span> <a class="code" href="classAdmin.html">Admin</a> <a class="code" href="classServer.html#a18">GetAdmin</a>();
00278 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a19">AddExtendedMode</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> default_on, <span class="keywordtype">int</span> params_when_on, <span class="keywordtype">int</span> params_when_off);
00279
00294 <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);
00295
00313 <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);
00314 };
00315
<a name="l00322"></a><a class="code" href="classConfigReader.html">00322</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>
00323 {
00324 <span class="keyword">protected</span>:
<a name="l00327"></a><a class="code" href="classConfigReader.html#n0">00327</a> std::string <a class="code" href="classConfigReader.html#n0">fname</a>;
00328 <span class="keyword">public</span>:
00333 <a class="code" href="classConfigReader.html#a0">ConfigReader</a>(); <span class="comment">// default constructor reads ircd.conf</span>
00337 <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>
00341 <span class="comment"></span> <a class="code" href="classConfigReader.html#a2">~ConfigReader</a>();
00346 std::string <a class="code" href="classConfigReader.html#a3">ReadValue</a>(std::string tag, std::string name, <span class="keywordtype">int</span> index);
00353 <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#a4">Enumerate</a>(std::string tag);
00357 <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#a5">Verify</a>();
00358 };
00359
00360
00361
<a name="l00367"></a><a class="code" href="classFileReader.html">00367</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>
00368 {
<a name="l00369"></a><a class="code" href="classFileReader.html#o0">00369</a> <a class="code" href="modules_8h.html#a9">file_cache</a> <a class="code" href="classFileReader.html#o0">fc</a>;
00370 <span class="keyword">public</span>:
00375 <a class="code" href="classFileReader.html#a0">FileReader</a>();
00381 <a class="code" href="classFileReader.html#a0">FileReader</a>(std::string filename);
00385 <a class="code" href="classFileReader.html#a2">~FileReader</a>();
00391 <span class="keywordtype">void</span> <a class="code" href="classFileReader.html#a3">LoadFile</a>(std::string filename);
00396 <span class="keywordtype">bool</span> <a class="code" href="classFileReader.html#a4">Exists</a>();
00397 std::string <a class="code" href="classFileReader.html#a5">GetLine</a>(<span class="keywordtype">int</span> x);
00403 <span class="keywordtype">int</span> <a class="code" href="classFileReader.html#a6">FileSize</a>();
00404 };
00405
00406
<a name="l00413"></a><a class="code" href="classModuleFactory.html">00413</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>
00414 {
00415 <span class="keyword">public</span>:
<a name="l00416"></a><a class="code" href="classModuleFactory.html#a0">00416</a> <a class="code" href="classModuleFactory.html#a0">ModuleFactory</a>() { }
<a name="l00417"></a><a class="code" href="classModuleFactory.html#a1">00417</a> <span class="keyword">virtual</span> <a class="code" href="classModuleFactory.html#a1">~ModuleFactory</a>() { }
00422 <span class="keyword">virtual</span> <a class="code" href="classModule.html">Module</a> * <a class="code" href="classModuleFactory.html#a2">CreateModule</a>() = 0;
00423 };
00424
00425
<a name="l00426"></a><a class="code" href="modules_8h.html#a11">00426</a> <span class="keyword">typedef</span> DLLFactory&lt;ModuleFactory&gt; <a class="code" href="modules_8h.html#a11">ircd_module</a>;
00427
00428 <span class="preprocessor">#endif</span>
</pre></div><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:05 2004 for InspIRCd by
<a name="l00044"></a><a class="code" href="modules_8h.html#a9">00044</a> <span class="preprocessor">#define FOREACH_RESULT(x) { MOD_RESULT = 0; \</span>
00045 <span class="preprocessor"> for (int i = 0; i &lt;= MODCOUNT; i++) { \</span>
00046 <span class="preprocessor"> int res = modules[i]-&gt;x ; \</span>
00047 <span class="preprocessor"> if (res) { \</span>
00048 <span class="preprocessor"> MOD_RESULT = res; \</span>
00049 <span class="preprocessor"> break; \</span>
00050 <span class="preprocessor"> } \</span>
00051 <span class="preprocessor"> } \</span>
00052 <span class="preprocessor"> } </span>
00053 <span class="preprocessor"></span>
00054 <span class="comment">// *********************************************************************************************</span>
00055
00056 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="modules_8h.html#a13">createcommand</a>(<span class="keywordtype">char</span>* cmd, handlerfunc f, <span class="keywordtype">char</span> flags, <span class="keywordtype">int</span> minparams);
00057 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="modules_8h.html#a14">server_mode</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user);
00058
00059 <span class="comment">// class Version holds the version information of a Module, returned</span>
00060 <span class="comment">// by Module::GetVersion (thanks RD)</span>
00061
<a name="l00066"></a><a class="code" href="classVersion.html">00066</a> <span class="keyword">class </span><a class="code" href="classVersion.html">Version</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
00067 {
00068 <span class="keyword">public</span>:
<a name="l00069"></a><a class="code" href="classVersion.html#m2">00069</a> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classVersion.html#m0">Major</a>, <a class="code" href="classVersion.html#m1">Minor</a>, <a class="code" href="classVersion.html#m2">Revision</a>, <a class="code" href="classVersion.html#m3">Build</a>;
00070 <a class="code" href="classVersion.html#a0">Version</a>(<span class="keywordtype">int</span> major, <span class="keywordtype">int</span> minor, <span class="keywordtype">int</span> revision, <span class="keywordtype">int</span> build);
00071 };
00072
<a name="l00078"></a><a class="code" href="classAdmin.html">00078</a> <span class="keyword">class </span><a class="code" href="classAdmin.html">Admin</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
00079 {
00080 <span class="keyword">public</span>:
<a name="l00081"></a><a class="code" href="classAdmin.html#m2">00081</a> <span class="keyword">const</span> std::string <a class="code" href="classAdmin.html#m0">Name</a>, <a class="code" href="classAdmin.html#m1">Email</a>, <a class="code" href="classAdmin.html#m2">Nick</a>;
00082 <a class="code" href="classAdmin.html#a0">Admin</a>(std::string name, std::string email, std::string nick);
00083 };
00084
<a name="l00090"></a><a class="code" href="classModule.html">00090</a> <span class="keyword">class </span><a class="code" href="classModule.html">Module</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
00091 {
00092 <span class="keyword">public</span>:
00093
00097 <a class="code" href="classModule.html#a0">Module</a>();
00098
00102 <span class="keyword">virtual</span> <a class="code" href="classModule.html#a1">~Module</a>();
00103
00108 <span class="keyword">virtual</span> <a class="code" href="classVersion.html">Version</a> <a class="code" href="classModule.html#a2">GetVersion</a>();
00109
00113 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a3">OnUserConnect</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
00114
00118 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a4">OnUserQuit</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
00119
00124 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a5">OnUserJoin</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel);
00125
00130 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a6">OnUserPart</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel);
00131
00138 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a7">OnPacketTransmit</a>(<span class="keywordtype">char</span> *p);
00139
00147 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a8">OnPacketReceive</a>(<span class="keywordtype">char</span> *p);
00148
00154 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a9">OnRehash</a>();
00155
00162 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a10">OnServerRaw</a>(std::string &amp;raw, <span class="keywordtype">bool</span> inbound);
00163
00172 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classModule.html#a11">OnExtendedMode</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> mode_on, string_list &amp;params);
00173
00186 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a12">Module::OnUserPreJoin</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <span class="keywordtype">char</span>* cname);
00187
00188 };
00189
00190
<a name="l00196"></a><a class="code" href="classServer.html">00196</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>
00197 {
00198 <span class="keyword">public</span>:
00202 <a class="code" href="classServer.html#a0">Server</a>();
00206 <span class="keyword">virtual</span> <a class="code" href="classServer.html#a1">~Server</a>();
00207
00211 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a2">SendOpers</a>(std::string s);
00216 <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);
00221 <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);
00226 <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);
00231 <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);
00236 <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);
00243 <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);
00248 <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);
00256 <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);
00261 <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);
00262
00266 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a12">IsNick</a>(std::string nick);
00270 <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);
00274 <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);
00279 <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);
00282 <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a16">GetServerName</a>();
00285 <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a17">GetNetworkName</a>();
00291 <span class="keyword">virtual</span> <a class="code" href="classAdmin.html">Admin</a> <a class="code" href="classServer.html#a18">GetAdmin</a>();
00309 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a19">AddExtendedMode</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> default_on, <span class="keywordtype">int</span> params_when_on, <span class="keywordtype">int</span> params_when_off);
00310
00325 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a20">AddCommand</a>(<span class="keywordtype">char</span>* cmd, handlerfunc f, <span class="keywordtype">char</span> flags, <span class="keywordtype">int</span> minparams);
00326
00348 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a21">SendMode</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user);
00349 };
00350
<a name="l00357"></a><a class="code" href="classConfigReader.html">00357</a> <span class="keyword">class </span><a class="code" href="classConfigReader.html">ConfigReader</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
00358 {
00359 <span class="keyword">protected</span>:
<a name="l00362"></a><a class="code" href="classConfigReader.html#n0">00362</a> std::string <a class="code" href="classConfigReader.html#n0">fname</a>;
00363 <span class="keyword">public</span>:
00368 <a class="code" href="classConfigReader.html#a0">ConfigReader</a>(); <span class="comment">// default constructor reads ircd.conf</span>
00372 <span class="comment"></span> <a class="code" href="classConfigReader.html#a0">ConfigReader</a>(std::string filename); <span class="comment">// read a module-specific config</span>
00376 <span class="comment"></span> <a class="code" href="classConfigReader.html#a2">~ConfigReader</a>();
00381 std::string <a class="code" href="classConfigReader.html#a3">ReadValue</a>(std::string tag, std::string name, <span class="keywordtype">int</span> index);
00388 <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#a4">Enumerate</a>(std::string tag);
00392 <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#a5">Verify</a>();
00393 };
00394
00395
00396
<a name="l00402"></a><a class="code" href="classFileReader.html">00402</a> <span class="keyword">class </span><a class="code" href="classFileReader.html">FileReader</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
00403 {
<a name="l00404"></a><a class="code" href="classFileReader.html#o0">00404</a> <a class="code" href="modules_8h.html#a10">file_cache</a> <a class="code" href="classFileReader.html#o0">fc</a>;
00405 <span class="keyword">public</span>:
00410 <a class="code" href="classFileReader.html#a0">FileReader</a>();
00416 <a class="code" href="classFileReader.html#a0">FileReader</a>(std::string filename);
00420 <a class="code" href="classFileReader.html#a2">~FileReader</a>();
00426 <span class="keywordtype">void</span> <a class="code" href="classFileReader.html#a3">LoadFile</a>(std::string filename);
00431 <span class="keywordtype">bool</span> <a class="code" href="classFileReader.html#a4">Exists</a>();
00432 std::string <a class="code" href="classFileReader.html#a5">GetLine</a>(<span class="keywordtype">int</span> x);
00438 <span class="keywordtype">int</span> <a class="code" href="classFileReader.html#a6">FileSize</a>();
00439 };
00440
00441
<a name="l00448"></a><a class="code" href="classModuleFactory.html">00448</a> <span class="keyword">class </span><a class="code" href="classModuleFactory.html">ModuleFactory</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
00449 {
00450 <span class="keyword">public</span>:
<a name="l00451"></a><a class="code" href="classModuleFactory.html#a0">00451</a> <a class="code" href="classModuleFactory.html#a0">ModuleFactory</a>() { }
<a name="l00452"></a><a class="code" href="classModuleFactory.html#a1">00452</a> <span class="keyword">virtual</span> <a class="code" href="classModuleFactory.html#a1">~ModuleFactory</a>() { }
00457 <span class="keyword">virtual</span> <a class="code" href="classModule.html">Module</a> * <a class="code" href="classModuleFactory.html#a2">CreateModule</a>() = 0;
00458 };
00459
00460
<a name="l00461"></a><a class="code" href="modules_8h.html#a12">00461</a> <span class="keyword">typedef</span> DLLFactory&lt;ModuleFactory&gt; <a class="code" href="modules_8h.html#a12">ircd_module</a>;
00462
00463 <span class="preprocessor">#endif</span>
</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:03 2004 for InspIRCd by
<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>

View File

@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>modules.h 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>
@ -53,14 +53,15 @@ This graph shows which files directly or indirectly include this file:<p><center
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a6">MT_CLIENT</a>&nbsp;&nbsp;&nbsp;2</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a7">MT_SERVER</a>&nbsp;&nbsp;&nbsp;3</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a8">FOREACH_MOD</a>&nbsp;&nbsp;&nbsp;for (int i = 0; i &lt;= <a class="el" href="modules_8cpp.html#a3">MODCOUNT</a>; i++) modules[i]-&gt;</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a9">FOREACH_RESULT</a>(x)</td></tr>
<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
<tr><td nowrap align=right valign=top>typedef std::deque&lt; std::string &gt;&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a9">file_cache</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Low level definition of a <a class="el" href="classFileReader.html">FileReader</a> classes file cache area.</em> <a href="#a9"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>typedef <a class="el" href="modules_8h.html#a9">file_cache</a>&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a10">string_list</a></td></tr>
<tr><td nowrap align=right valign=top>typedef DLLFactory&lt; <a class="el" href="classModuleFactory.html">ModuleFactory</a> &gt;&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a11">ircd_module</a></td></tr>
<tr><td nowrap align=right valign=top>typedef std::deque&lt; std::string &gt;&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a10">file_cache</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Low level definition of a <a class="el" href="classFileReader.html">FileReader</a> classes file cache area.</em> <a href="#a10"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>typedef <a class="el" href="modules_8h.html#a10">file_cache</a>&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a11">string_list</a></td></tr>
<tr><td nowrap align=right valign=top>typedef DLLFactory&lt; <a class="el" href="classModuleFactory.html">ModuleFactory</a> &gt;&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a12">ircd_module</a></td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a12">createcommand</a> (char *cmd, <a class="el" href="ctables_8h.html#a0">handlerfunc</a> f, char flags, int minparams)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a13">server_mode</a> (char **parameters, int pcnt, <a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a13">createcommand</a> (char *cmd, <a class="el" href="ctables_8h.html#a0">handlerfunc</a> f, char flags, int minparams)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a14">server_mode</a> (char **parameters, int pcnt, <a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
</table>
<hr><h2>Define Documentation</h2>
<a name="a0" doxytag="modules.h::DEBUG"></a><p>
@ -135,6 +136,44 @@ Definition at line <a class="el" href="modules_8h-source.html#l00013">13</a> of
Definition at line <a class="el" href="modules_8h-source.html#l00036">36</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
</tr>
</table>
<a name="a9" doxytag="modules.h::FOREACH_RESULT"></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"> #define FOREACH_RESULT</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">x&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre>{ MOD_RESULT = 0; \
<span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt;= <a class="code" href="modules_8cpp.html#a3">MODCOUNT</a>; i++) { \
<span class="keywordtype">int</span> res = <a class="code" href="modules_8cpp.html#a8">modules</a>[i]-&gt;x ; \
<span class="keywordflow">if</span> (res) { \
MOD_RESULT = res; \
<span class="keywordflow">break</span>; \
} \
} \
}
</pre></div>
<p>
Definition at line <a class="el" href="modules_8h-source.html#l00044">44</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
</tr>
</table>
<a name="a5" doxytag="modules.h::MT_CHANNEL"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
@ -280,7 +319,7 @@ Definition at line <a class="el" href="modules_8h-source.html#l00012">12</a> of
</tr>
</table>
<hr><h2>Typedef Documentation</h2>
<a name="a9" doxytag="modules.h::file_cache"></a><p>
<a name="a10" doxytag="modules.h::file_cache"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
@ -305,10 +344,10 @@ Low level definition of a <a class="el" href="classFileReader.html">FileReader</
<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#l00262">FileReader::FileReader()</a>, and <a class="el" href="modules_8cpp-source.html#l00273">FileReader::LoadFile()</a>. </td>
Referenced by <a class="el" href="modules_8cpp-source.html#l00269">FileReader::FileReader()</a>, and <a class="el" href="modules_8cpp-source.html#l00280">FileReader::LoadFile()</a>. </td>
</tr>
</table>
<a name="a11" doxytag="modules.h::ircd_module"></a><p>
<a name="a12" doxytag="modules.h::ircd_module"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
@ -329,16 +368,16 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00262">FileReader::F
<p>
<p>
Definition at line <a class="el" href="modules_8h-source.html#l00426">426</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#l00461">461</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
</tr>
</table>
<a name="a10" doxytag="modules.h::string_list"></a><p>
<a name="a11" doxytag="modules.h::string_list"></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"> typedef <a class="el" href="modules_8h.html#a9">file_cache</a> string_list
<td class="md" nowrap valign="top"> typedef <a class="el" href="modules_8h.html#a10">file_cache</a> string_list
</table>
</td>
</tr>
@ -357,7 +396,7 @@ Definition at line <a class="el" href="modules_8h-source.html#l00030">30</a> of
</tr>
</table>
<hr><h2>Function Documentation</h2>
<a name="a12" doxytag="modules.h::createcommand"></a><p>
<a name="a13" doxytag="modules.h::createcommand"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
@ -406,10 +445,10 @@ Definition at line <a class="el" href="modules_8h-source.html#l00030">30</a> of
<p>
<p>
Referenced by <a class="el" href="modules_8cpp-source.html#l00123">Server::AddCommand()</a>. </td>
Referenced by <a class="el" href="modules_8cpp-source.html#l00129">Server::AddCommand()</a>. </td>
</tr>
</table>
<a name="a13" doxytag="modules.h::server_mode"></a><p>
<a name="a14" doxytag="modules.h::server_mode"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
@ -452,10 +491,10 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00123">Server::AddCo
<p>
<p>
Referenced by <a class="el" href="modules_8cpp-source.html#l00128">Server::SendMode()</a>. </td>
Referenced by <a class="el" href="modules_8cpp-source.html#l00134">Server::SendMode()</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 Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!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>servers.cpp Source File</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>
@ -46,7 +46,7 @@
00038 <a class="code" href="classconnection.html#m1">fd</a> = 0;
00039 }
00040
</pre></div><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:05 2004 for InspIRCd by
</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:03 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>

View File

@ -1,7 +1,7 @@
<!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>servers.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>
@ -23,7 +23,7 @@ Include dependency graph for servers.cpp:<p><center><img src="servers_8cpp__incl
<a href="servers_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
</table>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:09 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -1,7 +1,7 @@
<!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>servers.h Source File</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>
@ -44,7 +44,7 @@
00060
00061 <span class="preprocessor">#endif</span>
00062 <span class="preprocessor"></span>
</pre></div><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:05 2004 for InspIRCd by
</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:03 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>

View File

@ -1,7 +1,7 @@
<!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>servers.h 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>
@ -82,7 +82,7 @@ Definition at line <a class="el" href="servers_8h-source.html#l00014">14</a> of
Definition at line <a class="el" href="servers_8h-source.html#l00015">15</a> of file <a class="el" href="servers_8h-source.html">servers.h</a>. </td>
</tr>
</table>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:09 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36: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>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/xhtml; charset=ISO-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Language" content="en" />
<link rel="stylesheet" href="doxygen.css">
<link rel="stylesheet" href="inspircd.css">
<title>Test</title>
<style type="text/css">
<!--

View File

@ -1,7 +1,7 @@
<!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>users.cpp Source File</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>
@ -88,7 +88,7 @@
00080 }
00081 }
00082 }
</pre></div><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:05 2004 for InspIRCd by
</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:03 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>

View File

@ -1,7 +1,7 @@
<!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>users.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>
@ -25,7 +25,7 @@ Include dependency graph for users.cpp:<p><center><img src="users_8cpp__incl.gif
<a href="users_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
</table>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:10 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:08 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>

View File

@ -1,7 +1,7 @@
<!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>users.h Source File</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>
@ -92,7 +92,7 @@
00140
00141
00142 <span class="preprocessor">#endif</span>
</pre></div><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:05 2004 for InspIRCd by
</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:03 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>

View File

@ -1,7 +1,7 @@
<!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>users.h 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>
@ -245,7 +245,7 @@ Holds a complete list of all channels to which a user has been invited and has n
Definition at line <a class="el" href="users_8h-source.html#l00044">44</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
</tr>
</table>
<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:10 2004 for InspIRCd by
<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:08 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>

View File

@ -132,12 +132,12 @@ class chanrec : public classbase
/** The list of all bans set on the channel.
*/
BanList bans;
/** Sets or unsets a custom mode in the channels info
*/
void SetCustomMode(char mode,bool mode_on);
/** Sets or unsets the parameterrs for a custom mode in a channels info
/** Sets or unsets the parameters for a custom mode in a channels info
*/
void SetCustomModeParam(char mode,char* parameter,bool mode_on);

View File

@ -80,5 +80,5 @@ std::string getadminemail();
std::string getadminnick();
void readfile(file_cache &F, const char* fname);
bool ModeDefined(char c, int i);
bool ModeDefinedOn(char c, int i);
bool ModeDefinedOff(char c, int i);
int ModeDefinedOn(char c, int i);
int ModeDefinedOff(char c, int i);

View File

@ -35,6 +35,24 @@ typedef file_cache string_list;
#define FOREACH_MOD for (int i = 0; i <= MODCOUNT; i++) modules[i]->
// This define is similar to the one above but returns a result in MOD_RESULT.
// The first module to return a nonzero result is the value to be accepted,
// and any modules after are ignored.
// *********************************************************************************************
#define FOREACH_RESULT(x) { MOD_RESULT = 0; \
for (int i = 0; i <= MODCOUNT; i++) { \
int res = modules[i]->x ; \
if (res) { \
MOD_RESULT = res; \
break; \
} \
} \
}
// *********************************************************************************************
extern void createcommand(char* cmd, handlerfunc f, char flags, int minparams);
extern void server_mode(char **parameters, int pcnt, userrec *user);
@ -117,7 +135,7 @@ class Module : public classbase
* digital signatures and anything else you may want to add. This should be regarded as a pre-processor
* and will be called before ANY other operations within the ircd core program.
*/
virtual void Module::OnPacketTransmit(char *p);
virtual void OnPacketTransmit(char *p);
/** Called after a packet is received from another irc server.
* The packet is represented as a char*, as it should be regarded as a buffer, and not a string.
@ -126,7 +144,7 @@ class Module : public classbase
* and will be called immediately after the packet is received but before any other operations with the
* core of the ircd.
*/
virtual void Module::OnPacketReceive(char *p);
virtual void OnPacketReceive(char *p);
/** Called on rehash.
* This method is called prior to a /REHASH or when a SIGHUP is received from the operating
@ -153,6 +171,19 @@ class Module : public classbase
*/
virtual bool OnExtendedMode(userrec* user, chanrec* chan, char modechar, int type, bool mode_on, string_list &params);
/** Called whenever a user is about to join a channel, before any processing is done.
* 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 mimic +b, +k, +l etc.
*
* IMPORTANT NOTE!
*
* If the user joins a NEW channel which does not exist yet, OnUserPreJoin will be called BEFORE the channel
* record is created. This will cause chanrec* chan to be NULL. There is very little you can do in form of
* processing on the actual channel record at this point, however the channel NAME will still be passed in
* char* cname, so that you could for example implement a channel blacklist or whitelist, etc.
*/
virtual int Module::OnUserPreJoin(userrec* user, chanrec* chan, char* cname);
};

View File

@ -1,9 +1,9 @@
[Editors]
Focused=1
Order=7,3,2,0,6,5,4,25,24,-1,1
Order=7,3,2,6,25,24,-1,1,4,5
[Editor_0]
Open=1
Open=0
Top=0
CursorCol=1
CursorRow=1
@ -13,10 +13,10 @@ LeftChar=1
[Editor_1]
Open=1
Top=1
CursorCol=14
CursorRow=2883
TopLine=2857
LeftChar=1
CursorCol=16
CursorRow=2043
TopLine=1993
LeftChar=19
[Editor_2]
Open=1
@ -37,9 +37,9 @@ LeftChar=1
[Editor_4]
Open=1
Top=0
CursorCol=14
CursorRow=128
TopLine=77
CursorCol=9
CursorRow=232
TopLine=198
LeftChar=1
[Editor_5]
@ -83,7 +83,7 @@ TopLine=1
LeftChar=1
[Editor_10]
Open=0
Open=1
Top=0
CursorCol=1
CursorRow=1
@ -99,11 +99,11 @@ TopLine=1
LeftChar=1
[Editor_12]
Open=0
Open=1
Top=0
CursorCol=1
CursorRow=142
TopLine=120
CursorCol=17
CursorRow=79
TopLine=69
LeftChar=1
[Editor_13]
@ -115,7 +115,7 @@ TopLine=20
LeftChar=1
[Editor_14]
Open=1
Open=0
Top=0
CursorCol=1
CursorRow=23
@ -123,7 +123,7 @@ TopLine=1
LeftChar=1
[Editor_15]
Open=1
Open=0
Top=0
CursorCol=1
CursorRow=1
@ -131,7 +131,7 @@ TopLine=1
LeftChar=1
[Editor_16]
Open=1
Open=0
Top=0
CursorCol=21
CursorRow=22
@ -141,9 +141,9 @@ LeftChar=1
[Editor_17]
Open=1
Top=0
CursorCol=1
CursorRow=1
TopLine=1
CursorCol=4
CursorRow=84
TopLine=27
LeftChar=1
[Editor_18]
@ -155,7 +155,7 @@ TopLine=1
LeftChar=1
[Editor_19]
Open=0
Open=1
Top=0
CursorCol=1
CursorRow=1
@ -165,10 +165,10 @@ LeftChar=1
[Editor_20]
Open=1
Top=0
CursorCol=4
CursorRow=308
TopLine=285
LeftChar=1
CursorCol=2
CursorRow=172
TopLine=129
LeftChar=2
[Editor_21]
Open=0
@ -204,14 +204,14 @@ LeftChar=1
[Editor_25]
Open=1
Top=0
CursorCol=2
CursorRow=22
CursorCol=1
CursorRow=37
TopLine=1
LeftChar=1
[Editor_26]
Open=1
Top=0
CursorCol=19
CursorRow=51
TopLine=28
CursorCol=1
CursorRow=71
TopLine=32
LeftChar=1

View File

@ -16,6 +16,28 @@ chanrec::chanrec()
void chanrec::SetCustomMode(char mode,bool mode_on)
{
if (mode_on) {
char m[3];
m[0] = mode;
m[1] = '\0';
if (!strchr(this->custom_modes,mode))
{
strncat(custom_modes,m,MAXMODES);
}
log(DEBUG,"Custom mode %c set",mode);
}
else {
char temp[MAXMODES];
int count = 0;
for (int q = 0; q < strlen(custom_modes); q++) {
if (custom_modes[q] != mode) {
temp[count++] = mode;
}
}
temp[count] = '\0';
strncpy(custom_modes,temp,MAXMODES);
log(DEBUG,"Custom mode %c removed",mode);
}
}
void chanrec::SetCustomModeParam(char mode,char* parameter,bool mode_on)

View File

@ -854,10 +854,12 @@ char* cmode(userrec *user, chanrec *chan)
}
char scratch[MAXMODES];
char sparam[MAXMODES];
char* chanmodes(chanrec *chan)
{
strcpy(scratch,"");
strcpy(sparam,"");
if (chan->noexternal)
{
strcat(scratch,"n");
@ -892,16 +894,22 @@ char* chanmodes(chanrec *chan)
}
if (strcmp(chan->key,""))
{
strcat(scratch," ");
strcat(scratch,chan->key);
strcat(sparam,chan->key);
}
if (chan->limit)
{
char foo[24];
sprintf(foo," %d",chan->limit);
strcat(scratch,foo);
strcat(sparam,foo);
}
log(DEBUG,"chanmodes: %s %s",chan->name,scratch);
if (strlen(chan->custom_modes))
{
// TODO: Tack on mode parameters here -
// IN ORDER OF CUSTOM_MODES!
strncat(scratch,chan->custom_modes,MAXMODES);
}
log(DEBUG,"chanmodes: %s %s%s",chan->name,scratch,sparam);
strncat(scratch,sparam,MAXMODES);
return scratch;
}
@ -1037,6 +1045,9 @@ chanrec* add_channel(userrec *user, char* cname, char* key)
int i = 0;
chanrec* Ptr;
int created = 0;
// we MUST declare this wherever we use FOREACH_RESULT
int MOD_RESULT = 0;
if ((!cname) || (!user))
{
@ -1053,9 +1064,15 @@ chanrec* add_channel(userrec *user, char* cname, char* key)
{
return NULL; // already on the channel!
}
if (!FindChan(cname))
{
FOREACH_RESULT(OnUserPreJoin(user,NULL,cname));
if (MOD_RESULT) {
return NULL;
}
/* create a new one */
log(DEBUG,"add_channel: creating: %s",cname);
{
@ -1082,6 +1099,11 @@ chanrec* add_channel(userrec *user, char* cname, char* key)
Ptr = FindChan(cname);
if (Ptr)
{
FOREACH_RESULT(OnUserPreJoin(user,Ptr,cname));
if (MOD_RESULT) {
return NULL;
}
log(DEBUG,"add_channel: joining to: %s",Ptr->name);
if (strcmp(Ptr->key,""))
{
@ -1984,34 +2006,58 @@ void process_modes(char **parameters,userrec* user,chanrec *chan,int status, int
break;
default:
log(DEBUG,"Preprocessing custom mode %c",modechar);
string_list p;
p.clear();
if (ModeDefined(modelist[ptr],MT_CHANNEL))
if (((!strchr(chan->custom_modes,modechar)) && (!mdir)) || ((strchr(chan->custom_modes,modechar)) && (mdir)))
{
if ((ModeDefinedOn(modelist[ptr],MT_CHANNEL)>0) && (mdir))
log(DEBUG,"Mode %c isnt set on %s but trying to remove!",modechar,chan->name);
break;
}
if (ModeDefined(modechar,MT_CHANNEL))
{
log(DEBUG,"A module has claimed this mode");
if ((ModeDefinedOn(modechar,MT_CHANNEL)>0) && (mdir))
{
p.push_back(parameters[param]);
p.push_back(parameters[param]);
}
if ((ModeDefinedOff(modelist[ptr],MT_CHANNEL)>0) && (!mdir))
if ((ModeDefinedOff(modechar,MT_CHANNEL)>0) && (!mdir))
{
p.push_back(parameters[param]);
p.push_back(parameters[param]);
}
for (int i = 0; i <= MODCOUNT; i++)
bool handled = false;
for (int i = 0; i <= MODCOUNT; i++)
{
if (modules[i]->OnExtendedMode(user,chan,modechar,MT_CHANNEL,mdir,p))
if (!handled)
{
char app[] = {modechar, 0};
strcat(outlist, app);
chan->SetCustomMode(modelist[ptr],mdir);
// include parameters in output if mode has them
if ((ModeDefinedOn(modelist[ptr],MT_CHANNEL)>0) || (ModeDefinedOff(modelist[ptr],MT_CHANNEL)>0))
if (modules[i]->OnExtendedMode(user,chan,modechar,MT_CHANNEL,mdir,p))
{
chan->SetCustomModeParam(modelist[ptr],parameters[param],mdir);
strcpy(outpars[pc++],parameters[param++]);
}
}
log(DEBUG,"OnExtendedMode returned nonzero for a module");
char app[] = {modechar, 0};
if (ptr>0)
{
if ((modelist[ptr-1] == '+') || (modelist[ptr-1] == '-'))
{
strcat(outlist, app);
}
else if (!strchr(outlist,modechar))
{
strcat(outlist, app);
}
}
chan->SetCustomMode(modechar,mdir);
// include parameters in output if mode has them
if ((ModeDefinedOn(modechar,MT_CHANNEL)>0) || (ModeDefinedOff(modechar,MT_CHANNEL)>0))
{
chan->SetCustomModeParam(modelist[ptr],parameters[param],mdir);
strcpy(outpars[pc++],parameters[param++]);
}
// break, because only one module can handle the mode.
handled = true;
}
}
}
}
}
break;
}

View File

@ -33,8 +33,10 @@ ExtModeList EMode;
// returns true if an extended mode character is in use
bool ModeDefined(char modechar, int type)
{
log(DEBUG,"Size of extmodes vector is %d",EMode.size());
for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
{
log(DEBUG,"i->modechar==%c, modechar=%c, i->type=%d, type=%d",i->modechar,modechar,i->type,type);
if ((i->modechar == modechar) && (i->type == type))
{
return true;
@ -44,7 +46,7 @@ bool ModeDefined(char modechar, int type)
}
// returns number of parameters for a custom mode when it is switched on
bool ModeDefinedOn(char modechar, int type)
int ModeDefinedOn(char modechar, int type)
{
for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
{
@ -57,7 +59,7 @@ bool ModeDefinedOn(char modechar, int type)
}
// returns number of parameters for a custom mode when it is switched on
bool ModeDefinedOff(char modechar, int type)
int ModeDefinedOff(char modechar, int type)
{
for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
{
@ -70,9 +72,12 @@ bool ModeDefinedOff(char modechar, int type)
}
// returns true if an extended mode character is in use
bool AddExtendedMode(char modechar, int type, bool default_on, int params_on, int params_off)
bool DoAddExtendedMode(char modechar, int type, bool default_on, int params_on, int params_off)
{
EMode.push_back( ExtMode (modechar,type,default_on,params_on,params_off));
if (ModeDefined(modechar,type)) {
return false;
}
EMode.push_back(ExtMode(modechar,type,default_on,params_on,params_off));
return true;
}
@ -95,6 +100,7 @@ void Module::OnPacketTransmit(char *p) { }
void Module::OnPacketReceive(char *p) { }
void Module::OnRehash() { }
void Module::OnServerRaw(std::string &raw, bool inbound) { }
int Module::OnUserPreJoin(userrec* user, chanrec* chan, char* cname) { return 0; }
bool Module::OnExtendedMode(userrec* user, chanrec* chan, char modechar, int type, bool mode_on, string_list &params) { }
Version Module::GetVersion() { return Version(1,0,0,0); }
@ -223,6 +229,7 @@ Admin Server::GetAdmin()
bool Server::AddExtendedMode(char modechar, int type, bool default_on, int params_when_on, int params_when_off)
{
return DoAddExtendedMode(modechar,type,default_on,params_when_on,params_when_off);
}

View File

@ -53,6 +53,31 @@ class ModuleTestCommand : public Module
// anyone can issue the command, and the
// command takes only one parameter.
Srv->AddCommand("WOOT",handle_woot,0,1);
// Add a mode +Z for channels with no parameters
Srv->AddExtendedMode('Z',MT_CHANNEL,false,0,0);
}
virtual bool OnExtendedMode(userrec* user, chanrec* chan, char modechar, int type, bool mode_on, string_list &params)
{
if (modechar != 'Z') {
// this mode isn't ours, we have to bail and return 0 to not handle it.
Srv->Log(DEBUG,"Extended mode event triggered, but this is not a mode i've claimed!");
return 0;
}
// TODO: Add checking here - should bail with 0 value if the mode is already on or off
if (mode_on) {
Srv->Log(DEBUG,"Custom mode is being added to channel");
}
else {
Srv->Log(DEBUG,"Custom mode is being taken from a channel");
}
Srv->Log(DEBUG,chan->name);
// must return 1 to handle the mode!
return 1;
}
virtual ~ModuleTestCommand()