]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - docs/module-doc/classchanrec.html
Changed documentation to add parameters
[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.doxygen.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="namespacemembers.html">Namespace&nbsp;Members</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 Inheritance diagram for chanrec:<p><center><img src="classchanrec__inherit__graph.gif" border="0" usemap="#chanrec__inherit__map" alt="Inheritance graph"></center>
14 <map name="chanrec__inherit__map">
15 <area href="classExtensible.html" shape="rect" coords="8,82,90,109" alt="">
16 <area href="classclassbase.html" shape="rect" coords="9,8,89,34" alt="">
17 </map>
18 <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for chanrec:<p><center><img src="classchanrec__coll__graph.gif" border="0" usemap="#chanrec__coll__map" alt="Collaboration graph"></center>
19 <map name="chanrec__coll__map">
20 <area href="classExtensible.html" shape="rect" coords="69,205,152,232" alt="">
21 <area href="classclassbase.html" shape="rect" coords="69,98,149,125" alt="">
22 </map>
23 <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classchanrec-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
24 <tr><td></td></tr>
25 <tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
26 <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>
27
28 <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>
29 <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>
30
31 <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>
32 <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>
33
34 <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>
35 <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>
36
37 <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>
38 <tr><td class="memItemLeft" nowrap align=right valign=top>long&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#a4">GetUserCounter</a> ()</td></tr>
39
40 <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="#a4"></a><em><br><br></td></tr>
41 <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#a5">AddUser</a> (char *castuser)</td></tr>
42
43 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a user pointer to the internal reference list. </em> <a href="#a5"></a><em><br><br></td></tr>
44 <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#a6">DelUser</a> (char *castuser)</td></tr>
45
46 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete a user pointer to the internal reference list. </em> <a href="#a6"></a><em><br><br></td></tr>
47 <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#a7">GetUsers</a> ()</td></tr>
48
49 <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="#a7"></a><em><br><br></td></tr>
50 <tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#a8">chanrec</a> ()</td></tr>
51
52 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a channel record and initialises it with default values. </em> <a href="#a8"></a><em><br><br></td></tr>
53 <tr><td class="memItemLeft" nowrap align=right valign=top>virtual&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#a9">~chanrec</a> ()</td></tr>
54
55 <tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
56 <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>
57
58 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The channels name. </em> <a href="#o0"></a><em><br><br></td></tr>
59 <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>
60
61 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Custom modes for the channel. </em> <a href="#o1"></a><em><br><br></td></tr>
62 <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#o2">internal_userlist</a></td></tr>
63
64 <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="#o2"></a><em><br><br></td></tr>
65 <tr><td class="memItemLeft" nowrap align=right valign=top>char&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o3">topic</a> [MAXBUF]</td></tr>
66
67 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Channel topic. </em> <a href="#o3"></a><em><br><br></td></tr>
68 <tr><td class="memItemLeft" nowrap align=right valign=top>time_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o4">created</a></td></tr>
69
70 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creation time. </em> <a href="#o4"></a><em><br><br></td></tr>
71 <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">topicset</a></td></tr>
72
73 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Time topic was set. </em> <a href="#o5"></a><em><br><br></td></tr>
74 <tr><td class="memItemLeft" nowrap align=right valign=top>char&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o6">setby</a> [NICKMAX]</td></tr>
75
76 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The last user to set the topic. </em> <a href="#o6"></a><em><br><br></td></tr>
77 <tr><td class="memItemLeft" nowrap align=right valign=top>short int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o7">limit</a></td></tr>
78
79 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Contains the channel user limit. </em> <a href="#o7"></a><em><br><br></td></tr>
80 <tr><td class="memItemLeft" nowrap align=right valign=top>char&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o8">key</a> [32]</td></tr>
81
82 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Contains the channel key. </em> <a href="#o8"></a><em><br><br></td></tr>
83 <tr><td class="memItemLeft" nowrap align=right valign=top>char&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o9">binarymodes</a></td></tr>
84
85 <tr><td class="mdescLeft">&nbsp;</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>
86 <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="channels_8h.html#a11">BanList</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o10">bans</a></td></tr>
87
88 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The list of all bans set on the channel. </em> <a href="#o10"></a><em><br><br></td></tr>
89 </table>
90 <hr><a name="_details"></a><h2>Detailed Description</h2>
91 Holds all relevent information for a channel. 
92 <p>
93 This class represents a channel, and contains its name, modes, time created, topic, topic set time, etc, and an instance of the BanList type. 
94 <p>
95
96 <p>
97 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 &amp; Destructor Documentation</h2>
98 <a name="a8" doxytag="chanrec::chanrec"></a><p>
99 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
100   <tr>
101     <td class="mdRow">
102       <table cellpadding="0" cellspacing="0" border="0">
103         <tr>
104           <td class="md" nowrap valign="top"> chanrec::chanrec </td>
105           <td class="md" valign="top">(&nbsp;</td>
106           <td class="mdname1" valign="top" nowrap>          </td>
107           <td class="md" valign="top">&nbsp;)&nbsp;</td>
108           <td class="md" nowrap></td>
109         </tr>
110
111       </table>
112     </td>
113   </tr>
114 </table>
115 <table cellspacing=5 cellpadding=0 border=0>
116   <tr>
117     <td>
118       &nbsp;
119     </td>
120     <td>
121
122 <p>
123 Creates a channel record and initialises it with default values. 
124 <p>
125
126 <p>
127 Definition at line <a class="el" href="channels_8cpp-source.html#l00107">107</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
128 <p>
129 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>.
130 <p>
131 <div class="fragment"><pre>00108 {
132 00109         strcpy(name,<span class="stringliteral">""</span>);
133 00110         strcpy(custom_modes,<span class="stringliteral">""</span>);
134 00111         strcpy(topic,<span class="stringliteral">""</span>);
135 00112         strcpy(setby,<span class="stringliteral">""</span>);
136 00113         strcpy(key,<span class="stringliteral">""</span>);
137 00114         <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;
138 00115         <a class="code" href="classchanrec.html#o9">binarymodes</a> = 0;
139 00116         <a class="code" href="classchanrec.html#o2">internal_userlist</a>.clear();
140 00117 }
141 </pre></div>    </td>
142   </tr>
143 </table>
144 <a name="a9" doxytag="chanrec::~chanrec"></a><p>
145 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
146   <tr>
147     <td class="mdRow">
148       <table cellpadding="0" cellspacing="0" border="0">
149         <tr>
150           <td class="md" nowrap valign="top"> virtual chanrec::~<a class="el" href="classchanrec.html">chanrec</a> </td>
151           <td class="md" valign="top">(&nbsp;</td>
152           <td class="mdname1" valign="top" nowrap>          </td>
153           <td class="md" valign="top">&nbsp;)&nbsp;</td>
154           <td class="md" nowrap><code> [inline, virtual]</code></td>
155         </tr>
156
157       </table>
158     </td>
159   </tr>
160 </table>
161 <table cellspacing=5 cellpadding=0 border=0>
162   <tr>
163     <td>
164       &nbsp;
165     </td>
166     <td>
167
168 <p>
169
170 <p>
171 Definition at line <a class="el" href="channels_8h-source.html#l00224">224</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
172 <p>
173 <div class="fragment"><pre>00224 { <span class="comment">/* stub */</span> }
174 </pre></div>    </td>
175   </tr>
176 </table>
177 <hr><h2>Member Function Documentation</h2>
178 <a name="a5" doxytag="chanrec::AddUser"></a><p>
179 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
180   <tr>
181     <td class="mdRow">
182       <table cellpadding="0" cellspacing="0" border="0">
183         <tr>
184           <td class="md" nowrap valign="top"> void chanrec::AddUser </td>
185           <td class="md" valign="top">(&nbsp;</td>
186           <td class="md" nowrap valign="top">char *&nbsp;</td>
187           <td class="mdname1" valign="top" nowrap> <em>castuser</em>          </td>
188           <td class="md" valign="top">&nbsp;)&nbsp;</td>
189           <td class="md" nowrap></td>
190         </tr>
191
192       </table>
193     </td>
194   </tr>
195 </table>
196 <table cellspacing=5 cellpadding=0 border=0>
197   <tr>
198     <td>
199       &nbsp;
200     </td>
201     <td>
202
203 <p>
204 Add a user pointer to the internal reference list. 
205 <p>
206 <dl compact><dt><b>Parameters:</b></dt><dd>
207   <table border="0" cellspacing="2" cellpadding="0">
208     <tr><td valign=top><em>castuser</em>&nbsp;</td><td>This should be a pointer to a userrec, casted to char*</td></tr>
209   </table>
210 </dl>
211 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.
212 <p>
213 Definition at line <a class="el" href="channels_8cpp-source.html#l00201">201</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
214 <p>
215 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>.
216 <p>
217 <div class="fragment"><pre>00202 {
218 00203         <a class="code" href="classchanrec.html#o2">internal_userlist</a>.push_back(castuser);
219 00204         log(DEBUG,<span class="stringliteral">"Added casted user to channel's internal list"</span>);
220 00205 }
221 </pre></div>    </td>
222   </tr>
223 </table>
224 <a name="a6" doxytag="chanrec::DelUser"></a><p>
225 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
226   <tr>
227     <td class="mdRow">
228       <table cellpadding="0" cellspacing="0" border="0">
229         <tr>
230           <td class="md" nowrap valign="top"> void chanrec::DelUser </td>
231           <td class="md" valign="top">(&nbsp;</td>
232           <td class="md" nowrap valign="top">char *&nbsp;</td>
233           <td class="mdname1" valign="top" nowrap> <em>castuser</em>          </td>
234           <td class="md" valign="top">&nbsp;)&nbsp;</td>
235           <td class="md" nowrap></td>
236         </tr>
237
238       </table>
239     </td>
240   </tr>
241 </table>
242 <table cellspacing=5 cellpadding=0 border=0>
243   <tr>
244     <td>
245       &nbsp;
246     </td>
247     <td>
248
249 <p>
250 Delete a user pointer to the internal reference list. 
251 <p>
252 <dl compact><dt><b>Parameters:</b></dt><dd>
253   <table border="0" cellspacing="2" cellpadding="0">
254     <tr><td valign=top><em>castuser</em>&nbsp;</td><td>This should be a pointer to a userrec, casted to char*</td></tr>
255   </table>
256 </dl>
257 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. 
258 <p>
259 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>.
260 <p>
261 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>.
262 <p>
263 <div class="fragment"><pre>00208 {
264 00209         <span class="keywordflow">for</span> (std::vector&lt;char*&gt;::iterator a = <a class="code" href="classchanrec.html#o2">internal_userlist</a>.begin(); a &lt; <a class="code" href="classchanrec.html#o2">internal_userlist</a>.end(); a++)
265 00210         {
266 00211                 <span class="keywordflow">if</span> (*a == castuser)
267 00212                 {
268 00213                         log(DEBUG,<span class="stringliteral">"Removed casted user from channel's internal list"</span>);
269 00214                         <a class="code" href="classchanrec.html#o2">internal_userlist</a>.erase(a);
270 00215                         <span class="keywordflow">return</span>;
271 00216                 }
272 00217         }
273 00218         log(DEBUG,<span class="stringliteral">"BUG BUG BUG! Attempt to remove an uncasted user from the internal list of %s!"</span>,name);
274 00219 }
275 </pre></div>    </td>
276   </tr>
277 </table>
278 <a name="a3" doxytag="chanrec::GetModeParameter"></a><p>
279 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
280   <tr>
281     <td class="mdRow">
282       <table cellpadding="0" cellspacing="0" border="0">
283         <tr>
284           <td class="md" nowrap valign="top"> std::string chanrec::GetModeParameter </td>
285           <td class="md" valign="top">(&nbsp;</td>
286           <td class="md" nowrap valign="top">char&nbsp;</td>
287           <td class="mdname1" valign="top" nowrap> <em>mode</em>          </td>
288           <td class="md" valign="top">&nbsp;)&nbsp;</td>
289           <td class="md" nowrap></td>
290         </tr>
291
292       </table>
293     </td>
294   </tr>
295 </table>
296 <table cellspacing=5 cellpadding=0 border=0>
297   <tr>
298     <td>
299       &nbsp;
300     </td>
301     <td>
302
303 <p>
304 Returns the parameter for a custom mode on a channel. 
305 <p>
306 <dl compact><dt><b>Parameters:</b></dt><dd>
307   <table border="0" cellspacing="2" cellpadding="0">
308     <tr><td valign=top><em>mode</em>&nbsp;</td><td>The mode character you wish to query</td></tr>
309   </table>
310 </dl>
311 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>
312 <dl compact><dt><b>Returns:</b></dt><dd>The parameter for this mode is returned, or an empty string</dd></dl>
313
314 <p>
315 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>.
316 <p>
317 References <a class="el" href="channels_8cpp-source.html#l00105">custom_mode_params</a>.
318 <p>
319 <div class="fragment"><pre>00182 {
320 00183         <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#a37">custom_mode_params</a>.size())
321 00184         {
322 00185                 <span class="keywordflow">for</span> (vector&lt;ModeParameter&gt;::iterator i = <a class="code" href="channels_8cpp.html#a37">custom_mode_params</a>.begin(); i &lt; <a class="code" href="channels_8cpp.html#a37">custom_mode_params</a>.end(); i++)
323 00186                 {
324 00187                         <span class="keywordflow">if</span> ((i-&gt;mode == mode) &amp;&amp; (!strcasecmp(this-&gt;name,i-&gt;channel)))
325 00188                         {
326 00189                                 <span class="keywordflow">return</span> i-&gt;parameter;
327 00190                         }
328 00191                 }
329 00192         }
330 00193         <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
331 00194 }
332 </pre></div>    </td>
333   </tr>
334 </table>
335 <a name="a4" doxytag="chanrec::GetUserCounter"></a><p>
336 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
337   <tr>
338     <td class="mdRow">
339       <table cellpadding="0" cellspacing="0" border="0">
340         <tr>
341           <td class="md" nowrap valign="top"> long chanrec::GetUserCounter </td>
342           <td class="md" valign="top">(&nbsp;</td>
343           <td class="mdname1" valign="top" nowrap>          </td>
344           <td class="md" valign="top">&nbsp;)&nbsp;</td>
345           <td class="md" nowrap></td>
346         </tr>
347
348       </table>
349     </td>
350   </tr>
351 </table>
352 <table cellspacing=5 cellpadding=0 border=0>
353   <tr>
354     <td>
355       &nbsp;
356     </td>
357     <td>
358
359 <p>
360 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. 
361 <p>
362 <dl compact><dt><b>Returns:</b></dt><dd>The number of users on this channel</dd></dl>
363
364 <p>
365 Definition at line <a class="el" href="channels_8cpp-source.html#l00196">196</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
366 <p>
367 References <a class="el" href="channels_8h-source.html#l00115">internal_userlist</a>.
368 <p>
369 <div class="fragment"><pre>00197 {
370 00198         <span class="keywordflow">return</span> (this-&gt;<a class="code" href="classchanrec.html#o2">internal_userlist</a>.size());
371 00199 }
372 </pre></div>    </td>
373   </tr>
374 </table>
375 <a name="a7" doxytag="chanrec::GetUsers"></a><p>
376 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
377   <tr>
378     <td class="mdRow">
379       <table cellpadding="0" cellspacing="0" border="0">
380         <tr>
381           <td class="md" nowrap valign="top"> std::vector&lt; char * &gt; * chanrec::GetUsers </td>
382           <td class="md" valign="top">(&nbsp;</td>
383           <td class="mdname1" valign="top" nowrap>          </td>
384           <td class="md" valign="top">&nbsp;)&nbsp;</td>
385           <td class="md" nowrap></td>
386         </tr>
387
388       </table>
389     </td>
390   </tr>
391 </table>
392 <table cellspacing=5 cellpadding=0 border=0>
393   <tr>
394     <td>
395       &nbsp;
396     </td>
397     <td>
398
399 <p>
400 Obrain the internal reference list The internal reference list contains a list of userrec* cast to char*. 
401 <p>
402 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>
403 <dl compact><dt><b>Returns:</b></dt><dd>This function returns a vector of userrec pointers, each of which has been casted to char* to prevent circular references</dd></dl>
404
405 <p>
406 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>.
407 <p>
408 References <a class="el" href="channels_8h-source.html#l00115">internal_userlist</a>.
409 <p>
410 Referenced by <a class="el" href="modules_8cpp-source.html#l00400">Server::GetUsers()</a>.
411 <p>
412 <div class="fragment"><pre>00222 {
413 00223         <span class="keywordflow">return</span> &amp;<a class="code" href="classchanrec.html#o2">internal_userlist</a>;
414 00224 }
415 </pre></div>    </td>
416   </tr>
417 </table>
418 <a name="a2" doxytag="chanrec::IsCustomModeSet"></a><p>
419 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
420   <tr>
421     <td class="mdRow">
422       <table cellpadding="0" cellspacing="0" border="0">
423         <tr>
424           <td class="md" nowrap valign="top"> bool chanrec::IsCustomModeSet </td>
425           <td class="md" valign="top">(&nbsp;</td>
426           <td class="md" nowrap valign="top">char&nbsp;</td>
427           <td class="mdname1" valign="top" nowrap> <em>mode</em>          </td>
428           <td class="md" valign="top">&nbsp;)&nbsp;</td>
429           <td class="md" nowrap></td>
430         </tr>
431
432       </table>
433     </td>
434   </tr>
435 </table>
436 <table cellspacing=5 cellpadding=0 border=0>
437   <tr>
438     <td>
439       &nbsp;
440     </td>
441     <td>
442
443 <p>
444 Returns true if a custom mode is set on a channel. 
445 <p>
446 <dl compact><dt><b>Parameters:</b></dt><dd>
447   <table border="0" cellspacing="2" cellpadding="0">
448     <tr><td valign=top><em>mode</em>&nbsp;</td><td>The mode character you wish to query </td></tr>
449   </table>
450 </dl>
451 <dl compact><dt><b>Returns:</b></dt><dd>True if the custom mode is set, false if otherwise</dd></dl>
452
453 <p>
454 Definition at line <a class="el" href="channels_8cpp-source.html#l00175">175</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
455 <p>
456 References <a class="el" href="modules_8h-source.html#l00023">DEBUG</a>.
457 <p>
458 <div class="fragment"><pre>00176 {
459 00177         log(DEBUG,<span class="stringliteral">"Checking ISCustomModeSet: %c %s"</span>,mode,this-&gt;custom_modes);
460 00178         <span class="keywordflow">return</span> (strchr(this-&gt;custom_modes,mode) != 0);
461 00179 }
462 </pre></div>    </td>
463   </tr>
464 </table>
465 <a name="a0" doxytag="chanrec::SetCustomMode"></a><p>
466 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
467   <tr>
468     <td class="mdRow">
469       <table cellpadding="0" cellspacing="0" border="0">
470         <tr>
471           <td class="md" nowrap valign="top"> void chanrec::SetCustomMode </td>
472           <td class="md" valign="top">(&nbsp;</td>
473           <td class="md" nowrap valign="top">char&nbsp;</td>
474           <td class="mdname" nowrap> <em>mode</em>, </td>
475         </tr>
476         <tr>
477           <td></td>
478           <td></td>
479           <td class="md" nowrap>bool&nbsp;</td>
480           <td class="mdname" nowrap> <em>mode_on</em></td>
481         </tr>
482         <tr>
483           <td></td>
484           <td class="md">)&nbsp;</td>
485           <td class="md" colspan="2"></td>
486         </tr>
487
488       </table>
489     </td>
490   </tr>
491 </table>
492 <table cellspacing=5 cellpadding=0 border=0>
493   <tr>
494     <td>
495       &nbsp;
496     </td>
497     <td>
498
499 <p>
500 Sets or unsets a custom mode in the channels info. 
501 <p>
502 <dl compact><dt><b>Parameters:</b></dt><dd>
503   <table border="0" cellspacing="2" cellpadding="0">
504     <tr><td valign=top><em>mode</em>&nbsp;</td><td>The mode character to set or unset </td></tr>
505     <tr><td valign=top><em>mode_on</em>&nbsp;</td><td>True if you want to set the mode or false if you want to remove it</td></tr>
506   </table>
507 </dl>
508
509 <p>
510 Definition at line <a class="el" href="channels_8cpp-source.html#l00119">119</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
511 <p>
512 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#l00144">SetCustomModeParam()</a>.
513 <p>
514 <div class="fragment"><pre>00120 {
515 00121         <span class="keywordflow">if</span> (mode_on) {
516 00122                 <span class="keyword">static</span> <span class="keywordtype">char</span> m[3];
517 00123                 m[0] = mode;
518 00124                 m[1] = <span class="charliteral">'\0'</span>;
519 00125                 <span class="keywordflow">if</span> (!strchr(this-&gt;custom_modes,mode))
520 00126                 {
521 00127                         strlcat(custom_modes,m,MAXMODES);
522 00128                 }
523 00129                 log(DEBUG,<span class="stringliteral">"Custom mode %c set"</span>,mode);
524 00130         }
525 00131         <span class="keywordflow">else</span> {
526 00132 
527 00133                 std::string a = this-&gt;<a class="code" href="classchanrec.html#o1">custom_modes</a>;
528 00134                 <span class="keywordtype">int</span> pos = a.find(mode);
529 00135                 a.erase(pos,1);
530 00136                 strncpy(this-&gt;custom_modes,a.c_str(),MAXMODES);
531 00137 
532 00138                 log(DEBUG,<span class="stringliteral">"Custom mode %c removed: modelist='%s'"</span>,mode,this-&gt;custom_modes);
533 00139                 this-&gt;<a class="code" href="classchanrec.html#a1">SetCustomModeParam</a>(mode,<span class="stringliteral">""</span>,<span class="keyword">false</span>);
534 00140         }
535 00141 }
536 </pre></div>    </td>
537   </tr>
538 </table>
539 <a name="a1" doxytag="chanrec::SetCustomModeParam"></a><p>
540 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
541   <tr>
542     <td class="mdRow">
543       <table cellpadding="0" cellspacing="0" border="0">
544         <tr>
545           <td class="md" nowrap valign="top"> void chanrec::SetCustomModeParam </td>
546           <td class="md" valign="top">(&nbsp;</td>
547           <td class="md" nowrap valign="top">char&nbsp;</td>
548           <td class="mdname" nowrap> <em>mode</em>, </td>
549         </tr>
550         <tr>
551           <td></td>
552           <td></td>
553           <td class="md" nowrap>char *&nbsp;</td>
554           <td class="mdname" nowrap> <em>parameter</em>, </td>
555         </tr>
556         <tr>
557           <td></td>
558           <td></td>
559           <td class="md" nowrap>bool&nbsp;</td>
560           <td class="mdname" nowrap> <em>mode_on</em></td>
561         </tr>
562         <tr>
563           <td></td>
564           <td class="md">)&nbsp;</td>
565           <td class="md" colspan="2"></td>
566         </tr>
567
568       </table>
569     </td>
570   </tr>
571 </table>
572 <table cellspacing=5 cellpadding=0 border=0>
573   <tr>
574     <td>
575       &nbsp;
576     </td>
577     <td>
578
579 <p>
580 Sets or unsets the parameters for a custom mode in a channels info. 
581 <p>
582 <dl compact><dt><b>Parameters:</b></dt><dd>
583   <table border="0" cellspacing="2" cellpadding="0">
584     <tr><td valign=top><em>mode</em>&nbsp;</td><td>The mode character to set or unset </td></tr>
585     <tr><td valign=top><em>parameter</em>&nbsp;</td><td>The parameter string to associate with this mode character </td></tr>
586     <tr><td valign=top><em>mode_on</em>&nbsp;</td><td>True if you want to set the mode or false if you want to remove it</td></tr>
587   </table>
588 </dl>
589
590 <p>
591 Definition at line <a class="el" href="channels_8cpp-source.html#l00144">144</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
592 <p>
593 References <a class="el" href="channels_8h-source.html#l00082">ModeParameter::channel</a>, <a class="el" href="channels_8cpp-source.html#l00105">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>.
594 <p>
595 Referenced by <a class="el" href="channels_8cpp-source.html#l00119">SetCustomMode()</a>.
596 <p>
597 <div class="fragment"><pre>00145 {
598 00146 
599 00147         log(DEBUG,<span class="stringliteral">"SetCustomModeParam called"</span>);
600 00148         <a class="code" href="classModeParameter.html">ModeParameter</a> M;
601 00149         M.<a class="code" href="classModeParameter.html#o0">mode</a> = mode;
602 00150         strlcpy(M.<a class="code" href="classModeParameter.html#o2">channel</a>,this-&gt;name,CHANMAX);
603 00151         strlcpy(M.<a class="code" href="classModeParameter.html#o1">parameter</a>,parameter,MAXBUF);
604 00152         <span class="keywordflow">if</span> (mode_on)
605 00153         {
606 00154                 log(DEBUG,<span class="stringliteral">"Custom mode parameter %c %s added"</span>,mode,parameter);
607 00155                 <a class="code" href="channels_8cpp.html#a37">custom_mode_params</a>.push_back(M);
608 00156         }
609 00157         <span class="keywordflow">else</span>
610 00158         {
611 00159                 <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#a37">custom_mode_params</a>.size())
612 00160                 {
613 00161                         <span class="keywordflow">for</span> (vector&lt;ModeParameter&gt;::iterator i = <a class="code" href="channels_8cpp.html#a37">custom_mode_params</a>.begin(); i &lt; <a class="code" href="channels_8cpp.html#a37">custom_mode_params</a>.end(); i++)
614 00162                         {
615 00163                                 <span class="keywordflow">if</span> ((i-&gt;mode == mode) &amp;&amp; (!strcasecmp(this-&gt;name,i-&gt;channel)))
616 00164                                 {
617 00165                                         log(DEBUG,<span class="stringliteral">"Custom mode parameter %c %s removed"</span>,mode,parameter);
618 00166                                         <a class="code" href="channels_8cpp.html#a37">custom_mode_params</a>.erase(i);
619 00167                                         <span class="keywordflow">return</span>;
620 00168                                 }
621 00169                         }
622 00170                 }
623 00171                 log(DEBUG,<span class="stringliteral">"*** BUG *** Attempt to remove non-existent mode parameter!"</span>);
624 00172         }
625 00173 }
626 </pre></div>    </td>
627   </tr>
628 </table>
629 <hr><h2>Member Data Documentation</h2>
630 <a name="o10" doxytag="chanrec::bans"></a><p>
631 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
632   <tr>
633     <td class="mdRow">
634       <table cellpadding="0" cellspacing="0" border="0">
635         <tr>
636           <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>
637       </table>
638     </td>
639   </tr>
640 </table>
641 <table cellspacing=5 cellpadding=0 border=0>
642   <tr>
643     <td>
644       &nbsp;
645     </td>
646     <td>
647
648 <p>
649 The list of all bans set on the channel. 
650 <p>
651
652 <p>
653 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>
654   </tr>
655 </table>
656 <a name="o9" doxytag="chanrec::binarymodes"></a><p>
657 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
658   <tr>
659     <td class="mdRow">
660       <table cellpadding="0" cellspacing="0" border="0">
661         <tr>
662           <td class="md" nowrap valign="top"> char <a class="el" href="classchanrec.html#o9">chanrec::binarymodes</a>
663       </table>
664     </td>
665   </tr>
666 </table>
667 <table cellspacing=5 cellpadding=0 border=0>
668   <tr>
669     <td>
670       &nbsp;
671     </td>
672     <td>
673
674 <p>
675 Contains a bitmask of the CM_* builtin (RFC) binary mode symbols. 
676 <p>
677
678 <p>
679 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>.
680 <p>
681 Referenced by <a class="el" href="channels_8cpp-source.html#l00107">chanrec()</a>.    </td>
682   </tr>
683 </table>
684 <a name="o4" doxytag="chanrec::created"></a><p>
685 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
686   <tr>
687     <td class="mdRow">
688       <table cellpadding="0" cellspacing="0" border="0">
689         <tr>
690           <td class="md" nowrap valign="top"> time_t <a class="el" href="classchanrec.html#o4">chanrec::created</a>
691       </table>
692     </td>
693   </tr>
694 </table>
695 <table cellspacing=5 cellpadding=0 border=0>
696   <tr>
697     <td>
698       &nbsp;
699     </td>
700     <td>
701
702 <p>
703 Creation time. 
704 <p>
705
706 <p>
707 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>.
708 <p>
709 Referenced by <a class="el" href="channels_8cpp-source.html#l00107">chanrec()</a>.    </td>
710   </tr>
711 </table>
712 <a name="o1" doxytag="chanrec::custom_modes"></a><p>
713 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
714   <tr>
715     <td class="mdRow">
716       <table cellpadding="0" cellspacing="0" border="0">
717         <tr>
718           <td class="md" nowrap valign="top"> char <a class="el" href="classchanrec.html#o1">chanrec::custom_modes</a>[MAXMODES]
719       </table>
720     </td>
721   </tr>
722 </table>
723 <table cellspacing=5 cellpadding=0 border=0>
724   <tr>
725     <td>
726       &nbsp;
727     </td>
728     <td>
729
730 <p>
731 Custom modes for the channel. 
732 <p>
733 Plugins may use this field in any way they see fit.
734 <p>
735 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>.
736 <p>
737 Referenced by <a class="el" href="channels_8cpp-source.html#l00107">chanrec()</a>, and <a class="el" href="channels_8cpp-source.html#l00119">SetCustomMode()</a>.    </td>
738   </tr>
739 </table>
740 <a name="o2" doxytag="chanrec::internal_userlist"></a><p>
741 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
742   <tr>
743     <td class="mdRow">
744       <table cellpadding="0" cellspacing="0" border="0">
745         <tr>
746           <td class="md" nowrap valign="top"> std::vector&lt;char*&gt; <a class="el" href="classchanrec.html#o2">chanrec::internal_userlist</a>
747       </table>
748     </td>
749   </tr>
750 </table>
751 <table cellspacing=5 cellpadding=0 border=0>
752   <tr>
753     <td>
754       &nbsp;
755     </td>
756     <td>
757
758 <p>
759 User list (casted to char*'s to stop forward declaration stuff) (chicken and egg scenario!). 
760 <p>
761
762 <p>
763 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>.
764 <p>
765 Referenced by <a class="el" href="channels_8cpp-source.html#l00201">AddUser()</a>, <a class="el" href="channels_8cpp-source.html#l00107">chanrec()</a>, <a class="el" href="channels_8cpp-source.html#l00207">DelUser()</a>, <a class="el" href="channels_8cpp-source.html#l00196">GetUserCounter()</a>, and <a class="el" href="channels_8cpp-source.html#l00221">GetUsers()</a>.    </td>
766   </tr>
767 </table>
768 <a name="o8" doxytag="chanrec::key"></a><p>
769 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
770   <tr>
771     <td class="mdRow">
772       <table cellpadding="0" cellspacing="0" border="0">
773         <tr>
774           <td class="md" nowrap valign="top"> char <a class="el" href="classchanrec.html#o8">chanrec::key</a>[32]
775       </table>
776     </td>
777   </tr>
778 </table>
779 <table cellspacing=5 cellpadding=0 border=0>
780   <tr>
781     <td>
782       &nbsp;
783     </td>
784     <td>
785
786 <p>
787 Contains the channel key. 
788 <p>
789 If this value is an empty string, there is no channel key in place.
790 <p>
791 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>.
792 <p>
793 Referenced by <a class="el" href="channels_8cpp-source.html#l00107">chanrec()</a>.    </td>
794   </tr>
795 </table>
796 <a name="o7" doxytag="chanrec::limit"></a><p>
797 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
798   <tr>
799     <td class="mdRow">
800       <table cellpadding="0" cellspacing="0" border="0">
801         <tr>
802           <td class="md" nowrap valign="top"> short int <a class="el" href="classchanrec.html#o7">chanrec::limit</a>
803       </table>
804     </td>
805   </tr>
806 </table>
807 <table cellspacing=5 cellpadding=0 border=0>
808   <tr>
809     <td>
810       &nbsp;
811     </td>
812     <td>
813
814 <p>
815 Contains the channel user limit. 
816 <p>
817 If this value is zero, there is no limit in place.
818 <p>
819 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>.
820 <p>
821 Referenced by <a class="el" href="channels_8cpp-source.html#l00107">chanrec()</a>.    </td>
822   </tr>
823 </table>
824 <a name="o0" doxytag="chanrec::name"></a><p>
825 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
826   <tr>
827     <td class="mdRow">
828       <table cellpadding="0" cellspacing="0" border="0">
829         <tr>
830           <td class="md" nowrap valign="top"> char <a class="el" href="classchanrec.html#o0">chanrec::name</a>[CHANMAX]
831       </table>
832     </td>
833   </tr>
834 </table>
835 <table cellspacing=5 cellpadding=0 border=0>
836   <tr>
837     <td>
838       &nbsp;
839     </td>
840     <td>
841
842 <p>
843 The channels name. 
844 <p>
845
846 <p>
847 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>.
848 <p>
849 Referenced by <a class="el" href="channels_8cpp-source.html#l00107">chanrec()</a>, <a class="el" href="channels_8cpp-source.html#l00207">DelUser()</a>, and <a class="el" href="modules_8cpp-source.html#l00649">Server::PseudoToUser()</a>.    </td>
850   </tr>
851 </table>
852 <a name="o6" doxytag="chanrec::setby"></a><p>
853 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
854   <tr>
855     <td class="mdRow">
856       <table cellpadding="0" cellspacing="0" border="0">
857         <tr>
858           <td class="md" nowrap valign="top"> char <a class="el" href="classchanrec.html#o6">chanrec::setby</a>[NICKMAX]
859       </table>
860     </td>
861   </tr>
862 </table>
863 <table cellspacing=5 cellpadding=0 border=0>
864   <tr>
865     <td>
866       &nbsp;
867     </td>
868     <td>
869
870 <p>
871 The last user to set the topic. 
872 <p>
873 If this member is an empty string, no topic was ever set.
874 <p>
875 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>.
876 <p>
877 Referenced by <a class="el" href="channels_8cpp-source.html#l00107">chanrec()</a>, and <a class="el" href="modules_8cpp-source.html#l00649">Server::PseudoToUser()</a>.    </td>
878   </tr>
879 </table>
880 <a name="o3" doxytag="chanrec::topic"></a><p>
881 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
882   <tr>
883     <td class="mdRow">
884       <table cellpadding="0" cellspacing="0" border="0">
885         <tr>
886           <td class="md" nowrap valign="top"> char <a class="el" href="classchanrec.html#o3">chanrec::topic</a>[MAXBUF]
887       </table>
888     </td>
889   </tr>
890 </table>
891 <table cellspacing=5 cellpadding=0 border=0>
892   <tr>
893     <td>
894       &nbsp;
895     </td>
896     <td>
897
898 <p>
899 Channel topic. 
900 <p>
901 If this is an empty string, no channel topic is set.
902 <p>
903 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>.
904 <p>
905 Referenced by <a class="el" href="channels_8cpp-source.html#l00107">chanrec()</a>, and <a class="el" href="modules_8cpp-source.html#l00649">Server::PseudoToUser()</a>.    </td>
906   </tr>
907 </table>
908 <a name="o5" doxytag="chanrec::topicset"></a><p>
909 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
910   <tr>
911     <td class="mdRow">
912       <table cellpadding="0" cellspacing="0" border="0">
913         <tr>
914           <td class="md" nowrap valign="top"> time_t <a class="el" href="classchanrec.html#o5">chanrec::topicset</a>
915       </table>
916     </td>
917   </tr>
918 </table>
919 <table cellspacing=5 cellpadding=0 border=0>
920   <tr>
921     <td>
922       &nbsp;
923     </td>
924     <td>
925
926 <p>
927 Time topic was set. 
928 <p>
929 If no topic was ever set, this will be equal to <a class="el" href="classchanrec.html#o4">chanrec::created</a>
930 <p>
931 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>.
932 <p>
933 Referenced by <a class="el" href="channels_8cpp-source.html#l00107">chanrec()</a>, and <a class="el" href="modules_8cpp-source.html#l00649">Server::PseudoToUser()</a>.    </td>
934   </tr>
935 </table>
936 <hr>The documentation for this class was generated from the following files:<ul>
937 <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>
938 <hr size="1"><address style="align: right;"><small>Generated on Wed May 25 22:02:48 2005 for InspIRCd by
939 <a href="http://www.doxygen.org/index.html">
940 <img src="doxygen.png" alt="doxygen" align="middle" border=0 > 
941 </a>1.3.3 </small></address>
942 </body>
943 </html>