]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - docs/module-doc/classchanrec.html
Documented new recvq and sendq stuff
[user/henk/code/inspircd.git] / docs / module-doc / classchanrec.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3 <title>InspIRCd: chanrec class Reference</title>
4 <link href="inspircd.css" rel="stylesheet" type="text/css">
5 </head><body>
6 <!-- Generated by Doxygen 1.3.3 -->
7 <div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Compound&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Compound&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
8 <h1>chanrec Class Reference</h1>Holds all relevent information for a channel.  
9 <a href="#_details">More...</a>
10 <p>
11 <code>#include &lt;<a class="el" href="channels_8h-source.html">channels.h</a>&gt;</code>
12 <p>
13 Inherits <a class="el" href="classExtensible.html">Extensible</a>.
14 <p>
15 <a href="classchanrec-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
16 <tr><td></td></tr>
17 <tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
18 <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#a0">SetCustomMode</a> (char mode, bool mode_on)</td></tr>
19
20 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets or unsets a custom mode in the channels info. </em> <a href="#a0"></a><em><br><br></td></tr>
21 <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#a1">SetCustomModeParam</a> (char mode, char *parameter, bool mode_on)</td></tr>
22
23 <tr><td class="mdescLeft">&nbsp;</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>
24 <tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#a2">IsCustomModeSet</a> (char mode)</td></tr>
25
26 <tr><td class="mdescLeft">&nbsp;</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>
27 <tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#a3">GetModeParameter</a> (char mode)</td></tr>
28
29 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the parameter for a custom mode on a channel. </em> <a href="#a3"></a><em><br><br></td></tr>
30 <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#a4">IncUserCounter</a> ()</td></tr>
31
32 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Increment the channel "user counter" The channel user counter is a reference counter which holds the number of users on the channel. </em> <a href="#a4"></a><em><br><br></td></tr>
33 <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#a5">DecUserCounter</a> ()</td></tr>
34
35 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decrement the channel "user counter" The channel user counter is a reference counter which holds the number of users on the channel. </em> <a href="#a5"></a><em><br><br></td></tr>
36 <tr><td class="memItemLeft" nowrap align=right valign=top>long&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#a6">GetUserCounter</a> ()</td></tr>
37
38 <tr><td class="mdescLeft">&nbsp;</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="#a6"></a><em><br><br></td></tr>
39 <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#a7">AddUser</a> (char *castuser)</td></tr>
40
41 <tr><td class="mdescLeft">&nbsp;</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="#a7"></a><em><br><br></td></tr>
42 <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#a8">DelUser</a> (char *castuser)</td></tr>
43
44 <tr><td class="mdescLeft">&nbsp;</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="#a8"></a><em><br><br></td></tr>
45 <tr><td class="memItemLeft" nowrap align=right valign=top>std::vector&lt; char * &gt; *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#a9">GetUsers</a> ()</td></tr>
46
47 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Obrain the internal reference list The internal reference list contains a list of userrec* cast to char*. </em> <a href="#a9"></a><em><br><br></td></tr>
48 <tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#a10">chanrec</a> ()</td></tr>
49
50 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a channel record and initialises it with default values. </em> <a href="#a10"></a><em><br><br></td></tr>
51 <tr><td class="memItemLeft" nowrap align=right valign=top>virtual&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#a11">~chanrec</a> ()</td></tr>
52
53 <tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
54 <tr><td class="memItemLeft" nowrap align=right valign=top>char&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o0">name</a> [CHANMAX]</td></tr>
55
56 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The channels name. </em> <a href="#o0"></a><em><br><br></td></tr>
57 <tr><td class="memItemLeft" nowrap align=right valign=top>char&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o1">custom_modes</a> [MAXMODES]</td></tr>
58
59 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Custom modes for the channel. </em> <a href="#o1"></a><em><br><br></td></tr>
60 <tr><td class="memItemLeft" nowrap align=right valign=top>long&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o2">users</a></td></tr>
61
62 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Count of users on the channel used for fast user counting. </em> <a href="#o2"></a><em><br><br></td></tr>
63 <tr><td class="memItemLeft" nowrap align=right valign=top>std::vector&lt; char * &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o3">internal_userlist</a></td></tr>
64
65 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">User list (casted to char*'s to stop forward declaration stuff) (chicken and egg scenario!). </em> <a href="#o3"></a><em><br><br></td></tr>
66 <tr><td class="memItemLeft" nowrap align=right valign=top>char&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o4">topic</a> [MAXBUF]</td></tr>
67
68 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Channel topic. </em> <a href="#o4"></a><em><br><br></td></tr>
69 <tr><td class="memItemLeft" nowrap align=right valign=top>time_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o5">created</a></td></tr>
70
71 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creation time. </em> <a href="#o5"></a><em><br><br></td></tr>
72 <tr><td class="memItemLeft" nowrap align=right valign=top>time_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o6">topicset</a></td></tr>
73
74 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Time topic was set. </em> <a href="#o6"></a><em><br><br></td></tr>
75 <tr><td class="memItemLeft" nowrap align=right valign=top>char&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o7">setby</a> [NICKMAX]</td></tr>
76
77 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The last user to set the topic. </em> <a href="#o7"></a><em><br><br></td></tr>
78 <tr><td class="memItemLeft" nowrap align=right valign=top>long&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o8">limit</a></td></tr>
79
80 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Contains the channel user limit. </em> <a href="#o8"></a><em><br><br></td></tr>
81 <tr><td class="memItemLeft" nowrap align=right valign=top>char&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o9">key</a> [32]</td></tr>
82
83 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Contains the channel key. </em> <a href="#o9"></a><em><br><br></td></tr>
84 <tr><td class="memItemLeft" nowrap align=right valign=top>short int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o10">topiclock</a></td></tr>
85
86 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Nonzero if the mode +t is set. </em> <a href="#o10"></a><em><br><br></td></tr>
87 <tr><td class="memItemLeft" nowrap align=right valign=top>short int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o11">noexternal</a></td></tr>
88
89 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Nonzero if the mode +n is set. </em> <a href="#o11"></a><em><br><br></td></tr>
90 <tr><td class="memItemLeft" nowrap align=right valign=top>short int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o12">inviteonly</a></td></tr>
91
92 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Nonzero if the mode +i is set. </em> <a href="#o12"></a><em><br><br></td></tr>
93 <tr><td class="memItemLeft" nowrap align=right valign=top>short int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o13">moderated</a></td></tr>
94
95 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Nonzero if the mode +m is set. </em> <a href="#o13"></a><em><br><br></td></tr>
96 <tr><td class="memItemLeft" nowrap align=right valign=top>short int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o14">secret</a></td></tr>
97
98 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Nonzero if the mode +s is set. </em> <a href="#o14"></a><em><br><br></td></tr>
99 <tr><td class="memItemLeft" nowrap align=right valign=top>short int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o15">c_private</a></td></tr>
100
101 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Nonzero if the mode +p is set. </em> <a href="#o15"></a><em><br><br></td></tr>
102 <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="channels_8h.html#a5">BanList</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o16">bans</a></td></tr>
103
104 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The list of all bans set on the channel. </em> <a href="#o16"></a><em><br><br></td></tr>
105 </table>
106 <hr><a name="_details"></a><h2>Detailed Description</h2>
107 Holds all relevent information for a channel. 
108 <p>
109 This class represents a channel, and contains its name, modes, time created, topic, topic set time, etc, and an instance of the BanList type. 
110 <p>
111
112 <p>
113 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>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
114 <a name="a10" doxytag="chanrec::chanrec"></a><p>
115 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
116   <tr>
117     <td class="mdRow">
118       <table cellpadding="0" cellspacing="0" border="0">
119         <tr>
120           <td class="md" nowrap valign="top"> chanrec::chanrec </td>
121           <td class="md" valign="top">(&nbsp;</td>
122           <td class="mdname1" valign="top" nowrap>          </td>
123           <td class="md" valign="top">&nbsp;)&nbsp;</td>
124           <td class="md" nowrap></td>
125         </tr>
126
127       </table>
128     </td>
129   </tr>
130 </table>
131 <table cellspacing=5 cellpadding=0 border=0>
132   <tr>
133     <td>
134       &nbsp;
135     </td>
136     <td>
137
138 <p>
139 Creates a channel record and initialises it with default values. 
140 <p>
141
142 <p>
143 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>.
144 <p>
145 References <a class="el" href="channels_8h-source.html#l00164">c_private</a>, <a class="el" href="channels_8h-source.html#l00120">created</a>, <a class="el" href="channels_8h-source.html#l00103">custom_modes</a>, <a class="el" href="channels_8h-source.html#l00112">internal_userlist</a>, <a class="el" href="channels_8h-source.html#l00150">inviteonly</a>, <a class="el" href="channels_8h-source.html#l00138">key</a>, <a class="el" href="channels_8h-source.html#l00133">limit</a>, <a class="el" href="channels_8h-source.html#l00154">moderated</a>, <a class="el" href="channels_8h-source.html#l00099">name</a>, <a class="el" href="channels_8h-source.html#l00146">noexternal</a>, <a class="el" href="channels_8h-source.html#l00159">secret</a>, <a class="el" href="channels_8h-source.html#l00128">setby</a>, <a class="el" href="channels_8h-source.html#l00117">topic</a>, <a class="el" href="channels_8h-source.html#l00142">topiclock</a>, <a class="el" href="channels_8h-source.html#l00124">topicset</a>, and <a class="el" href="channels_8h-source.html#l00107">users</a>.
146 <p>
147 <div class="fragment"><pre>00114 {
148 00115         strcpy(name,<span class="stringliteral">""</span>);
149 00116         strcpy(custom_modes,<span class="stringliteral">""</span>);
150 00117         strcpy(topic,<span class="stringliteral">""</span>);
151 00118         strcpy(setby,<span class="stringliteral">""</span>);
152 00119         strcpy(key,<span class="stringliteral">""</span>);
153 00120         <a class="code" href="classchanrec.html#o5">created</a> = <a class="code" href="classchanrec.html#o6">topicset</a> = <a class="code" href="classchanrec.html#o8">limit</a> = <a class="code" href="classchanrec.html#o2">users</a> = 0;
154 00121         <a class="code" href="classchanrec.html#o10">topiclock</a> = <a class="code" href="classchanrec.html#o11">noexternal</a> = <a class="code" href="classchanrec.html#o12">inviteonly</a> = <a class="code" href="classchanrec.html#o13">moderated</a> = <a class="code" href="classchanrec.html#o14">secret</a> = <a class="code" href="classchanrec.html#o15">c_private</a> = <span class="keyword">false</span>;
155 00122         <a class="code" href="classchanrec.html#o3">internal_userlist</a>.clear();
156 00123 }
157 </pre></div>    </td>
158   </tr>
159 </table>
160 <a name="a11" doxytag="chanrec::~chanrec"></a><p>
161 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
162   <tr>
163     <td class="mdRow">
164       <table cellpadding="0" cellspacing="0" border="0">
165         <tr>
166           <td class="md" nowrap valign="top"> virtual chanrec::~<a class="el" href="classchanrec.html">chanrec</a> </td>
167           <td class="md" valign="top">(&nbsp;</td>
168           <td class="mdname1" valign="top" nowrap>          </td>
169           <td class="md" valign="top">&nbsp;)&nbsp;</td>
170           <td class="md" nowrap><code> [inline, virtual]</code></td>
171         </tr>
172
173       </table>
174     </td>
175   </tr>
176 </table>
177 <table cellspacing=5 cellpadding=0 border=0>
178   <tr>
179     <td>
180       &nbsp;
181     </td>
182     <td>
183
184 <p>
185
186 <p>
187 Definition at line <a class="el" href="channels_8h-source.html#l00240">240</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
188 <p>
189 <div class="fragment"><pre>00240 { <span class="comment">/* stub */</span> }
190 </pre></div>    </td>
191   </tr>
192 </table>
193 <hr><h2>Member Function Documentation</h2>
194 <a name="a7" doxytag="chanrec::AddUser"></a><p>
195 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
196   <tr>
197     <td class="mdRow">
198       <table cellpadding="0" cellspacing="0" border="0">
199         <tr>
200           <td class="md" nowrap valign="top"> void chanrec::AddUser </td>
201           <td class="md" valign="top">(&nbsp;</td>
202           <td class="md" nowrap valign="top">char *&nbsp;</td>
203           <td class="mdname1" valign="top" nowrap> <em>castuser</em>          </td>
204           <td class="md" valign="top">&nbsp;)&nbsp;</td>
205           <td class="md" nowrap></td>
206         </tr>
207
208       </table>
209     </td>
210   </tr>
211 </table>
212 <table cellspacing=5 cellpadding=0 border=0>
213   <tr>
214     <td>
215       &nbsp;
216     </td>
217     <td>
218
219 <p>
220 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. 
221 <p>
222
223 <p>
224 Definition at line <a class="el" href="channels_8cpp-source.html#l00215">215</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
225 <p>
226 References <a class="el" href="modules_8h-source.html#l00023">DEBUG</a>, and <a class="el" href="channels_8h-source.html#l00112">internal_userlist</a>.
227 <p>
228 <div class="fragment"><pre>00216 {
229 00217         <a class="code" href="classchanrec.html#o3">internal_userlist</a>.push_back(castuser);
230 00218         log(DEBUG,<span class="stringliteral">"Added casted user to channel's internal list"</span>);
231 00219 }
232 </pre></div>    </td>
233   </tr>
234 </table>
235 <a name="a5" doxytag="chanrec::DecUserCounter"></a><p>
236 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
237   <tr>
238     <td class="mdRow">
239       <table cellpadding="0" cellspacing="0" border="0">
240         <tr>
241           <td class="md" nowrap valign="top"> void chanrec::DecUserCounter </td>
242           <td class="md" valign="top">(&nbsp;</td>
243           <td class="mdname1" valign="top" nowrap>          </td>
244           <td class="md" valign="top">&nbsp;)&nbsp;</td>
245           <td class="md" nowrap></td>
246         </tr>
247
248       </table>
249     </td>
250   </tr>
251 </table>
252 <table cellspacing=5 cellpadding=0 border=0>
253   <tr>
254     <td>
255       &nbsp;
256     </td>
257     <td>
258
259 <p>
260 Decrement the channel "user counter" The channel user counter is a reference counter which holds the number of users on the channel. 
261 <p>
262 If it decremented to 0 then the channel is removed from the system. Modules may alter the reference count to hold channels open which have no users and would normally be deleted once empty.
263 <p>
264 Definition at line <a class="el" href="channels_8cpp-source.html#l00206">206</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
265 <p>
266 <div class="fragment"><pre>00207 {
267 00208 }
268 </pre></div>    </td>
269   </tr>
270 </table>
271 <a name="a8" doxytag="chanrec::DelUser"></a><p>
272 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
273   <tr>
274     <td class="mdRow">
275       <table cellpadding="0" cellspacing="0" border="0">
276         <tr>
277           <td class="md" nowrap valign="top"> void chanrec::DelUser </td>
278           <td class="md" valign="top">(&nbsp;</td>
279           <td class="md" nowrap valign="top">char *&nbsp;</td>
280           <td class="mdname1" valign="top" nowrap> <em>castuser</em>          </td>
281           <td class="md" valign="top">&nbsp;)&nbsp;</td>
282           <td class="md" nowrap></td>
283         </tr>
284
285       </table>
286     </td>
287   </tr>
288 </table>
289 <table cellspacing=5 cellpadding=0 border=0>
290   <tr>
291     <td>
292       &nbsp;
293     </td>
294     <td>
295
296 <p>
297 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. 
298 <p>
299
300 <p>
301 Definition at line <a class="el" href="channels_8cpp-source.html#l00221">221</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
302 <p>
303 References <a class="el" href="modules_8h-source.html#l00023">DEBUG</a>, <a class="el" href="channels_8h-source.html#l00112">internal_userlist</a>, and <a class="el" href="channels_8h-source.html#l00099">name</a>.
304 <p>
305 <div class="fragment"><pre>00222 {
306 00223         <span class="keywordflow">for</span> (std::vector&lt;char*&gt;::iterator a = <a class="code" href="classchanrec.html#o3">internal_userlist</a>.begin(); a &lt; <a class="code" href="classchanrec.html#o3">internal_userlist</a>.end(); a++)
307 00224         {
308 00225                 <span class="keywordflow">if</span> (*a == castuser)
309 00226                 {
310 00227                         log(DEBUG,<span class="stringliteral">"Removed casted user from channel's internal list"</span>);
311 00228                         <a class="code" href="classchanrec.html#o3">internal_userlist</a>.erase(a);
312 00229                         <span class="keywordflow">return</span>;
313 00230                 }
314 00231         }
315 00232         log(DEBUG,<span class="stringliteral">"BUG BUG BUG! Attempt to remove an uncasted user from the internal list of %s!"</span>,name);
316 00233 }
317 </pre></div>    </td>
318   </tr>
319 </table>
320 <a name="a3" doxytag="chanrec::GetModeParameter"></a><p>
321 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
322   <tr>
323     <td class="mdRow">
324       <table cellpadding="0" cellspacing="0" border="0">
325         <tr>
326           <td class="md" nowrap valign="top"> std::string chanrec::GetModeParameter </td>
327           <td class="md" valign="top">(&nbsp;</td>
328           <td class="md" nowrap valign="top">char&nbsp;</td>
329           <td class="mdname1" valign="top" nowrap> <em>mode</em>          </td>
330           <td class="md" valign="top">&nbsp;)&nbsp;</td>
331           <td class="md" nowrap></td>
332         </tr>
333
334       </table>
335     </td>
336   </tr>
337 </table>
338 <table cellspacing=5 cellpadding=0 border=0>
339   <tr>
340     <td>
341       &nbsp;
342     </td>
343     <td>
344
345 <p>
346 Returns the parameter for a custom mode on a channel. 
347 <p>
348 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.
349 <p>
350 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>.
351 <p>
352 References <a class="el" href="channels_8cpp-source.html#l00111">custom_mode_params</a>.
353 <p>
354 <div class="fragment"><pre>00188 {
355 00189         <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#a38">custom_mode_params</a>.size())
356 00190         {
357 00191                 <span class="keywordflow">for</span> (vector&lt;ModeParameter&gt;::iterator i = <a class="code" href="channels_8cpp.html#a38">custom_mode_params</a>.begin(); i &lt; <a class="code" href="channels_8cpp.html#a38">custom_mode_params</a>.end(); i++)
358 00192                 {
359 00193                         <span class="keywordflow">if</span> ((i-&gt;mode == mode) &amp;&amp; (!strcasecmp(this-&gt;name,i-&gt;channel)))
360 00194                         {
361 00195                                 <span class="keywordflow">return</span> i-&gt;parameter;
362 00196                         }
363 00197                 }
364 00198         }
365 00199         <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
366 00200 }
367 </pre></div>    </td>
368   </tr>
369 </table>
370 <a name="a6" doxytag="chanrec::GetUserCounter"></a><p>
371 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
372   <tr>
373     <td class="mdRow">
374       <table cellpadding="0" cellspacing="0" border="0">
375         <tr>
376           <td class="md" nowrap valign="top"> long chanrec::GetUserCounter </td>
377           <td class="md" valign="top">(&nbsp;</td>
378           <td class="mdname1" valign="top" nowrap>          </td>
379           <td class="md" valign="top">&nbsp;)&nbsp;</td>
380           <td class="md" nowrap></td>
381         </tr>
382
383       </table>
384     </td>
385   </tr>
386 </table>
387 <table cellspacing=5 cellpadding=0 border=0>
388   <tr>
389     <td>
390       &nbsp;
391     </td>
392     <td>
393
394 <p>
395 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. 
396 <p>
397
398 <p>
399 Definition at line <a class="el" href="channels_8cpp-source.html#l00210">210</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
400 <p>
401 References <a class="el" href="channels_8h-source.html#l00112">internal_userlist</a>.
402 <p>
403 <div class="fragment"><pre>00211 {
404 00212         <span class="keywordflow">return</span> (this-&gt;<a class="code" href="classchanrec.html#o3">internal_userlist</a>.size());
405 00213 }
406 </pre></div>    </td>
407   </tr>
408 </table>
409 <a name="a9" doxytag="chanrec::GetUsers"></a><p>
410 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
411   <tr>
412     <td class="mdRow">
413       <table cellpadding="0" cellspacing="0" border="0">
414         <tr>
415           <td class="md" nowrap valign="top"> std::vector&lt; char * &gt; * chanrec::GetUsers </td>
416           <td class="md" valign="top">(&nbsp;</td>
417           <td class="mdname1" valign="top" nowrap>          </td>
418           <td class="md" valign="top">&nbsp;)&nbsp;</td>
419           <td class="md" nowrap></td>
420         </tr>
421
422       </table>
423     </td>
424   </tr>
425 </table>
426 <table cellspacing=5 cellpadding=0 border=0>
427   <tr>
428     <td>
429       &nbsp;
430     </td>
431     <td>
432
433 <p>
434 Obrain the internal reference list The internal reference list contains a list of userrec* cast to char*. 
435 <p>
436 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.
437 <p>
438 Definition at line <a class="el" href="channels_8cpp-source.html#l00235">235</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
439 <p>
440 References <a class="el" href="channels_8h-source.html#l00112">internal_userlist</a>.
441 <p>
442 Referenced by <a class="el" href="modules_8cpp-source.html#l00466">Server::GetUsers()</a>.
443 <p>
444 <div class="fragment"><pre>00236 {
445 00237         <span class="keywordflow">return</span> &amp;<a class="code" href="classchanrec.html#o3">internal_userlist</a>;
446 00238 }
447 </pre></div>    </td>
448   </tr>
449 </table>
450 <a name="a4" doxytag="chanrec::IncUserCounter"></a><p>
451 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
452   <tr>
453     <td class="mdRow">
454       <table cellpadding="0" cellspacing="0" border="0">
455         <tr>
456           <td class="md" nowrap valign="top"> void chanrec::IncUserCounter </td>
457           <td class="md" valign="top">(&nbsp;</td>
458           <td class="mdname1" valign="top" nowrap>          </td>
459           <td class="md" valign="top">&nbsp;)&nbsp;</td>
460           <td class="md" nowrap></td>
461         </tr>
462
463       </table>
464     </td>
465   </tr>
466 </table>
467 <table cellspacing=5 cellpadding=0 border=0>
468   <tr>
469     <td>
470       &nbsp;
471     </td>
472     <td>
473
474 <p>
475 Increment the channel "user counter" The channel user counter is a reference counter which holds the number of users on the channel. 
476 <p>
477 If it decremented to 0 then the channel is removed from the system.
478 <p>
479 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>.
480 <p>
481 <div class="fragment"><pre>00203 {
482 00204 }
483 </pre></div>    </td>
484   </tr>
485 </table>
486 <a name="a2" doxytag="chanrec::IsCustomModeSet"></a><p>
487 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
488   <tr>
489     <td class="mdRow">
490       <table cellpadding="0" cellspacing="0" border="0">
491         <tr>
492           <td class="md" nowrap valign="top"> bool chanrec::IsCustomModeSet </td>
493           <td class="md" valign="top">(&nbsp;</td>
494           <td class="md" nowrap valign="top">char&nbsp;</td>
495           <td class="mdname1" valign="top" nowrap> <em>mode</em>          </td>
496           <td class="md" valign="top">&nbsp;)&nbsp;</td>
497           <td class="md" nowrap></td>
498         </tr>
499
500       </table>
501     </td>
502   </tr>
503 </table>
504 <table cellspacing=5 cellpadding=0 border=0>
505   <tr>
506     <td>
507       &nbsp;
508     </td>
509     <td>
510
511 <p>
512 Returns true if a custom mode is set on a channel. 
513 <p>
514
515 <p>
516 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>.
517 <p>
518 References <a class="el" href="modules_8h-source.html#l00023">DEBUG</a>.
519 <p>
520 <div class="fragment"><pre>00182 {
521 00183         log(DEBUG,<span class="stringliteral">"Checking ISCustomModeSet: %c %s"</span>,mode,this-&gt;custom_modes);
522 00184         <span class="keywordflow">return</span> (strchr(this-&gt;custom_modes,mode) != 0);
523 00185 }
524 </pre></div>    </td>
525   </tr>
526 </table>
527 <a name="a0" doxytag="chanrec::SetCustomMode"></a><p>
528 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
529   <tr>
530     <td class="mdRow">
531       <table cellpadding="0" cellspacing="0" border="0">
532         <tr>
533           <td class="md" nowrap valign="top"> void chanrec::SetCustomMode </td>
534           <td class="md" valign="top">(&nbsp;</td>
535           <td class="md" nowrap valign="top">char&nbsp;</td>
536           <td class="mdname" nowrap> <em>mode</em>, </td>
537         </tr>
538         <tr>
539           <td></td>
540           <td></td>
541           <td class="md" nowrap>bool&nbsp;</td>
542           <td class="mdname" nowrap> <em>mode_on</em></td>
543         </tr>
544         <tr>
545           <td></td>
546           <td class="md">)&nbsp;</td>
547           <td class="md" colspan="2"></td>
548         </tr>
549
550       </table>
551     </td>
552   </tr>
553 </table>
554 <table cellspacing=5 cellpadding=0 border=0>
555   <tr>
556     <td>
557       &nbsp;
558     </td>
559     <td>
560
561 <p>
562 Sets or unsets a custom mode in the channels info. 
563 <p>
564
565 <p>
566 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>.
567 <p>
568 References <a class="el" href="channels_8h-source.html#l00103">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>.
569 <p>
570 <div class="fragment"><pre>00126 {
571 00127         <span class="keywordflow">if</span> (mode_on) {
572 00128                 <span class="keyword">static</span> <span class="keywordtype">char</span> m[3];
573 00129                 m[0] = mode;
574 00130                 m[1] = <span class="charliteral">'\0'</span>;
575 00131                 <span class="keywordflow">if</span> (!strchr(this-&gt;custom_modes,mode))
576 00132                 {
577 00133                         strlcat(custom_modes,m,MAXMODES);
578 00134                 }
579 00135                 log(DEBUG,<span class="stringliteral">"Custom mode %c set"</span>,mode);
580 00136         }
581 00137         <span class="keywordflow">else</span> {
582 00138 
583 00139                 std::string a = this-&gt;<a class="code" href="classchanrec.html#o1">custom_modes</a>;
584 00140                 <span class="keywordtype">int</span> pos = a.find(mode);
585 00141                 a.erase(pos,1);
586 00142                 strncpy(this-&gt;custom_modes,a.c_str(),MAXMODES);
587 00143 
588 00144                 log(DEBUG,<span class="stringliteral">"Custom mode %c removed: modelist='%s'"</span>,mode,this-&gt;custom_modes);
589 00145                 this-&gt;<a class="code" href="classchanrec.html#a1">SetCustomModeParam</a>(mode,<span class="stringliteral">""</span>,<span class="keyword">false</span>);
590 00146         }
591 00147 }
592 </pre></div>    </td>
593   </tr>
594 </table>
595 <a name="a1" doxytag="chanrec::SetCustomModeParam"></a><p>
596 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
597   <tr>
598     <td class="mdRow">
599       <table cellpadding="0" cellspacing="0" border="0">
600         <tr>
601           <td class="md" nowrap valign="top"> void chanrec::SetCustomModeParam </td>
602           <td class="md" valign="top">(&nbsp;</td>
603           <td class="md" nowrap valign="top">char&nbsp;</td>
604           <td class="mdname" nowrap> <em>mode</em>, </td>
605         </tr>
606         <tr>
607           <td></td>
608           <td></td>
609           <td class="md" nowrap>char *&nbsp;</td>
610           <td class="mdname" nowrap> <em>parameter</em>, </td>
611         </tr>
612         <tr>
613           <td></td>
614           <td></td>
615           <td class="md" nowrap>bool&nbsp;</td>
616           <td class="mdname" nowrap> <em>mode_on</em></td>
617         </tr>
618         <tr>
619           <td></td>
620           <td class="md">)&nbsp;</td>
621           <td class="md" colspan="2"></td>
622         </tr>
623
624       </table>
625     </td>
626   </tr>
627 </table>
628 <table cellspacing=5 cellpadding=0 border=0>
629   <tr>
630     <td>
631       &nbsp;
632     </td>
633     <td>
634
635 <p>
636 Sets or unsets the parameters for a custom mode in a channels info. 
637 <p>
638
639 <p>
640 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>.
641 <p>
642 References <a class="el" href="channels_8h-source.html#l00075">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#l00073">ModeParameter::mode</a>, and <a class="el" href="channels_8h-source.html#l00074">ModeParameter::parameter</a>.
643 <p>
644 Referenced by <a class="el" href="channels_8cpp-source.html#l00125">SetCustomMode()</a>.
645 <p>
646 <div class="fragment"><pre>00151 {
647 00152 
648 00153         log(DEBUG,<span class="stringliteral">"SetCustomModeParam called"</span>);
649 00154         <a class="code" href="classModeParameter.html">ModeParameter</a> M;
650 00155         M.<a class="code" href="classModeParameter.html#o0">mode</a> = mode;
651 00156         strlcpy(M.<a class="code" href="classModeParameter.html#o2">channel</a>,this-&gt;name,CHANMAX);
652 00157         strlcpy(M.<a class="code" href="classModeParameter.html#o1">parameter</a>,parameter,MAXBUF);
653 00158         <span class="keywordflow">if</span> (mode_on)
654 00159         {
655 00160                 log(DEBUG,<span class="stringliteral">"Custom mode parameter %c %s added"</span>,mode,parameter);
656 00161                 <a class="code" href="channels_8cpp.html#a38">custom_mode_params</a>.push_back(M);
657 00162         }
658 00163         <span class="keywordflow">else</span>
659 00164         {
660 00165                 <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#a38">custom_mode_params</a>.size())
661 00166                 {
662 00167                         <span class="keywordflow">for</span> (vector&lt;ModeParameter&gt;::iterator i = <a class="code" href="channels_8cpp.html#a38">custom_mode_params</a>.begin(); i &lt; <a class="code" href="channels_8cpp.html#a38">custom_mode_params</a>.end(); i++)
663 00168                         {
664 00169                                 <span class="keywordflow">if</span> ((i-&gt;mode == mode) &amp;&amp; (!strcasecmp(this-&gt;name,i-&gt;channel)))
665 00170                                 {
666 00171                                         log(DEBUG,<span class="stringliteral">"Custom mode parameter %c %s removed"</span>,mode,parameter);
667 00172                                         <a class="code" href="channels_8cpp.html#a38">custom_mode_params</a>.erase(i);
668 00173                                         <span class="keywordflow">return</span>;
669 00174                                 }
670 00175                         }
671 00176                 }
672 00177                 log(DEBUG,<span class="stringliteral">"*** BUG *** Attempt to remove non-existent mode parameter!"</span>);
673 00178         }
674 00179 }
675 </pre></div>    </td>
676   </tr>
677 </table>
678 <hr><h2>Member Data Documentation</h2>
679 <a name="o16" doxytag="chanrec::bans"></a><p>
680 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
681   <tr>
682     <td class="mdRow">
683       <table cellpadding="0" cellspacing="0" border="0">
684         <tr>
685           <td class="md" nowrap valign="top"> <a class="el" href="channels_8h.html#a5">BanList</a> <a class="el" href="classchanrec.html#o16">chanrec::bans</a>
686       </table>
687     </td>
688   </tr>
689 </table>
690 <table cellspacing=5 cellpadding=0 border=0>
691   <tr>
692     <td>
693       &nbsp;
694     </td>
695     <td>
696
697 <p>
698 The list of all bans set on the channel. 
699 <p>
700
701 <p>
702 Definition at line <a class="el" href="channels_8h-source.html#l00168">168</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.    </td>
703   </tr>
704 </table>
705 <a name="o15" doxytag="chanrec::c_private"></a><p>
706 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
707   <tr>
708     <td class="mdRow">
709       <table cellpadding="0" cellspacing="0" border="0">
710         <tr>
711           <td class="md" nowrap valign="top"> short int <a class="el" href="classchanrec.html#o15">chanrec::c_private</a>
712       </table>
713     </td>
714   </tr>
715 </table>
716 <table cellspacing=5 cellpadding=0 border=0>
717   <tr>
718     <td>
719       &nbsp;
720     </td>
721     <td>
722
723 <p>
724 Nonzero if the mode +p is set. 
725 <p>
726 This value cannot be set at the same time as <a class="el" href="classchanrec.html#o14">chanrec::secret</a>
727 <p>
728 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>.
729 <p>
730 Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>.    </td>
731   </tr>
732 </table>
733 <a name="o5" doxytag="chanrec::created"></a><p>
734 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
735   <tr>
736     <td class="mdRow">
737       <table cellpadding="0" cellspacing="0" border="0">
738         <tr>
739           <td class="md" nowrap valign="top"> time_t <a class="el" href="classchanrec.html#o5">chanrec::created</a>
740       </table>
741     </td>
742   </tr>
743 </table>
744 <table cellspacing=5 cellpadding=0 border=0>
745   <tr>
746     <td>
747       &nbsp;
748     </td>
749     <td>
750
751 <p>
752 Creation time. 
753 <p>
754
755 <p>
756 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>.
757 <p>
758 Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>.    </td>
759   </tr>
760 </table>
761 <a name="o1" doxytag="chanrec::custom_modes"></a><p>
762 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
763   <tr>
764     <td class="mdRow">
765       <table cellpadding="0" cellspacing="0" border="0">
766         <tr>
767           <td class="md" nowrap valign="top"> char <a class="el" href="classchanrec.html#o1">chanrec::custom_modes</a>[MAXMODES]
768       </table>
769     </td>
770   </tr>
771 </table>
772 <table cellspacing=5 cellpadding=0 border=0>
773   <tr>
774     <td>
775       &nbsp;
776     </td>
777     <td>
778
779 <p>
780 Custom modes for the channel. 
781 <p>
782 Plugins may use this field in any way they see fit.
783 <p>
784 Definition at line <a class="el" href="channels_8h-source.html#l00103">103</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
785 <p>
786 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>
787   </tr>
788 </table>
789 <a name="o3" doxytag="chanrec::internal_userlist"></a><p>
790 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
791   <tr>
792     <td class="mdRow">
793       <table cellpadding="0" cellspacing="0" border="0">
794         <tr>
795           <td class="md" nowrap valign="top"> std::vector&lt;char*&gt; <a class="el" href="classchanrec.html#o3">chanrec::internal_userlist</a>
796       </table>
797     </td>
798   </tr>
799 </table>
800 <table cellspacing=5 cellpadding=0 border=0>
801   <tr>
802     <td>
803       &nbsp;
804     </td>
805     <td>
806
807 <p>
808 User list (casted to char*'s to stop forward declaration stuff) (chicken and egg scenario!). 
809 <p>
810
811 <p>
812 Definition at line <a class="el" href="channels_8h-source.html#l00112">112</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
813 <p>
814 Referenced by <a class="el" href="channels_8cpp-source.html#l00215">AddUser()</a>, <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>, <a class="el" href="channels_8cpp-source.html#l00221">DelUser()</a>, <a class="el" href="channels_8cpp-source.html#l00210">GetUserCounter()</a>, and <a class="el" href="channels_8cpp-source.html#l00235">GetUsers()</a>.    </td>
815   </tr>
816 </table>
817 <a name="o12" doxytag="chanrec::inviteonly"></a><p>
818 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
819   <tr>
820     <td class="mdRow">
821       <table cellpadding="0" cellspacing="0" border="0">
822         <tr>
823           <td class="md" nowrap valign="top"> short int <a class="el" href="classchanrec.html#o12">chanrec::inviteonly</a>
824       </table>
825     </td>
826   </tr>
827 </table>
828 <table cellspacing=5 cellpadding=0 border=0>
829   <tr>
830     <td>
831       &nbsp;
832     </td>
833     <td>
834
835 <p>
836 Nonzero if the mode +i is set. 
837 <p>
838
839 <p>
840 Definition at line <a class="el" href="channels_8h-source.html#l00150">150</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
841 <p>
842 Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>.    </td>
843   </tr>
844 </table>
845 <a name="o9" doxytag="chanrec::key"></a><p>
846 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
847   <tr>
848     <td class="mdRow">
849       <table cellpadding="0" cellspacing="0" border="0">
850         <tr>
851           <td class="md" nowrap valign="top"> char <a class="el" href="classchanrec.html#o9">chanrec::key</a>[32]
852       </table>
853     </td>
854   </tr>
855 </table>
856 <table cellspacing=5 cellpadding=0 border=0>
857   <tr>
858     <td>
859       &nbsp;
860     </td>
861     <td>
862
863 <p>
864 Contains the channel key. 
865 <p>
866 If this value is an empty string, there is no channel key in place.
867 <p>
868 Definition at line <a class="el" href="channels_8h-source.html#l00138">138</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
869 <p>
870 Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>.    </td>
871   </tr>
872 </table>
873 <a name="o8" doxytag="chanrec::limit"></a><p>
874 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
875   <tr>
876     <td class="mdRow">
877       <table cellpadding="0" cellspacing="0" border="0">
878         <tr>
879           <td class="md" nowrap valign="top"> long <a class="el" href="classchanrec.html#o8">chanrec::limit</a>
880       </table>
881     </td>
882   </tr>
883 </table>
884 <table cellspacing=5 cellpadding=0 border=0>
885   <tr>
886     <td>
887       &nbsp;
888     </td>
889     <td>
890
891 <p>
892 Contains the channel user limit. 
893 <p>
894 If this value is zero, there is no limit in place.
895 <p>
896 Definition at line <a class="el" href="channels_8h-source.html#l00133">133</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
897 <p>
898 Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>.    </td>
899   </tr>
900 </table>
901 <a name="o13" doxytag="chanrec::moderated"></a><p>
902 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
903   <tr>
904     <td class="mdRow">
905       <table cellpadding="0" cellspacing="0" border="0">
906         <tr>
907           <td class="md" nowrap valign="top"> short int <a class="el" href="classchanrec.html#o13">chanrec::moderated</a>
908       </table>
909     </td>
910   </tr>
911 </table>
912 <table cellspacing=5 cellpadding=0 border=0>
913   <tr>
914     <td>
915       &nbsp;
916     </td>
917     <td>
918
919 <p>
920 Nonzero if the mode +m is set. 
921 <p>
922
923 <p>
924 Definition at line <a class="el" href="channels_8h-source.html#l00154">154</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
925 <p>
926 Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>.    </td>
927   </tr>
928 </table>
929 <a name="o0" doxytag="chanrec::name"></a><p>
930 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
931   <tr>
932     <td class="mdRow">
933       <table cellpadding="0" cellspacing="0" border="0">
934         <tr>
935           <td class="md" nowrap valign="top"> char <a class="el" href="classchanrec.html#o0">chanrec::name</a>[CHANMAX]
936       </table>
937     </td>
938   </tr>
939 </table>
940 <table cellspacing=5 cellpadding=0 border=0>
941   <tr>
942     <td>
943       &nbsp;
944     </td>
945     <td>
946
947 <p>
948 The channels name. 
949 <p>
950
951 <p>
952 Definition at line <a class="el" href="channels_8h-source.html#l00099">99</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
953 <p>
954 Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>, <a class="el" href="channels_8cpp-source.html#l00221">DelUser()</a>, and <a class="el" href="modules_8cpp-source.html#l00699">Server::PseudoToUser()</a>.    </td>
955   </tr>
956 </table>
957 <a name="o11" doxytag="chanrec::noexternal"></a><p>
958 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
959   <tr>
960     <td class="mdRow">
961       <table cellpadding="0" cellspacing="0" border="0">
962         <tr>
963           <td class="md" nowrap valign="top"> short int <a class="el" href="classchanrec.html#o11">chanrec::noexternal</a>
964       </table>
965     </td>
966   </tr>
967 </table>
968 <table cellspacing=5 cellpadding=0 border=0>
969   <tr>
970     <td>
971       &nbsp;
972     </td>
973     <td>
974
975 <p>
976 Nonzero if the mode +n is set. 
977 <p>
978
979 <p>
980 Definition at line <a class="el" href="channels_8h-source.html#l00146">146</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
981 <p>
982 Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>.    </td>
983   </tr>
984 </table>
985 <a name="o14" doxytag="chanrec::secret"></a><p>
986 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
987   <tr>
988     <td class="mdRow">
989       <table cellpadding="0" cellspacing="0" border="0">
990         <tr>
991           <td class="md" nowrap valign="top"> short int <a class="el" href="classchanrec.html#o14">chanrec::secret</a>
992       </table>
993     </td>
994   </tr>
995 </table>
996 <table cellspacing=5 cellpadding=0 border=0>
997   <tr>
998     <td>
999       &nbsp;
1000     </td>
1001     <td>
1002
1003 <p>
1004 Nonzero if the mode +s is set. 
1005 <p>
1006 This value cannot be set at the same time as <a class="el" href="classchanrec.html#o15">chanrec::c_private</a>
1007 <p>
1008 Definition at line <a class="el" href="channels_8h-source.html#l00159">159</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
1009 <p>
1010 Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>.    </td>
1011   </tr>
1012 </table>
1013 <a name="o7" doxytag="chanrec::setby"></a><p>
1014 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1015   <tr>
1016     <td class="mdRow">
1017       <table cellpadding="0" cellspacing="0" border="0">
1018         <tr>
1019           <td class="md" nowrap valign="top"> char <a class="el" href="classchanrec.html#o7">chanrec::setby</a>[NICKMAX]
1020       </table>
1021     </td>
1022   </tr>
1023 </table>
1024 <table cellspacing=5 cellpadding=0 border=0>
1025   <tr>
1026     <td>
1027       &nbsp;
1028     </td>
1029     <td>
1030
1031 <p>
1032 The last user to set the topic. 
1033 <p>
1034 If this member is an empty string, no topic was ever set.
1035 <p>
1036 Definition at line <a class="el" href="channels_8h-source.html#l00128">128</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
1037 <p>
1038 Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>, and <a class="el" href="modules_8cpp-source.html#l00699">Server::PseudoToUser()</a>.    </td>
1039   </tr>
1040 </table>
1041 <a name="o4" doxytag="chanrec::topic"></a><p>
1042 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1043   <tr>
1044     <td class="mdRow">
1045       <table cellpadding="0" cellspacing="0" border="0">
1046         <tr>
1047           <td class="md" nowrap valign="top"> char <a class="el" href="classchanrec.html#o4">chanrec::topic</a>[MAXBUF]
1048       </table>
1049     </td>
1050   </tr>
1051 </table>
1052 <table cellspacing=5 cellpadding=0 border=0>
1053   <tr>
1054     <td>
1055       &nbsp;
1056     </td>
1057     <td>
1058
1059 <p>
1060 Channel topic. 
1061 <p>
1062 If this is an empty string, no channel topic is set.
1063 <p>
1064 Definition at line <a class="el" href="channels_8h-source.html#l00117">117</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
1065 <p>
1066 Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>, and <a class="el" href="modules_8cpp-source.html#l00699">Server::PseudoToUser()</a>.    </td>
1067   </tr>
1068 </table>
1069 <a name="o10" doxytag="chanrec::topiclock"></a><p>
1070 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1071   <tr>
1072     <td class="mdRow">
1073       <table cellpadding="0" cellspacing="0" border="0">
1074         <tr>
1075           <td class="md" nowrap valign="top"> short int <a class="el" href="classchanrec.html#o10">chanrec::topiclock</a>
1076       </table>
1077     </td>
1078   </tr>
1079 </table>
1080 <table cellspacing=5 cellpadding=0 border=0>
1081   <tr>
1082     <td>
1083       &nbsp;
1084     </td>
1085     <td>
1086
1087 <p>
1088 Nonzero if the mode +t is set. 
1089 <p>
1090
1091 <p>
1092 Definition at line <a class="el" href="channels_8h-source.html#l00142">142</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
1093 <p>
1094 Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>.    </td>
1095   </tr>
1096 </table>
1097 <a name="o6" doxytag="chanrec::topicset"></a><p>
1098 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1099   <tr>
1100     <td class="mdRow">
1101       <table cellpadding="0" cellspacing="0" border="0">
1102         <tr>
1103           <td class="md" nowrap valign="top"> time_t <a class="el" href="classchanrec.html#o6">chanrec::topicset</a>
1104       </table>
1105     </td>
1106   </tr>
1107 </table>
1108 <table cellspacing=5 cellpadding=0 border=0>
1109   <tr>
1110     <td>
1111       &nbsp;
1112     </td>
1113     <td>
1114
1115 <p>
1116 Time topic was set. 
1117 <p>
1118 If no topic was ever set, this will be equal to <a class="el" href="classchanrec.html#o5">chanrec::created</a>
1119 <p>
1120 Definition at line <a class="el" href="channels_8h-source.html#l00124">124</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
1121 <p>
1122 Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>, and <a class="el" href="modules_8cpp-source.html#l00699">Server::PseudoToUser()</a>.    </td>
1123   </tr>
1124 </table>
1125 <a name="o2" doxytag="chanrec::users"></a><p>
1126 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1127   <tr>
1128     <td class="mdRow">
1129       <table cellpadding="0" cellspacing="0" border="0">
1130         <tr>
1131           <td class="md" nowrap valign="top"> long <a class="el" href="classchanrec.html#o2">chanrec::users</a>
1132       </table>
1133     </td>
1134   </tr>
1135 </table>
1136 <table cellspacing=5 cellpadding=0 border=0>
1137   <tr>
1138     <td>
1139       &nbsp;
1140     </td>
1141     <td>
1142
1143 <p>
1144 Count of users on the channel used for fast user counting. 
1145 <p>
1146
1147 <p>
1148 Definition at line <a class="el" href="channels_8h-source.html#l00107">107</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
1149 <p>
1150 Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>.    </td>
1151   </tr>
1152 </table>
1153 <hr>The documentation for this class was generated from the following files:<ul>
1154 <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>
1155 <hr size="1"><address style="align: right;"><small>Generated on Thu May 12 02:25:18 2005 for InspIRCd by
1156 <a href="http://www.doxygen.org/index.html">
1157 <img src="doxygen.png" alt="doxygen" align="middle" border=0 > 
1158 </a>1.3.3 </small></address>
1159 </body>
1160 </html>