]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - docs/module-doc/classchanrec.html
New docs to match extra module Version class stuff, etc
[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>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#a4">chanrec</a> ()</td></tr>
31
32 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a channel record and initialises it with default values. </em> <a href="#a4"></a><em><br><br></td></tr>
33 <tr><td class="memItemLeft" nowrap align=right valign=top>virtual&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#a5">~chanrec</a> ()</td></tr>
34
35 <tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
36 <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>
37
38 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The channels name. </em> <a href="#o0"></a><em><br><br></td></tr>
39 <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>
40
41 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Custom modes for the channel. </em> <a href="#o1"></a><em><br><br></td></tr>
42 <tr><td class="memItemLeft" nowrap align=right valign=top>char&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o2">topic</a> [MAXBUF]</td></tr>
43
44 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Channel topic. </em> <a href="#o2"></a><em><br><br></td></tr>
45 <tr><td class="memItemLeft" nowrap align=right valign=top>time_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o3">created</a></td></tr>
46
47 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creation time. </em> <a href="#o3"></a><em><br><br></td></tr>
48 <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">topicset</a></td></tr>
49
50 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Time topic was set. </em> <a href="#o4"></a><em><br><br></td></tr>
51 <tr><td class="memItemLeft" nowrap align=right valign=top>char&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o5">setby</a> [NICKMAX]</td></tr>
52
53 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The last user to set the topic. </em> <a href="#o5"></a><em><br><br></td></tr>
54 <tr><td class="memItemLeft" nowrap align=right valign=top>long&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o6">limit</a></td></tr>
55
56 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Contains the channel user limit. </em> <a href="#o6"></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#o7">key</a> [32]</td></tr>
58
59 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Contains the channel key. </em> <a href="#o7"></a><em><br><br></td></tr>
60 <tr><td class="memItemLeft" nowrap align=right valign=top>short int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o8">topiclock</a></td></tr>
61
62 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Nonzero if the mode +t is set. </em> <a href="#o8"></a><em><br><br></td></tr>
63 <tr><td class="memItemLeft" nowrap align=right valign=top>short int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classchanrec.html#o9">noexternal</a></td></tr>
64
65 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Nonzero if the mode +n is set. </em> <a href="#o9"></a><em><br><br></td></tr>
66 <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">inviteonly</a></td></tr>
67
68 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Nonzero if the mode +i is set. </em> <a href="#o10"></a><em><br><br></td></tr>
69 <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">moderated</a></td></tr>
70
71 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Nonzero if the mode +m is set. </em> <a href="#o11"></a><em><br><br></td></tr>
72 <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">secret</a></td></tr>
73
74 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Nonzero if the mode +s is set. </em> <a href="#o12"></a><em><br><br></td></tr>
75 <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">c_private</a></td></tr>
76
77 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Nonzero if the mode +p is set. </em> <a href="#o13"></a><em><br><br></td></tr>
78 <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#o14">bans</a></td></tr>
79
80 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The list of all bans set on the channel. </em> <a href="#o14"></a><em><br><br></td></tr>
81 </table>
82 <hr><a name="_details"></a><h2>Detailed Description</h2>
83 Holds all relevent information for a channel. 
84 <p>
85 This class represents a channel, and contains its name, modes, time created, topic, topic set time, etc, and an instance of the BanList type. 
86 <p>
87
88 <p>
89 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>
90 <a name="a4" doxytag="chanrec::chanrec"></a><p>
91 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
92   <tr>
93     <td class="mdRow">
94       <table cellpadding="0" cellspacing="0" border="0">
95         <tr>
96           <td class="md" nowrap valign="top"> chanrec::chanrec </td>
97           <td class="md" valign="top">(&nbsp;</td>
98           <td class="mdname1" valign="top" nowrap>          </td>
99           <td class="md" valign="top">&nbsp;)&nbsp;</td>
100           <td class="md" nowrap></td>
101         </tr>
102
103       </table>
104     </td>
105   </tr>
106 </table>
107 <table cellspacing=5 cellpadding=0 border=0>
108   <tr>
109     <td>
110       &nbsp;
111     </td>
112     <td>
113
114 <p>
115 Creates a channel record and initialises it with default values. 
116 <p>
117
118 <p>
119 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>.
120 <p>
121 References <a class="el" href="channels_8h-source.html#l00155">c_private</a>, <a class="el" href="channels_8h-source.html#l00111">created</a>, <a class="el" href="channels_8h-source.html#l00103">custom_modes</a>, <a class="el" href="channels_8h-source.html#l00141">inviteonly</a>, <a class="el" href="channels_8h-source.html#l00129">key</a>, <a class="el" href="channels_8h-source.html#l00124">limit</a>, <a class="el" href="channels_8h-source.html#l00145">moderated</a>, <a class="el" href="channels_8h-source.html#l00099">name</a>, <a class="el" href="channels_8h-source.html#l00137">noexternal</a>, <a class="el" href="channels_8h-source.html#l00150">secret</a>, <a class="el" href="channels_8h-source.html#l00119">setby</a>, <a class="el" href="channels_8h-source.html#l00108">topic</a>, <a class="el" href="channels_8h-source.html#l00133">topiclock</a>, and <a class="el" href="channels_8h-source.html#l00115">topicset</a>.
122 <p>
123 <div class="fragment"><pre>00114 {
124 00115         strcpy(name,<span class="stringliteral">""</span>);
125 00116         strcpy(custom_modes,<span class="stringliteral">""</span>);
126 00117         strcpy(topic,<span class="stringliteral">""</span>);
127 00118         strcpy(setby,<span class="stringliteral">""</span>);
128 00119         strcpy(key,<span class="stringliteral">""</span>);
129 00120         <a class="code" href="classchanrec.html#o3">created</a> = <a class="code" href="classchanrec.html#o4">topicset</a> = <a class="code" href="classchanrec.html#o6">limit</a> = 0;
130 00121         <a class="code" href="classchanrec.html#o8">topiclock</a> = <a class="code" href="classchanrec.html#o9">noexternal</a> = <a class="code" href="classchanrec.html#o10">inviteonly</a> = <a class="code" href="classchanrec.html#o11">moderated</a> = <a class="code" href="classchanrec.html#o12">secret</a> = <a class="code" href="classchanrec.html#o13">c_private</a> = <span class="keyword">false</span>;
131 00122 }
132 </pre></div>    </td>
133   </tr>
134 </table>
135 <a name="a5" doxytag="chanrec::~chanrec"></a><p>
136 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
137   <tr>
138     <td class="mdRow">
139       <table cellpadding="0" cellspacing="0" border="0">
140         <tr>
141           <td class="md" nowrap valign="top"> virtual chanrec::~<a class="el" href="classchanrec.html">chanrec</a> </td>
142           <td class="md" valign="top">(&nbsp;</td>
143           <td class="mdname1" valign="top" nowrap>          </td>
144           <td class="md" valign="top">&nbsp;)&nbsp;</td>
145           <td class="md" nowrap><code> [inline, virtual]</code></td>
146         </tr>
147
148       </table>
149     </td>
150   </tr>
151 </table>
152 <table cellspacing=5 cellpadding=0 border=0>
153   <tr>
154     <td>
155       &nbsp;
156     </td>
157     <td>
158
159 <p>
160
161 <p>
162 Definition at line <a class="el" href="channels_8h-source.html#l00185">185</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
163 <p>
164 <div class="fragment"><pre>00185 { <span class="comment">/* stub */</span> }
165 </pre></div>    </td>
166   </tr>
167 </table>
168 <hr><h2>Member Function Documentation</h2>
169 <a name="a3" doxytag="chanrec::GetModeParameter"></a><p>
170 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
171   <tr>
172     <td class="mdRow">
173       <table cellpadding="0" cellspacing="0" border="0">
174         <tr>
175           <td class="md" nowrap valign="top"> std::string chanrec::GetModeParameter </td>
176           <td class="md" valign="top">(&nbsp;</td>
177           <td class="md" nowrap valign="top">char&nbsp;</td>
178           <td class="mdname1" valign="top" nowrap> <em>mode</em>          </td>
179           <td class="md" valign="top">&nbsp;)&nbsp;</td>
180           <td class="md" nowrap></td>
181         </tr>
182
183       </table>
184     </td>
185   </tr>
186 </table>
187 <table cellspacing=5 cellpadding=0 border=0>
188   <tr>
189     <td>
190       &nbsp;
191     </td>
192     <td>
193
194 <p>
195 Returns the parameter for a custom mode on a channel. 
196 <p>
197 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.
198 <p>
199 Definition at line <a class="el" href="channels_8cpp-source.html#l00186">186</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
200 <p>
201 References <a class="el" href="channels_8cpp-source.html#l00111">custom_mode_params</a>.
202 <p>
203 <div class="fragment"><pre>00187 {
204 00188         <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#a38">custom_mode_params</a>.size())
205 00189         {
206 00190                 <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++)
207 00191                 {
208 00192                         <span class="keywordflow">if</span> ((i-&gt;mode == mode) &amp;&amp; (!strcasecmp(this-&gt;name,i-&gt;channel)))
209 00193                         {
210 00194                                 <span class="keywordflow">return</span> std::string(i-&gt;parameter);
211 00195                         }
212 00196                 }
213 00197         }
214 00198         <span class="keywordflow">return</span> std::string(<span class="stringliteral">""</span>);
215 00199 }
216 </pre></div>    </td>
217   </tr>
218 </table>
219 <a name="a2" doxytag="chanrec::IsCustomModeSet"></a><p>
220 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
221   <tr>
222     <td class="mdRow">
223       <table cellpadding="0" cellspacing="0" border="0">
224         <tr>
225           <td class="md" nowrap valign="top"> bool chanrec::IsCustomModeSet </td>
226           <td class="md" valign="top">(&nbsp;</td>
227           <td class="md" nowrap valign="top">char&nbsp;</td>
228           <td class="mdname1" valign="top" nowrap> <em>mode</em>          </td>
229           <td class="md" valign="top">&nbsp;)&nbsp;</td>
230           <td class="md" nowrap></td>
231         </tr>
232
233       </table>
234     </td>
235   </tr>
236 </table>
237 <table cellspacing=5 cellpadding=0 border=0>
238   <tr>
239     <td>
240       &nbsp;
241     </td>
242     <td>
243
244 <p>
245 Returns true if a custom mode is set on a channel. 
246 <p>
247
248 <p>
249 Definition at line <a class="el" href="channels_8cpp-source.html#l00180">180</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
250 <p>
251 References <a class="el" href="modules_8h-source.html#l00023">DEBUG</a>.
252 <p>
253 <div class="fragment"><pre>00181 {
254 00182         log(DEBUG,<span class="stringliteral">"Checking ISCustomModeSet: %c %s"</span>,mode,this-&gt;custom_modes);
255 00183         <span class="keywordflow">return</span> (strchr(this-&gt;custom_modes,mode) != 0);
256 00184 }
257 </pre></div>    </td>
258   </tr>
259 </table>
260 <a name="a0" doxytag="chanrec::SetCustomMode"></a><p>
261 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
262   <tr>
263     <td class="mdRow">
264       <table cellpadding="0" cellspacing="0" border="0">
265         <tr>
266           <td class="md" nowrap valign="top"> void chanrec::SetCustomMode </td>
267           <td class="md" valign="top">(&nbsp;</td>
268           <td class="md" nowrap valign="top">char&nbsp;</td>
269           <td class="mdname" nowrap> <em>mode</em>, </td>
270         </tr>
271         <tr>
272           <td></td>
273           <td></td>
274           <td class="md" nowrap>bool&nbsp;</td>
275           <td class="mdname" nowrap> <em>mode_on</em></td>
276         </tr>
277         <tr>
278           <td></td>
279           <td class="md">)&nbsp;</td>
280           <td class="md" colspan="2"></td>
281         </tr>
282
283       </table>
284     </td>
285   </tr>
286 </table>
287 <table cellspacing=5 cellpadding=0 border=0>
288   <tr>
289     <td>
290       &nbsp;
291     </td>
292     <td>
293
294 <p>
295 Sets or unsets a custom mode in the channels info. 
296 <p>
297
298 <p>
299 Definition at line <a class="el" href="channels_8cpp-source.html#l00124">124</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
300 <p>
301 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#l00149">SetCustomModeParam()</a>.
302 <p>
303 <div class="fragment"><pre>00125 {
304 00126         <span class="keywordflow">if</span> (mode_on) {
305 00127                 <span class="keywordtype">char</span> m[3];
306 00128                 m[0] = mode;
307 00129                 m[1] = <span class="charliteral">'\0'</span>;
308 00130                 <span class="keywordflow">if</span> (!strchr(this-&gt;custom_modes,mode))
309 00131                 {
310 00132                         strlcat(custom_modes,m,MAXMODES);
311 00133                 }
312 00134                 log(DEBUG,<span class="stringliteral">"Custom mode %c set"</span>,mode);
313 00135         }
314 00136         <span class="keywordflow">else</span> {
315 00137 
316 00138                 std::string a = this-&gt;<a class="code" href="classchanrec.html#o1">custom_modes</a>;
317 00139                 <span class="keywordtype">int</span> pos = a.find(mode);
318 00140                 a.erase(pos,1);
319 00141                 strncpy(this-&gt;custom_modes,a.c_str(),MAXMODES);
320 00142 
321 00143                 log(DEBUG,<span class="stringliteral">"Custom mode %c removed: modelist='%s'"</span>,mode,this-&gt;custom_modes);
322 00144                 this-&gt;<a class="code" href="classchanrec.html#a1">SetCustomModeParam</a>(mode,<span class="stringliteral">""</span>,<span class="keyword">false</span>);
323 00145         }
324 00146 }
325 </pre></div>    </td>
326   </tr>
327 </table>
328 <a name="a1" doxytag="chanrec::SetCustomModeParam"></a><p>
329 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
330   <tr>
331     <td class="mdRow">
332       <table cellpadding="0" cellspacing="0" border="0">
333         <tr>
334           <td class="md" nowrap valign="top"> void chanrec::SetCustomModeParam </td>
335           <td class="md" valign="top">(&nbsp;</td>
336           <td class="md" nowrap valign="top">char&nbsp;</td>
337           <td class="mdname" nowrap> <em>mode</em>, </td>
338         </tr>
339         <tr>
340           <td></td>
341           <td></td>
342           <td class="md" nowrap>char *&nbsp;</td>
343           <td class="mdname" nowrap> <em>parameter</em>, </td>
344         </tr>
345         <tr>
346           <td></td>
347           <td></td>
348           <td class="md" nowrap>bool&nbsp;</td>
349           <td class="mdname" nowrap> <em>mode_on</em></td>
350         </tr>
351         <tr>
352           <td></td>
353           <td class="md">)&nbsp;</td>
354           <td class="md" colspan="2"></td>
355         </tr>
356
357       </table>
358     </td>
359   </tr>
360 </table>
361 <table cellspacing=5 cellpadding=0 border=0>
362   <tr>
363     <td>
364       &nbsp;
365     </td>
366     <td>
367
368 <p>
369 Sets or unsets the parameters for a custom mode in a channels info. 
370 <p>
371
372 <p>
373 Definition at line <a class="el" href="channels_8cpp-source.html#l00149">149</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
374 <p>
375 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>.
376 <p>
377 Referenced by <a class="el" href="channels_8cpp-source.html#l00124">SetCustomMode()</a>.
378 <p>
379 <div class="fragment"><pre>00150 {
380 00151 
381 00152         log(DEBUG,<span class="stringliteral">"SetCustomModeParam called"</span>);
382 00153         <a class="code" href="classModeParameter.html">ModeParameter</a> M;
383 00154         M.<a class="code" href="classModeParameter.html#o0">mode</a> = mode;
384 00155         strlcpy(M.<a class="code" href="classModeParameter.html#o2">channel</a>,this-&gt;name,CHANMAX);
385 00156         strlcpy(M.<a class="code" href="classModeParameter.html#o1">parameter</a>,parameter,MAXBUF);
386 00157         <span class="keywordflow">if</span> (mode_on)
387 00158         {
388 00159                 log(DEBUG,<span class="stringliteral">"Custom mode parameter %c %s added"</span>,mode,parameter);
389 00160                 <a class="code" href="channels_8cpp.html#a38">custom_mode_params</a>.push_back(M);
390 00161         }
391 00162         <span class="keywordflow">else</span>
392 00163         {
393 00164                 <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#a38">custom_mode_params</a>.size())
394 00165                 {
395 00166                         <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++)
396 00167                         {
397 00168                                 <span class="keywordflow">if</span> ((i-&gt;mode == mode) &amp;&amp; (!strcasecmp(this-&gt;name,i-&gt;channel)))
398 00169                                 {
399 00170                                         log(DEBUG,<span class="stringliteral">"Custom mode parameter %c %s removed"</span>,mode,parameter);
400 00171                                         <a class="code" href="channels_8cpp.html#a38">custom_mode_params</a>.erase(i);
401 00172                                         <span class="keywordflow">return</span>;
402 00173                                 }
403 00174                         }
404 00175                 }
405 00176                 log(DEBUG,<span class="stringliteral">"*** BUG *** Attempt to remove non-existent mode parameter!"</span>);
406 00177         }
407 00178 }
408 </pre></div>    </td>
409   </tr>
410 </table>
411 <hr><h2>Member Data Documentation</h2>
412 <a name="o14" doxytag="chanrec::bans"></a><p>
413 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
414   <tr>
415     <td class="mdRow">
416       <table cellpadding="0" cellspacing="0" border="0">
417         <tr>
418           <td class="md" nowrap valign="top"> <a class="el" href="channels_8h.html#a5">BanList</a> <a class="el" href="classchanrec.html#o14">chanrec::bans</a>
419       </table>
420     </td>
421   </tr>
422 </table>
423 <table cellspacing=5 cellpadding=0 border=0>
424   <tr>
425     <td>
426       &nbsp;
427     </td>
428     <td>
429
430 <p>
431 The list of all bans set on the channel. 
432 <p>
433
434 <p>
435 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>.    </td>
436   </tr>
437 </table>
438 <a name="o13" doxytag="chanrec::c_private"></a><p>
439 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
440   <tr>
441     <td class="mdRow">
442       <table cellpadding="0" cellspacing="0" border="0">
443         <tr>
444           <td class="md" nowrap valign="top"> short int <a class="el" href="classchanrec.html#o13">chanrec::c_private</a>
445       </table>
446     </td>
447   </tr>
448 </table>
449 <table cellspacing=5 cellpadding=0 border=0>
450   <tr>
451     <td>
452       &nbsp;
453     </td>
454     <td>
455
456 <p>
457 Nonzero if the mode +p is set. 
458 <p>
459 This value cannot be set at the same time as <a class="el" href="classchanrec.html#o12">chanrec::secret</a>
460 <p>
461 Definition at line <a class="el" href="channels_8h-source.html#l00155">155</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
462 <p>
463 Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>.    </td>
464   </tr>
465 </table>
466 <a name="o3" doxytag="chanrec::created"></a><p>
467 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
468   <tr>
469     <td class="mdRow">
470       <table cellpadding="0" cellspacing="0" border="0">
471         <tr>
472           <td class="md" nowrap valign="top"> time_t <a class="el" href="classchanrec.html#o3">chanrec::created</a>
473       </table>
474     </td>
475   </tr>
476 </table>
477 <table cellspacing=5 cellpadding=0 border=0>
478   <tr>
479     <td>
480       &nbsp;
481     </td>
482     <td>
483
484 <p>
485 Creation time. 
486 <p>
487
488 <p>
489 Definition at line <a class="el" href="channels_8h-source.html#l00111">111</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
490 <p>
491 Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>.    </td>
492   </tr>
493 </table>
494 <a name="o1" doxytag="chanrec::custom_modes"></a><p>
495 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
496   <tr>
497     <td class="mdRow">
498       <table cellpadding="0" cellspacing="0" border="0">
499         <tr>
500           <td class="md" nowrap valign="top"> char <a class="el" href="classchanrec.html#o1">chanrec::custom_modes</a>[MAXMODES]
501       </table>
502     </td>
503   </tr>
504 </table>
505 <table cellspacing=5 cellpadding=0 border=0>
506   <tr>
507     <td>
508       &nbsp;
509     </td>
510     <td>
511
512 <p>
513 Custom modes for the channel. 
514 <p>
515 Plugins may use this field in any way they see fit.
516 <p>
517 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>.
518 <p>
519 Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>, and <a class="el" href="channels_8cpp-source.html#l00124">SetCustomMode()</a>.    </td>
520   </tr>
521 </table>
522 <a name="o10" doxytag="chanrec::inviteonly"></a><p>
523 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
524   <tr>
525     <td class="mdRow">
526       <table cellpadding="0" cellspacing="0" border="0">
527         <tr>
528           <td class="md" nowrap valign="top"> short int <a class="el" href="classchanrec.html#o10">chanrec::inviteonly</a>
529       </table>
530     </td>
531   </tr>
532 </table>
533 <table cellspacing=5 cellpadding=0 border=0>
534   <tr>
535     <td>
536       &nbsp;
537     </td>
538     <td>
539
540 <p>
541 Nonzero if the mode +i is set. 
542 <p>
543
544 <p>
545 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>.
546 <p>
547 Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>.    </td>
548   </tr>
549 </table>
550 <a name="o7" doxytag="chanrec::key"></a><p>
551 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
552   <tr>
553     <td class="mdRow">
554       <table cellpadding="0" cellspacing="0" border="0">
555         <tr>
556           <td class="md" nowrap valign="top"> char <a class="el" href="classchanrec.html#o7">chanrec::key</a>[32]
557       </table>
558     </td>
559   </tr>
560 </table>
561 <table cellspacing=5 cellpadding=0 border=0>
562   <tr>
563     <td>
564       &nbsp;
565     </td>
566     <td>
567
568 <p>
569 Contains the channel key. 
570 <p>
571 If this value is an empty string, there is no channel key in place.
572 <p>
573 Definition at line <a class="el" href="channels_8h-source.html#l00129">129</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
574 <p>
575 Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>.    </td>
576   </tr>
577 </table>
578 <a name="o6" doxytag="chanrec::limit"></a><p>
579 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
580   <tr>
581     <td class="mdRow">
582       <table cellpadding="0" cellspacing="0" border="0">
583         <tr>
584           <td class="md" nowrap valign="top"> long <a class="el" href="classchanrec.html#o6">chanrec::limit</a>
585       </table>
586     </td>
587   </tr>
588 </table>
589 <table cellspacing=5 cellpadding=0 border=0>
590   <tr>
591     <td>
592       &nbsp;
593     </td>
594     <td>
595
596 <p>
597 Contains the channel user limit. 
598 <p>
599 If this value is zero, there is no limit in place.
600 <p>
601 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>.
602 <p>
603 Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>.    </td>
604   </tr>
605 </table>
606 <a name="o11" doxytag="chanrec::moderated"></a><p>
607 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
608   <tr>
609     <td class="mdRow">
610       <table cellpadding="0" cellspacing="0" border="0">
611         <tr>
612           <td class="md" nowrap valign="top"> short int <a class="el" href="classchanrec.html#o11">chanrec::moderated</a>
613       </table>
614     </td>
615   </tr>
616 </table>
617 <table cellspacing=5 cellpadding=0 border=0>
618   <tr>
619     <td>
620       &nbsp;
621     </td>
622     <td>
623
624 <p>
625 Nonzero if the mode +m is set. 
626 <p>
627
628 <p>
629 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>.
630 <p>
631 Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>.    </td>
632   </tr>
633 </table>
634 <a name="o0" doxytag="chanrec::name"></a><p>
635 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
636   <tr>
637     <td class="mdRow">
638       <table cellpadding="0" cellspacing="0" border="0">
639         <tr>
640           <td class="md" nowrap valign="top"> char <a class="el" href="classchanrec.html#o0">chanrec::name</a>[CHANMAX]
641       </table>
642     </td>
643   </tr>
644 </table>
645 <table cellspacing=5 cellpadding=0 border=0>
646   <tr>
647     <td>
648       &nbsp;
649     </td>
650     <td>
651
652 <p>
653 The channels name. 
654 <p>
655
656 <p>
657 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>.
658 <p>
659 Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>.    </td>
660   </tr>
661 </table>
662 <a name="o9" doxytag="chanrec::noexternal"></a><p>
663 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
664   <tr>
665     <td class="mdRow">
666       <table cellpadding="0" cellspacing="0" border="0">
667         <tr>
668           <td class="md" nowrap valign="top"> short int <a class="el" href="classchanrec.html#o9">chanrec::noexternal</a>
669       </table>
670     </td>
671   </tr>
672 </table>
673 <table cellspacing=5 cellpadding=0 border=0>
674   <tr>
675     <td>
676       &nbsp;
677     </td>
678     <td>
679
680 <p>
681 Nonzero if the mode +n is set. 
682 <p>
683
684 <p>
685 Definition at line <a class="el" href="channels_8h-source.html#l00137">137</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
686 <p>
687 Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>.    </td>
688   </tr>
689 </table>
690 <a name="o12" doxytag="chanrec::secret"></a><p>
691 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
692   <tr>
693     <td class="mdRow">
694       <table cellpadding="0" cellspacing="0" border="0">
695         <tr>
696           <td class="md" nowrap valign="top"> short int <a class="el" href="classchanrec.html#o12">chanrec::secret</a>
697       </table>
698     </td>
699   </tr>
700 </table>
701 <table cellspacing=5 cellpadding=0 border=0>
702   <tr>
703     <td>
704       &nbsp;
705     </td>
706     <td>
707
708 <p>
709 Nonzero if the mode +s is set. 
710 <p>
711 This value cannot be set at the same time as <a class="el" href="classchanrec.html#o13">chanrec::c_private</a>
712 <p>
713 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>.
714 <p>
715 Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>.    </td>
716   </tr>
717 </table>
718 <a name="o5" doxytag="chanrec::setby"></a><p>
719 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
720   <tr>
721     <td class="mdRow">
722       <table cellpadding="0" cellspacing="0" border="0">
723         <tr>
724           <td class="md" nowrap valign="top"> char <a class="el" href="classchanrec.html#o5">chanrec::setby</a>[NICKMAX]
725       </table>
726     </td>
727   </tr>
728 </table>
729 <table cellspacing=5 cellpadding=0 border=0>
730   <tr>
731     <td>
732       &nbsp;
733     </td>
734     <td>
735
736 <p>
737 The last user to set the topic. 
738 <p>
739 If this member is an empty string, no topic was ever set.
740 <p>
741 Definition at line <a class="el" href="channels_8h-source.html#l00119">119</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
742 <p>
743 Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>.    </td>
744   </tr>
745 </table>
746 <a name="o2" doxytag="chanrec::topic"></a><p>
747 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
748   <tr>
749     <td class="mdRow">
750       <table cellpadding="0" cellspacing="0" border="0">
751         <tr>
752           <td class="md" nowrap valign="top"> char <a class="el" href="classchanrec.html#o2">chanrec::topic</a>[MAXBUF]
753       </table>
754     </td>
755   </tr>
756 </table>
757 <table cellspacing=5 cellpadding=0 border=0>
758   <tr>
759     <td>
760       &nbsp;
761     </td>
762     <td>
763
764 <p>
765 Channel topic. 
766 <p>
767 If this is an empty string, no channel topic is set.
768 <p>
769 Definition at line <a class="el" href="channels_8h-source.html#l00108">108</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
770 <p>
771 Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>.    </td>
772   </tr>
773 </table>
774 <a name="o8" doxytag="chanrec::topiclock"></a><p>
775 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
776   <tr>
777     <td class="mdRow">
778       <table cellpadding="0" cellspacing="0" border="0">
779         <tr>
780           <td class="md" nowrap valign="top"> short int <a class="el" href="classchanrec.html#o8">chanrec::topiclock</a>
781       </table>
782     </td>
783   </tr>
784 </table>
785 <table cellspacing=5 cellpadding=0 border=0>
786   <tr>
787     <td>
788       &nbsp;
789     </td>
790     <td>
791
792 <p>
793 Nonzero if the mode +t is set. 
794 <p>
795
796 <p>
797 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>.
798 <p>
799 Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>.    </td>
800   </tr>
801 </table>
802 <a name="o4" doxytag="chanrec::topicset"></a><p>
803 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
804   <tr>
805     <td class="mdRow">
806       <table cellpadding="0" cellspacing="0" border="0">
807         <tr>
808           <td class="md" nowrap valign="top"> time_t <a class="el" href="classchanrec.html#o4">chanrec::topicset</a>
809       </table>
810     </td>
811   </tr>
812 </table>
813 <table cellspacing=5 cellpadding=0 border=0>
814   <tr>
815     <td>
816       &nbsp;
817     </td>
818     <td>
819
820 <p>
821 Time topic was set. 
822 <p>
823 If no topic was ever set, this will be equal to <a class="el" href="classchanrec.html#o3">chanrec::created</a>
824 <p>
825 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>.
826 <p>
827 Referenced by <a class="el" href="channels_8cpp-source.html#l00113">chanrec()</a>.    </td>
828   </tr>
829 </table>
830 <hr>The documentation for this class was generated from the following files:<ul>
831 <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>
832 <hr size="1"><address style="align: right;"><small>Generated on Thu Apr 7 20:14:23 2005 for InspIRCd by
833 <a href="http://www.doxygen.org/index.html">
834 <img src="doxygen.png" alt="doxygen" align="middle" border=0 > 
835 </a>1.3.3 </small></address>
836 </body>
837 </html>