<!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">
+<title>InspIRCd: chanrec class Reference</title>
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
-<!-- Generated by Doxygen 1.3-rc2 -->
-<center>
-<a class="qindex" href="main.html">Main Page</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> </center>
-<hr><h1>chanrec Class Reference</h1>Holds all relevent information for a channel.
+<!-- Generated by Doxygen 1.3.3 -->
+<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Compound List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Compound Members</a> | <a class="qindex" href="globals.html">File Members</a></div>
+<h1>chanrec Class Reference</h1>Holds all relevent information for a channel.
<a href="#_details">More...</a>
<p>
<code>#include <<a class="el" href="channels_8h-source.html">channels.h</a>></code>
<p>
+Inherits <a class="el" href="classExtensible.html">Extensible</a>.
+<p>
<a href="classchanrec-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
-<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
-<tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classchanrec.html#a0">chanrec</a> ()</td></tr>
-<tr><td> </td><td><font size=-1><em>Creates a channel record and initialises it with default values.</em> <a href="#a0"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>virtual </td><td valign=bottom><a class="el" href="classchanrec.html#a1">~chanrec</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#a0">SetCustomMode</a> (char mode, bool mode_on)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets or unsets a custom mode in the channels info. </em> <a href="#a0"></a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#a1">SetCustomModeParam</a> (char mode, char *parameter, bool mode_on)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets or unsets the parameters for a custom mode in a channels info. </em> <a href="#a1"></a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#a2">IsCustomModeSet</a> (char mode)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns true if a custom mode is set on a channel. </em> <a href="#a2"></a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#a3">GetModeParameter</a> (char mode)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the parameter for a custom mode on a channel. </em> <a href="#a3"></a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>long </td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#a4">GetUserCounter</a> ()</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Obtain the channel "user counter" This returns the channel reference counter, which is initialized to 0 when the channel is created and incremented/decremented upon joins, parts quits and kicks. </em> <a href="#a4"></a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#a5">AddUser</a> (char *castuser)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Add a user pointer to the internal reference list The data inserted into the reference list is a table as it is an arbitary pointer compared to other users by its memory address, as this is a very fast 32 or 64 bit integer comparison. </em> <a href="#a5"></a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#a6">DelUser</a> (char *castuser)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Delete a user pointer to the internal reference list The data removed from the reference list is a table as it is an arbitary pointer compared to other users by its memory address, as this is a very fast 32 or 64 bit integer comparison. </em> <a href="#a6"></a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector< char * > * </td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#a7">GetUsers</a> ()</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Obrain the internal reference list The internal reference list contains a list of userrec* cast to char*. </em> <a href="#a7"></a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#a8">chanrec</a> ()</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a channel record and initialises it with default values. </em> <a href="#a8"></a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual </td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#a9">~chanrec</a> ()</td></tr>
+
<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
-<tr><td nowrap align=right valign=top>char </td><td valign=bottom><a class="el" href="classchanrec.html#m0">name</a> [CHANMAX]</td></tr>
-<tr><td> </td><td><font size=-1><em>The channels name.</em> <a href="#m0"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>char </td><td valign=bottom><a class="el" href="classchanrec.html#m1">custom_modes</a> [MAXMODES]</td></tr>
-<tr><td> </td><td><font size=-1><em>Custom modes for the channel.</em> <a href="#m1"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>char </td><td valign=bottom><a class="el" href="classchanrec.html#m2">topic</a> [MAXBUF]</td></tr>
-<tr><td> </td><td><font size=-1><em>Channel topic.</em> <a href="#m2"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>time_t </td><td valign=bottom><a class="el" href="classchanrec.html#m3">created</a></td></tr>
-<tr><td> </td><td><font size=-1><em>Creation time.</em> <a href="#m3"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>time_t </td><td valign=bottom><a class="el" href="classchanrec.html#m4">topicset</a></td></tr>
-<tr><td> </td><td><font size=-1><em>Time topic was set.</em> <a href="#m4"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>char </td><td valign=bottom><a class="el" href="classchanrec.html#m5">setby</a> [NICKMAX]</td></tr>
-<tr><td> </td><td><font size=-1><em>The last user to set the topic.</em> <a href="#m5"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>long </td><td valign=bottom><a class="el" href="classchanrec.html#m6">limit</a></td></tr>
-<tr><td> </td><td><font size=-1><em>Contains the channel user limit.</em> <a href="#m6"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>char </td><td valign=bottom><a class="el" href="classchanrec.html#m7">key</a> [32]</td></tr>
-<tr><td> </td><td><font size=-1><em>Contains the channel key.</em> <a href="#m7"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>short int </td><td valign=bottom><a class="el" href="classchanrec.html#m8">topiclock</a></td></tr>
-<tr><td> </td><td><font size=-1><em>Nonzero if the mode +t is set.</em> <a href="#m8"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>short int </td><td valign=bottom><a class="el" href="classchanrec.html#m9">noexternal</a></td></tr>
-<tr><td> </td><td><font size=-1><em>Nonzero if the mode +n is set.</em> <a href="#m9"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>short int </td><td valign=bottom><a class="el" href="classchanrec.html#m10">inviteonly</a></td></tr>
-<tr><td> </td><td><font size=-1><em>Nonzero if the mode +i is set.</em> <a href="#m10"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>short int </td><td valign=bottom><a class="el" href="classchanrec.html#m11">moderated</a></td></tr>
-<tr><td> </td><td><font size=-1><em>Nonzero if the mode +m is set.</em> <a href="#m11"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>short int </td><td valign=bottom><a class="el" href="classchanrec.html#m12">secret</a></td></tr>
-<tr><td> </td><td><font size=-1><em>Nonzero if the mode +s is set.</em> <a href="#m12"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>short int </td><td valign=bottom><a class="el" href="classchanrec.html#m13">c_private</a></td></tr>
-<tr><td> </td><td><font size=-1><em>Nonzero if the mode +p is set.</em> <a href="#m13"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top><a class="el" href="channels_8h.html#a5">BanList</a> </td><td valign=bottom><a class="el" href="classchanrec.html#m14">bans</a></td></tr>
-<tr><td> </td><td><font size=-1><em>The list of all bans set on the channel.</em> <a href="#m14"></a><em></em></font><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>char </td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o0">name</a> [CHANMAX]</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The channels name. </em> <a href="#o0"></a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>char </td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o1">custom_modes</a> [MAXMODES]</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Custom modes for the channel. </em> <a href="#o1"></a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector< char * > </td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o2">internal_userlist</a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">User list (casted to char*'s to stop forward declaration stuff) (chicken and egg scenario!). </em> <a href="#o2"></a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>char </td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o3">topic</a> [MAXBUF]</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Channel topic. </em> <a href="#o3"></a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>time_t </td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o4">created</a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Creation time. </em> <a href="#o4"></a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>time_t </td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o5">topicset</a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Time topic was set. </em> <a href="#o5"></a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>char </td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o6">setby</a> [NICKMAX]</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The last user to set the topic. </em> <a href="#o6"></a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>short int </td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o7">limit</a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Contains the channel user limit. </em> <a href="#o7"></a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>char </td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o8">key</a> [32]</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Contains the channel key. </em> <a href="#o8"></a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>char </td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o9">binarymodes</a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Contains a bitmask of the CM_* builtin (RFC) binary mode symbols. </em> <a href="#o9"></a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="channels_8h.html#a11">BanList</a> </td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o10">bans</a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The list of all bans set on the channel. </em> <a href="#o10"></a><em><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
-Holds all relevent information for a channel.
+Holds all relevent information for a channel.
<p>
This class represents a channel, and contains its name, modes, time created, topic, topic set time, etc, and an instance of the BanList type.
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00085">85</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
-<a name="a0" doxytag="chanrec::chanrec"></a><p>
-<table width="100%" cellpadding="2" cellspacing="0" border="0">
+Definition at line <a class="el" href="channels_8h-source.html#l00101">101</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
+<a name="a8" doxytag="chanrec::chanrec"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
- <td class="md">
+ <td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> chanrec::chanrec </td>
<td class="md" valign="top">( </td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">) </td>
- <td class="md" nowrap><code> [inline]</code></td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top"> ) </td>
+ <td class="md" nowrap></td>
</tr>
</table>
<td>
<p>
-Creates a channel record and initialises it with default values.
+Creates a channel record and initialises it with default values.
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00153">153</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
+Definition at line <a class="el" href="channels_8cpp-source.html#l00113">113</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
<p>
-<div class="fragment"><pre>00154 {
-00155 strcpy(name,<span class="stringliteral">""</span>);
-00156 strcpy(custom_modes,<span class="stringliteral">""</span>);
-00157 strcpy(topic,<span class="stringliteral">""</span>);
-00158 strcpy(setby,<span class="stringliteral">""</span>);
-00159 strcpy(key,<span class="stringliteral">""</span>);
-00160 <a class="code" href="classchanrec.html#m3">created</a> = <a class="code" href="classchanrec.html#m4">topicset</a> = <a class="code" href="classchanrec.html#m6">limit</a> = 0;
-00161 <a class="code" href="classchanrec.html#m8">topiclock</a> = <a class="code" href="classchanrec.html#m9">noexternal</a> = <a class="code" href="classchanrec.html#m10">inviteonly</a> = <a class="code" href="classchanrec.html#m11">moderated</a> = <a class="code" href="classchanrec.html#m12">secret</a> = <a class="code" href="classchanrec.html#m13">c_private</a> = <span class="keyword">false</span>;
-00162 }
+References <a class="el" href="channels_8h-source.html#l00145">binarymodes</a>, <a class="el" href="channels_8h-source.html#l00123">created</a>, <a class="el" href="channels_8h-source.html#l00110">custom_modes</a>, <a class="el" href="channels_8h-source.html#l00115">internal_userlist</a>, <a class="el" href="channels_8h-source.html#l00141">key</a>, <a class="el" href="channels_8h-source.html#l00136">limit</a>, <a class="el" href="channels_8h-source.html#l00106">name</a>, <a class="el" href="channels_8h-source.html#l00131">setby</a>, <a class="el" href="channels_8h-source.html#l00120">topic</a>, and <a class="el" href="channels_8h-source.html#l00127">topicset</a>.
+<p>
+<div class="fragment"><pre>00114 {
+00115 strcpy(name,<span class="stringliteral">""</span>);
+00116 strcpy(custom_modes,<span class="stringliteral">""</span>);
+00117 strcpy(topic,<span class="stringliteral">""</span>);
+00118 strcpy(setby,<span class="stringliteral">""</span>);
+00119 strcpy(key,<span class="stringliteral">""</span>);
+00120 <a class="code" href="classchanrec.html#o4">created</a> = <a class="code" href="classchanrec.html#o5">topicset</a> = <a class="code" href="classchanrec.html#o7">limit</a> = 0;
+00121 <a class="code" href="classchanrec.html#o9">binarymodes</a> = 0;
+00122 <a class="code" href="classchanrec.html#o2">internal_userlist</a>.clear();
+00123 }
</pre></div> </td>
</tr>
</table>
-<a name="a1" doxytag="chanrec::~chanrec"></a><p>
-<table width="100%" cellpadding="2" cellspacing="0" border="0">
+<a name="a9" doxytag="chanrec::~chanrec"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
- <td class="md">
+ <td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> virtual chanrec::~chanrec </td>
+ <td class="md" nowrap valign="top"> virtual chanrec::~<a class="el" href="classchanrec.html">chanrec</a> </td>
<td class="md" valign="top">( </td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">) </td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top"> ) </td>
<td class="md" nowrap><code> [inline, virtual]</code></td>
</tr>
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00164">164</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
+Definition at line <a class="el" href="channels_8h-source.html#l00205">205</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
<p>
-<div class="fragment"><pre>00164 { <span class="comment">/* stub */</span> }
+<div class="fragment"><pre>00205 { <span class="comment">/* stub */</span> }
</pre></div> </td>
</tr>
</table>
-<hr><h2>Member Data Documentation</h2>
-<a name="m14" doxytag="chanrec::bans"></a><p>
-<table width="100%" cellpadding="2" cellspacing="0" border="0">
+<hr><h2>Member Function Documentation</h2>
+<a name="a5" doxytag="chanrec::AddUser"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
- <td class="md">
+ <td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> <a class="el" href="channels_8h.html#a5">BanList</a> chanrec::bans
+ <td class="md" nowrap valign="top"> void chanrec::AddUser </td>
+ <td class="md" valign="top">( </td>
+ <td class="md" nowrap valign="top">char * </td>
+ <td class="mdname1" valign="top" nowrap> <em>castuser</em> </td>
+ <td class="md" valign="top"> ) </td>
+ <td class="md" nowrap></td>
+ </tr>
+
</table>
</td>
</tr>
<td>
<p>
-The list of all bans set on the channel.
+Add a user pointer to the internal reference list The data inserted into the reference list is a table as it is an arbitary pointer compared to other users by its memory address, as this is a very fast 32 or 64 bit integer comparison.
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00149">149</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+Definition at line <a class="el" href="channels_8cpp-source.html#l00207">207</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
+<p>
+References <a class="el" href="modules_8h-source.html#l00023">DEBUG</a>, and <a class="el" href="channels_8h-source.html#l00115">internal_userlist</a>.
+<p>
+<div class="fragment"><pre>00208 {
+00209 <a class="code" href="classchanrec.html#o2">internal_userlist</a>.push_back(castuser);
+00210 log(DEBUG,<span class="stringliteral">"Added casted user to channel's internal list"</span>);
+00211 }
+</pre></div> </td>
</tr>
</table>
-<a name="m13" doxytag="chanrec::c_private"></a><p>
-<table width="100%" cellpadding="2" cellspacing="0" border="0">
+<a name="a6" doxytag="chanrec::DelUser"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
- <td class="md">
+ <td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> short int chanrec::c_private
+ <td class="md" nowrap valign="top"> void chanrec::DelUser </td>
+ <td class="md" valign="top">( </td>
+ <td class="md" nowrap valign="top">char * </td>
+ <td class="mdname1" valign="top" nowrap> <em>castuser</em> </td>
+ <td class="md" valign="top"> ) </td>
+ <td class="md" nowrap></td>
+ </tr>
+
</table>
</td>
</tr>
<td>
<p>
-Nonzero if the mode +p is set.
+Delete a user pointer to the internal reference list The data removed from the reference list is a table as it is an arbitary pointer compared to other users by its memory address, as this is a very fast 32 or 64 bit integer comparison.
<p>
-This value cannot be set at the same time as <a class="el" href="classchanrec.html#m12">chanrec::secret</a>
+
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00145">145</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+Definition at line <a class="el" href="channels_8cpp-source.html#l00213">213</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
+<p>
+References <a class="el" href="modules_8h-source.html#l00023">DEBUG</a>, <a class="el" href="channels_8h-source.html#l00115">internal_userlist</a>, and <a class="el" href="channels_8h-source.html#l00106">name</a>.
+<p>
+<div class="fragment"><pre>00214 {
+00215 <span class="keywordflow">for</span> (std::vector<char*>::iterator a = <a class="code" href="classchanrec.html#o2">internal_userlist</a>.begin(); a < <a class="code" href="classchanrec.html#o2">internal_userlist</a>.end(); a++)
+00216 {
+00217 <span class="keywordflow">if</span> (*a == castuser)
+00218 {
+00219 log(DEBUG,<span class="stringliteral">"Removed casted user from channel's internal list"</span>);
+00220 <a class="code" href="classchanrec.html#o2">internal_userlist</a>.erase(a);
+00221 <span class="keywordflow">return</span>;
+00222 }
+00223 }
+00224 log(DEBUG,<span class="stringliteral">"BUG BUG BUG! Attempt to remove an uncasted user from the internal list of %s!"</span>,name);
+00225 }
+</pre></div> </td>
</tr>
</table>
-<a name="m3" doxytag="chanrec::created"></a><p>
-<table width="100%" cellpadding="2" cellspacing="0" border="0">
+<a name="a3" doxytag="chanrec::GetModeParameter"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
- <td class="md">
+ <td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> time_t chanrec::created
+ <td class="md" nowrap valign="top"> std::string chanrec::GetModeParameter </td>
+ <td class="md" valign="top">( </td>
+ <td class="md" nowrap valign="top">char </td>
+ <td class="mdname1" valign="top" nowrap> <em>mode</em> </td>
+ <td class="md" valign="top"> ) </td>
+ <td class="md" nowrap></td>
+ </tr>
+
</table>
</td>
</tr>
<td>
<p>
-Creation time.
+Returns the parameter for a custom mode on a channel.
+<p>
+For example if "+L #foo" is set, and you pass this method 'L', it will return '#foo'. If the mode is not set on the channel, or the mode has no parameters associated with it, it will return an empty string.
+<p>
+Definition at line <a class="el" href="channels_8cpp-source.html#l00187">187</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
+<p>
+References <a class="el" href="channels_8cpp-source.html#l00111">custom_mode_params</a>.
+<p>
+<div class="fragment"><pre>00188 {
+00189 <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#a38">custom_mode_params</a>.size())
+00190 {
+00191 <span class="keywordflow">for</span> (vector<ModeParameter>::iterator i = <a class="code" href="channels_8cpp.html#a38">custom_mode_params</a>.begin(); i < <a class="code" href="channels_8cpp.html#a38">custom_mode_params</a>.end(); i++)
+00192 {
+00193 <span class="keywordflow">if</span> ((i->mode == mode) && (!strcasecmp(this->name,i->channel)))
+00194 {
+00195 <span class="keywordflow">return</span> i->parameter;
+00196 }
+00197 }
+00198 }
+00199 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
+00200 }
+</pre></div> </td>
+ </tr>
+</table>
+<a name="a4" doxytag="chanrec::GetUserCounter"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> long chanrec::GetUserCounter </td>
+ <td class="md" valign="top">( </td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top"> ) </td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+
+ </td>
+ <td>
+
+<p>
+Obtain the channel "user counter" This returns the channel reference counter, which is initialized to 0 when the channel is created and incremented/decremented upon joins, parts quits and kicks.
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00101">101</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+Definition at line <a class="el" href="channels_8cpp-source.html#l00202">202</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
+<p>
+References <a class="el" href="channels_8h-source.html#l00115">internal_userlist</a>.
+<p>
+<div class="fragment"><pre>00203 {
+00204 <span class="keywordflow">return</span> (this-><a class="code" href="classchanrec.html#o2">internal_userlist</a>.size());
+00205 }
+</pre></div> </td>
</tr>
</table>
-<a name="m1" doxytag="chanrec::custom_modes"></a><p>
-<table width="100%" cellpadding="2" cellspacing="0" border="0">
+<a name="a7" doxytag="chanrec::GetUsers"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
- <td class="md">
+ <td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> char chanrec::custom_modes[MAXMODES]
+ <td class="md" nowrap valign="top"> std::vector< char * > * chanrec::GetUsers </td>
+ <td class="md" valign="top">( </td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top"> ) </td>
+ <td class="md" nowrap></td>
+ </tr>
+
</table>
</td>
</tr>
<td>
<p>
-Custom modes for the channel.
+Obrain the internal reference list The internal reference list contains a list of userrec* cast to char*.
<p>
-Plugins may use this field in any way they see fit.
+These are used for rapid comparison to determine channel membership for PRIVMSG, NOTICE, QUIT, PART etc. The resulting pointer to the vector should be considered readonly and only modified via AddUser and DelUser.
+<p>
+Definition at line <a class="el" href="channels_8cpp-source.html#l00227">227</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00094">94</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+References <a class="el" href="channels_8h-source.html#l00115">internal_userlist</a>.
+<p>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00467">Server::GetUsers()</a>.
+<p>
+<div class="fragment"><pre>00228 {
+00229 <span class="keywordflow">return</span> &<a class="code" href="classchanrec.html#o2">internal_userlist</a>;
+00230 }
+</pre></div> </td>
</tr>
</table>
-<a name="m10" doxytag="chanrec::inviteonly"></a><p>
-<table width="100%" cellpadding="2" cellspacing="0" border="0">
+<a name="a2" doxytag="chanrec::IsCustomModeSet"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
- <td class="md">
+ <td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> short int chanrec::inviteonly
+ <td class="md" nowrap valign="top"> bool chanrec::IsCustomModeSet </td>
+ <td class="md" valign="top">( </td>
+ <td class="md" nowrap valign="top">char </td>
+ <td class="mdname1" valign="top" nowrap> <em>mode</em> </td>
+ <td class="md" valign="top"> ) </td>
+ <td class="md" nowrap></td>
+ </tr>
+
</table>
</td>
</tr>
<td>
<p>
-Nonzero if the mode +i is set.
+Returns true if a custom mode is set on a channel.
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00131">131</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+Definition at line <a class="el" href="channels_8cpp-source.html#l00181">181</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
+<p>
+References <a class="el" href="modules_8h-source.html#l00023">DEBUG</a>.
+<p>
+<div class="fragment"><pre>00182 {
+00183 log(DEBUG,<span class="stringliteral">"Checking ISCustomModeSet: %c %s"</span>,mode,this->custom_modes);
+00184 <span class="keywordflow">return</span> (strchr(this->custom_modes,mode) != 0);
+00185 }
+</pre></div> </td>
</tr>
</table>
-<a name="m7" doxytag="chanrec::key"></a><p>
-<table width="100%" cellpadding="2" cellspacing="0" border="0">
+<a name="a0" doxytag="chanrec::SetCustomMode"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
- <td class="md">
+ <td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> char chanrec::key[32]
+ <td class="md" nowrap valign="top"> void chanrec::SetCustomMode </td>
+ <td class="md" valign="top">( </td>
+ <td class="md" nowrap valign="top">char </td>
+ <td class="mdname" nowrap> <em>mode</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>bool </td>
+ <td class="mdname" nowrap> <em>mode_on</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">) </td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
</table>
</td>
</tr>
<td>
<p>
-Contains the channel key.
+Sets or unsets a custom mode in the channels info.
<p>
-If this value is an empty string, there is no channel key in place.
+
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00119">119</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+Definition at line <a class="el" href="channels_8cpp-source.html#l00125">125</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
+<p>
+References <a class="el" href="channels_8h-source.html#l00110">custom_modes</a>, <a class="el" href="modules_8h-source.html#l00023">DEBUG</a>, and <a class="el" href="channels_8cpp-source.html#l00150">SetCustomModeParam()</a>.
+<p>
+<div class="fragment"><pre>00126 {
+00127 <span class="keywordflow">if</span> (mode_on) {
+00128 <span class="keyword">static</span> <span class="keywordtype">char</span> m[3];
+00129 m[0] = mode;
+00130 m[1] = <span class="charliteral">'\0'</span>;
+00131 <span class="keywordflow">if</span> (!strchr(this->custom_modes,mode))
+00132 {
+00133 strlcat(custom_modes,m,MAXMODES);
+00134 }
+00135 log(DEBUG,<span class="stringliteral">"Custom mode %c set"</span>,mode);
+00136 }
+00137 <span class="keywordflow">else</span> {
+00138
+00139 std::string a = this-><a class="code" href="classchanrec.html#o1">custom_modes</a>;
+00140 <span class="keywordtype">int</span> pos = a.find(mode);
+00141 a.erase(pos,1);
+00142 strncpy(this->custom_modes,a.c_str(),MAXMODES);
+00143
+00144 log(DEBUG,<span class="stringliteral">"Custom mode %c removed: modelist='%s'"</span>,mode,this->custom_modes);
+00145 this-><a class="code" href="classchanrec.html#a1">SetCustomModeParam</a>(mode,<span class="stringliteral">""</span>,<span class="keyword">false</span>);
+00146 }
+00147 }
+</pre></div> </td>
</tr>
</table>
-<a name="m6" doxytag="chanrec::limit"></a><p>
-<table width="100%" cellpadding="2" cellspacing="0" border="0">
+<a name="a1" doxytag="chanrec::SetCustomModeParam"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
- <td class="md">
+ <td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> long chanrec::limit
+ <td class="md" nowrap valign="top"> void chanrec::SetCustomModeParam </td>
+ <td class="md" valign="top">( </td>
+ <td class="md" nowrap valign="top">char </td>
+ <td class="mdname" nowrap> <em>mode</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>char * </td>
+ <td class="mdname" nowrap> <em>parameter</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>bool </td>
+ <td class="mdname" nowrap> <em>mode_on</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">) </td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
</table>
</td>
</tr>
<td>
<p>
-Contains the channel user limit.
+Sets or unsets the parameters for a custom mode in a channels info.
<p>
-If this value is zero, there is no limit in place.
+
+<p>
+Definition at line <a class="el" href="channels_8cpp-source.html#l00150">150</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
+<p>
+References <a class="el" href="channels_8h-source.html#l00082">ModeParameter::channel</a>, <a class="el" href="channels_8cpp-source.html#l00111">custom_mode_params</a>, <a class="el" href="modules_8h-source.html#l00023">DEBUG</a>, <a class="el" href="channels_8h-source.html#l00080">ModeParameter::mode</a>, and <a class="el" href="channels_8h-source.html#l00081">ModeParameter::parameter</a>.
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00114">114</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00125">SetCustomMode()</a>.
+<p>
+<div class="fragment"><pre>00151 {
+00152
+00153 log(DEBUG,<span class="stringliteral">"SetCustomModeParam called"</span>);
+00154 <a class="code" href="classModeParameter.html">ModeParameter</a> M;
+00155 M.<a class="code" href="classModeParameter.html#o0">mode</a> = mode;
+00156 strlcpy(M.<a class="code" href="classModeParameter.html#o2">channel</a>,this->name,CHANMAX);
+00157 strlcpy(M.<a class="code" href="classModeParameter.html#o1">parameter</a>,parameter,MAXBUF);
+00158 <span class="keywordflow">if</span> (mode_on)
+00159 {
+00160 log(DEBUG,<span class="stringliteral">"Custom mode parameter %c %s added"</span>,mode,parameter);
+00161 <a class="code" href="channels_8cpp.html#a38">custom_mode_params</a>.push_back(M);
+00162 }
+00163 <span class="keywordflow">else</span>
+00164 {
+00165 <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#a38">custom_mode_params</a>.size())
+00166 {
+00167 <span class="keywordflow">for</span> (vector<ModeParameter>::iterator i = <a class="code" href="channels_8cpp.html#a38">custom_mode_params</a>.begin(); i < <a class="code" href="channels_8cpp.html#a38">custom_mode_params</a>.end(); i++)
+00168 {
+00169 <span class="keywordflow">if</span> ((i->mode == mode) && (!strcasecmp(this->name,i->channel)))
+00170 {
+00171 log(DEBUG,<span class="stringliteral">"Custom mode parameter %c %s removed"</span>,mode,parameter);
+00172 <a class="code" href="channels_8cpp.html#a38">custom_mode_params</a>.erase(i);
+00173 <span class="keywordflow">return</span>;
+00174 }
+00175 }
+00176 }
+00177 log(DEBUG,<span class="stringliteral">"*** BUG *** Attempt to remove non-existent mode parameter!"</span>);
+00178 }
+00179 }
+</pre></div> </td>
</tr>
</table>
-<a name="m11" doxytag="chanrec::moderated"></a><p>
-<table width="100%" cellpadding="2" cellspacing="0" border="0">
+<hr><h2>Member Data Documentation</h2>
+<a name="o10" doxytag="chanrec::bans"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
- <td class="md">
+ <td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> short int chanrec::moderated
+ <td class="md" nowrap valign="top"> <a class="el" href="channels_8h.html#a11">BanList</a> <a class="el" href="classchanrec.html#o10">chanrec::bans</a>
</table>
</td>
</tr>
<td>
<p>
-Nonzero if the mode +m is set.
+The list of all bans set on the channel.
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00135">135</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#l00149">149</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
</tr>
</table>
-<a name="m0" doxytag="chanrec::name"></a><p>
-<table width="100%" cellpadding="2" cellspacing="0" border="0">
+<a name="o9" doxytag="chanrec::binarymodes"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
- <td class="md">
+ <td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> char chanrec::name[CHANMAX]
+ <td class="md" nowrap valign="top"> char <a class="el" href="classchanrec.html#o9">chanrec::binarymodes</a>
</table>
</td>
</tr>
<td>
<p>
-The channels name.
+Contains a bitmask of the CM_* builtin (RFC) binary mode symbols.
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00090">90</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+Definition at line <a class="el" href="channels_8h-source.html#l00145">145</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#l00113">chanrec()</a>. </td>
</tr>
</table>
-<a name="m9" doxytag="chanrec::noexternal"></a><p>
-<table width="100%" cellpadding="2" cellspacing="0" border="0">
+<a name="o4" doxytag="chanrec::created"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
- <td class="md">
+ <td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> short int chanrec::noexternal
+ <td class="md" nowrap valign="top"> time_t <a class="el" href="classchanrec.html#o4">chanrec::created</a>
</table>
</td>
</tr>
<td>
<p>
-Nonzero if the mode +n is set.
+Creation time.
<p>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00127">127</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#l00123">123</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#l00113">chanrec()</a>. </td>
</tr>
</table>
-<a name="m12" doxytag="chanrec::secret"></a><p>
-<table width="100%" cellpadding="2" cellspacing="0" border="0">
+<a name="o1" doxytag="chanrec::custom_modes"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
- <td class="md">
+ <td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> short int chanrec::secret
+ <td class="md" nowrap valign="top"> char <a class="el" href="classchanrec.html#o1">chanrec::custom_modes</a>[MAXMODES]
</table>
</td>
</tr>
<td>
<p>
-Nonzero if the mode +s is set.
+Custom modes for the channel.
+<p>
+Plugins may use this field in any way they see fit.
<p>
-This value cannot be set at the same time as <a class="el" href="classchanrec.html#m13">chanrec::c_private</a>
+Definition at line <a class="el" href="channels_8h-source.html#l00110">110</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00140">140</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>, and <a class="el" href="channels_8cpp-source.html#l00125">SetCustomMode()</a>. </td>
</tr>
</table>
-<a name="m5" doxytag="chanrec::setby"></a><p>
-<table width="100%" cellpadding="2" cellspacing="0" border="0">
+<a name="o2" doxytag="chanrec::internal_userlist"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
- <td class="md">
+ <td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> char chanrec::setby[NICKMAX]
+ <td class="md" nowrap valign="top"> std::vector<char*> <a class="el" href="classchanrec.html#o2">chanrec::internal_userlist</a>
</table>
</td>
</tr>
<td>
<p>
-The last user to set the topic.
+User list (casted to char*'s to stop forward declaration stuff) (chicken and egg scenario!).
<p>
-If this member is an empty string, no topic was ever set.
+
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00109">109</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#l00115">115</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#l00207">AddUser()</a>, <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>, <a class="el" href="channels_8cpp-source.html#l00213">DelUser()</a>, <a class="el" href="channels_8cpp-source.html#l00202">GetUserCounter()</a>, and <a class="el" href="channels_8cpp-source.html#l00227">GetUsers()</a>. </td>
</tr>
</table>
-<a name="m2" doxytag="chanrec::topic"></a><p>
-<table width="100%" cellpadding="2" cellspacing="0" border="0">
+<a name="o8" doxytag="chanrec::key"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
- <td class="md">
+ <td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> char chanrec::topic[MAXBUF]
+ <td class="md" nowrap valign="top"> char <a class="el" href="classchanrec.html#o8">chanrec::key</a>[32]
</table>
</td>
</tr>
<td>
<p>
-Channel topic.
+Contains the channel key.
<p>
-If this is an empty string, no channel topic is set.
+If this value is an empty string, there is no channel key in place.
+<p>
+Definition at line <a class="el" href="channels_8h-source.html#l00141">141</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#l00113">chanrec()</a>. </td>
+ </tr>
+</table>
+<a name="o7" doxytag="chanrec::limit"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> short int <a class="el" href="classchanrec.html#o7">chanrec::limit</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+
+ </td>
+ <td>
+
+<p>
+Contains the channel user limit.
+<p>
+If this value is zero, there is no limit in place.
+<p>
+Definition at line <a class="el" href="channels_8h-source.html#l00136">136</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#l00113">chanrec()</a>. </td>
+ </tr>
+</table>
+<a name="o0" doxytag="chanrec::name"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char <a class="el" href="classchanrec.html#o0">chanrec::name</a>[CHANMAX]
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+
+ </td>
+ <td>
+
+<p>
+The channels name.
+<p>
+
+<p>
+Definition at line <a class="el" href="channels_8h-source.html#l00106">106</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00098">98</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>, <a class="el" href="channels_8cpp-source.html#l00213">DelUser()</a>, and <a class="el" href="modules_8cpp-source.html#l00700">Server::PseudoToUser()</a>. </td>
</tr>
</table>
-<a name="m8" doxytag="chanrec::topiclock"></a><p>
-<table width="100%" cellpadding="2" cellspacing="0" border="0">
+<a name="o6" doxytag="chanrec::setby"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
- <td class="md">
+ <td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> short int chanrec::topiclock
+ <td class="md" nowrap valign="top"> char <a class="el" href="classchanrec.html#o6">chanrec::setby</a>[NICKMAX]
</table>
</td>
</tr>
<td>
<p>
-Nonzero if the mode +t is set.
+The last user to set the topic.
<p>
+If this member is an empty string, no topic was ever set.
+<p>
+Definition at line <a class="el" href="channels_8h-source.html#l00131">131</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#l00113">chanrec()</a>, and <a class="el" href="modules_8cpp-source.html#l00700">Server::PseudoToUser()</a>. </td>
+ </tr>
+</table>
+<a name="o3" doxytag="chanrec::topic"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char <a class="el" href="classchanrec.html#o3">chanrec::topic</a>[MAXBUF]
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+
+ </td>
+ <td>
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00123">123</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+Channel topic.
+<p>
+If this is an empty string, no channel topic is set.
+<p>
+Definition at line <a class="el" href="channels_8h-source.html#l00120">120</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
+<p>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>, and <a class="el" href="modules_8cpp-source.html#l00700">Server::PseudoToUser()</a>. </td>
</tr>
</table>
-<a name="m4" doxytag="chanrec::topicset"></a><p>
-<table width="100%" cellpadding="2" cellspacing="0" border="0">
+<a name="o5" doxytag="chanrec::topicset"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
- <td class="md">
+ <td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> time_t chanrec::topicset
+ <td class="md" nowrap valign="top"> time_t <a class="el" href="classchanrec.html#o5">chanrec::topicset</a>
</table>
</td>
</tr>
<td>
<p>
-Time topic was set.
+Time topic was set.
+<p>
+If no topic was ever set, this will be equal to <a class="el" href="classchanrec.html#o4">chanrec::created</a>
<p>
-If no topic was ever set, this will be equal to <a class="el" href="classchanrec.html#m3">chanrec::created</a>
+Definition at line <a class="el" href="channels_8h-source.html#l00127">127</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00105">105</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>, and <a class="el" href="modules_8cpp-source.html#l00700">Server::PseudoToUser()</a>. </td>
</tr>
</table>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="channels_8h-source.html">channels.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Thu Jan 23 20:28:58 2003 for InspIRCd by
+<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 size="1"><address style="align: right;"><small>Generated on Thu May 12 22:59:01 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border=0
-width=110 height=53></a>1.3-rc2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
+</a>1.3.3 </small></address>
</body>
</html>