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>userrec class Reference</title>
4 <link href="inspircd.css" rel="stylesheet" type="text/css">
6 <!-- Generated by Doxygen 1.3-rc3 -->
8 <a class="qindex" href="main.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> </center>
9 <hr><h1>userrec Class Reference</h1>Holds all information about a user This class stores all information about a user connected to the irc server.
10 <a href="#_details">More...</a>
12 <code>#include <<a class="el" href="users_8h-source.html">users.h</a>></code>
14 Inheritance diagram for userrec:<p><center><img src="classuserrec__inherit__graph.gif" border="0" usemap="#userrec__inherit__map" alt="Inheritance graph"></center>
15 <map name="userrec__inherit__map">
16 <area href="classconnection.html" shape="rect" coords="7,155,76,176" alt="">
17 <area href="classExtensible.html" shape="rect" coords="7,86,76,107" alt="">
18 <area href="classclassbase.html" shape="rect" coords="8,16,75,38" alt="">
20 <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for userrec:<p><center><img src="classuserrec__coll__graph.gif" border="0" usemap="#userrec__coll__map" alt="Collaboration graph"></center>
21 <map name="userrec__coll__map">
22 <area href="classconnection.html" shape="rect" coords="204,368,273,389" alt="">
23 <area href="classucrec.html" shape="rect" coords="216,627,261,648" alt="">
25 <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classuserrec-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
27 <tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
28 <tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classuserrec.html#a0">userrec</a> ()</td></tr>
29 <tr><td nowrap align=right valign=top>virtual </td><td valign=bottom><a class="el" href="classuserrec.html#a1">~userrec</a> ()</td></tr>
30 <tr><td nowrap align=right valign=top>virtual char * </td><td valign=bottom><a class="el" href="classuserrec.html#a2">GetFullHost</a> ()</td></tr>
31 <tr><td> </td><td><font size=-1><em>Returns the full displayed host of the user This member function returns the hostname of the user as seen by other users on the server, in nick!identhost form.</em> <a href="#a2"></a><em></em></font><br><br></td></tr>
32 <tr><td nowrap align=right valign=top>virtual char * </td><td valign=bottom><a class="el" href="classuserrec.html#a3">GetFullRealHost</a> ()</td></tr>
33 <tr><td> </td><td><font size=-1><em>Returns the full real host of the user This member function returns the hostname of the user as seen by other users on the server, in nick!identhost form.</em> <a href="#a3"></a><em></em></font><br><br></td></tr>
34 <tr><td nowrap align=right valign=top>virtual bool </td><td valign=bottom><a class="el" href="classuserrec.html#a4">IsInvited</a> (char *channel)</td></tr>
35 <tr><td> </td><td><font size=-1><em>Returns true if a user is invited to a channel.</em> <a href="#a4"></a><em></em></font><br><br></td></tr>
36 <tr><td nowrap align=right valign=top>virtual void </td><td valign=bottom><a class="el" href="classuserrec.html#a5">InviteTo</a> (char *channel)</td></tr>
37 <tr><td> </td><td><font size=-1><em>Adds a channel to a users invite list (invites them to a channel).</em> <a href="#a5"></a><em></em></font><br><br></td></tr>
38 <tr><td nowrap align=right valign=top>virtual void </td><td valign=bottom><a class="el" href="classuserrec.html#a6">RemoveInvite</a> (char *channel)</td></tr>
39 <tr><td> </td><td><font size=-1><em>Removes a channel from a users invite list.</em> <a href="#a6"></a><em></em></font><br><br></td></tr>
40 <tr><td nowrap align=right valign=top>virtual bool </td><td valign=bottom><a class="el" href="classuserrec.html#a7">HasPermission</a> (char *command)</td></tr>
41 <tr><td> </td><td><font size=-1><em>Returns true or false for if a user can execute a privilaged oper command.</em> <a href="#a7"></a><em></em></font><br><br></td></tr>
42 <tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
43 <tr><td nowrap align=right valign=top>char </td><td valign=bottom><a class="el" href="classuserrec.html#m0">nick</a> [NICKMAX]</td></tr>
44 <tr><td> </td><td><font size=-1><em>The users nickname.</em> <a href="#m0"></a><em></em></font><br><br></td></tr>
45 <tr><td nowrap align=right valign=top>char </td><td valign=bottom><a class="el" href="classuserrec.html#m1">ident</a> [64]</td></tr>
46 <tr><td> </td><td><font size=-1><em>The users ident reply.</em> <a href="#m1"></a><em></em></font><br><br></td></tr>
47 <tr><td nowrap align=right valign=top>char </td><td valign=bottom><a class="el" href="classuserrec.html#m2">dhost</a> [256]</td></tr>
48 <tr><td> </td><td><font size=-1><em>The host displayed to non-opers (used for cloaking etc).</em> <a href="#m2"></a><em></em></font><br><br></td></tr>
49 <tr><td nowrap align=right valign=top>char </td><td valign=bottom><a class="el" href="classuserrec.html#m3">fullname</a> [128]</td></tr>
50 <tr><td> </td><td><font size=-1><em>The users full name.</em> <a href="#m3"></a><em></em></font><br><br></td></tr>
51 <tr><td nowrap align=right valign=top>char </td><td valign=bottom><a class="el" href="classuserrec.html#m4">modes</a> [MAXBUF]</td></tr>
52 <tr><td> </td><td><font size=-1><em>The user's mode string.</em> <a href="#m4"></a><em></em></font><br><br></td></tr>
53 <tr><td nowrap align=right valign=top><a class="el" href="classucrec.html">ucrec</a> </td><td valign=bottom><a class="el" href="classuserrec.html#m5">chans</a> [MAXCHANS]</td></tr>
54 <tr><td nowrap align=right valign=top>char </td><td valign=bottom><a class="el" href="classuserrec.html#m6">server</a> [256]</td></tr>
55 <tr><td> </td><td><font size=-1><em>The server the user is connected to.</em> <a href="#m6"></a><em></em></font><br><br></td></tr>
56 <tr><td nowrap align=right valign=top>char </td><td valign=bottom><a class="el" href="classuserrec.html#m7">awaymsg</a> [512]</td></tr>
57 <tr><td> </td><td><font size=-1><em>The user's away message.</em> <a href="#m7"></a><em></em></font><br><br></td></tr>
58 <tr><td nowrap align=right valign=top>char </td><td valign=bottom><a class="el" href="classuserrec.html#m8">result</a> [256]</td></tr>
59 <tr><td> </td><td><font size=-1><em>Stores the result of the last GetFullHost or GetRealHost call.</em> <a href="#m8"></a><em></em></font><br><br></td></tr>
60 <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classuserrec.html#m9">flood</a></td></tr>
61 <tr><td> </td><td><font size=-1><em>Number of lines the user can place into the buffer (up to the global NetBufferSize bytes) before they are disconnected for excess flood.</em> <a href="#m9"></a><em></em></font><br><br></td></tr>
62 <tr><td nowrap align=right valign=top>unsigned long </td><td valign=bottom><a class="el" href="classuserrec.html#m10">timeout</a></td></tr>
63 <tr><td> </td><td><font size=-1><em>Number of seconds this user is given to send USER/NICK If they do not send their details in this time limit they will be disconnected.</em> <a href="#m10"></a><em></em></font><br><br></td></tr>
64 <tr><td nowrap align=right valign=top>char </td><td valign=bottom><a class="el" href="classuserrec.html#m11">oper</a> [NICKMAX]</td></tr>
65 <tr><td> </td><td><font size=-1><em>The oper type they logged in as, if they are an oper.</em> <a href="#m11"></a><em></em></font><br><br></td></tr>
66 <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
67 <tr><td nowrap align=right valign=top><a class="el" href="users_8h.html#a6">InvitedList</a> </td><td valign=bottom><a class="el" href="classuserrec.html#o0">invites</a></td></tr>
68 <tr><td> </td><td><font size=-1><em>A list of channels the user has a pending invite to.</em> <a href="#o0"></a><em></em></font><br><br></td></tr>
70 <hr><a name="_details"></a><h2>Detailed Description</h2>
71 Holds all information about a user This class stores all information about a user connected to the irc server.
73 Everything about a connection is stored here primarily, from the user's socket ID (file descriptor) through to the user's nickname and hostname. Use the Find method of the server class to locate a specific user by nickname.
77 Definition at line <a class="el" href="users_8h-source.html#l00078">78</a> of file <a class="el" href="users_8h-source.html">users.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
78 <a name="a0" doxytag="userrec::userrec"></a><p>
79 <table width="100%" cellpadding="2" cellspacing="0" border="0">
82 <table cellpadding="0" cellspacing="0" border="0">
84 <td class="md" nowrap valign="top"> userrec::userrec </td>
85 <td class="md" valign="top">( </td>
86 <td class="mdname1" valign="top" nowrap> </td>
87 <td class="md" valign="top">) </td>
88 <td class="md" nowrap></td>
95 <table cellspacing=5 cellpadding=0 border=0>
105 Definition at line <a class="el" href="users_8cpp-source.html#l00013">13</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
107 References <a class="el" href="connection_8h-source.html#l00182">connection::bytes_in</a>, <a class="el" href="connection_8h-source.html#l00186">connection::bytes_out</a>, <a class="el" href="channels_8h-source.html#l00202">ucrec::channel</a>, <a class="el" href="users_8h-source.html#l00112">chans</a>, <a class="el" href="connection_8h-source.html#l00190">connection::cmds_in</a>, <a class="el" href="connection_8h-source.html#l00194">connection::cmds_out</a>, <a class="el" href="connection_8h-source.html#l00166">connection::fd</a>, <a class="el" href="users_8h-source.html#l00132">flood</a>, <a class="el" href="connection_8h-source.html#l00198">connection::haspassed</a>, <a class="el" href="connection_8h-source.html#l00224">connection::idle_lastmsg</a>, <a class="el" href="users_8h-source.html#l00084">invites</a>, <a class="el" href="connection_8h-source.html#l00216">connection::lastping</a>, <a class="el" href="connection_8h-source.html#l00228">connection::nping</a>, <a class="el" href="connection_8h-source.html#l00204">connection::port</a>, <a class="el" href="connection_8h-source.html#l00208">connection::registered</a>, <a class="el" href="connection_8h-source.html#l00220">connection::signon</a>, <a class="el" href="users_8h-source.html#l00138">timeout</a>, and <a class="el" href="channels_8h-source.html#l00197">ucrec::uc_modes</a>.
109 <div class="fragment"><pre>00014 {
110 00015 <span class="comment">// the PROPER way to do it, AVOID bzero at *ALL* costs</span>
111 00016 strcpy(nick,<span class="stringliteral">""</span>);
112 00017 strcpy(ip,<span class="stringliteral">"127.0.0.1"</span>);
113 00018 <a class="code" href="classuserrec.html#m10">timeout</a> = 0;
114 00019 strcpy(ident,<span class="stringliteral">""</span>);
115 00020 strcpy(host,<span class="stringliteral">""</span>);
116 00021 strcpy(dhost,<span class="stringliteral">""</span>);
117 00022 strcpy(fullname,<span class="stringliteral">""</span>);
118 00023 strcpy(modes,<span class="stringliteral">""</span>);
119 00024 strcpy(inbuf,<span class="stringliteral">""</span>);
120 00025 strcpy(server,<span class="stringliteral">""</span>);
121 00026 strcpy(awaymsg,<span class="stringliteral">""</span>);
122 00027 <a class="code" href="classconnection.html#m0">fd</a> = <a class="code" href="classconnection.html#m12">lastping</a> = <a class="code" href="classconnection.html#m13">signon</a> = <a class="code" href="classconnection.html#m14">idle_lastmsg</a> = <a class="code" href="classconnection.html#m15">nping</a> = <a class="code" href="classconnection.html#m10">registered</a> = 0;
123 00028 <a class="code" href="classuserrec.html#m9">flood</a> = <a class="code" href="classconnection.html#m9">port</a> = <a class="code" href="classconnection.html#m4">bytes_in</a> = <a class="code" href="classconnection.html#m5">bytes_out</a> = <a class="code" href="classconnection.html#m6">cmds_in</a> = <a class="code" href="classconnection.html#m7">cmds_out</a> = 0;
124 00029 <a class="code" href="classconnection.html#m8">haspassed</a> = <span class="keyword">false</span>;
125 00030 strcpy(result,<span class="stringliteral">""</span>);
126 00031 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < MAXCHANS; i++)
128 00033 this-><a class="code" href="classuserrec.html#m5">chans</a>[i].<a class="code" href="classucrec.html#m1">channel</a> = NULL;
129 00034 this-><a class="code" href="classuserrec.html#m5">chans</a>[i].<a class="code" href="classucrec.html#m0">uc_modes</a> = 0;
131 00036 <a class="code" href="classuserrec.html#o0">invites</a>.clear();
136 <a name="a1" doxytag="userrec::~userrec"></a><p>
137 <table width="100%" cellpadding="2" cellspacing="0" border="0">
140 <table cellpadding="0" cellspacing="0" border="0">
142 <td class="md" nowrap valign="top"> virtual userrec::~userrec </td>
143 <td class="md" valign="top">( </td>
144 <td class="mdname1" valign="top" nowrap> </td>
145 <td class="md" valign="top">) </td>
146 <td class="md" nowrap><code> [inline, virtual]</code></td>
153 <table cellspacing=5 cellpadding=0 border=0>
163 Definition at line <a class="el" href="users_8h-source.html#l00149">149</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
165 <div class="fragment"><pre>00149 { }
169 <hr><h2>Member Function Documentation</h2>
170 <a name="a2" doxytag="userrec::GetFullHost"></a><p>
171 <table width="100%" cellpadding="2" cellspacing="0" border="0">
174 <table cellpadding="0" cellspacing="0" border="0">
176 <td class="md" nowrap valign="top"> char * userrec::GetFullHost </td>
177 <td class="md" valign="top">( </td>
178 <td class="mdname1" valign="top" nowrap> </td>
179 <td class="md" valign="top">) </td>
180 <td class="md" nowrap><code> [virtual]</code></td>
187 <table cellspacing=5 cellpadding=0 border=0>
195 Returns the full displayed host of the user This member function returns the hostname of the user as seen by other users on the server, in nick!identhost form.
199 Definition at line <a class="el" href="users_8cpp-source.html#l00041">41</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
201 References <a class="el" href="users_8h-source.html#l00126">result</a>.
203 <div class="fragment"><pre>00042 {
204 00043 sprintf(result,<span class="stringliteral">"%s!%s@%s"</span>,nick,ident,dhost);
205 00044 <span class="keywordflow">return</span> <a class="code" href="classuserrec.html#m8">result</a>;
210 <a name="a3" doxytag="userrec::GetFullRealHost"></a><p>
211 <table width="100%" cellpadding="2" cellspacing="0" border="0">
214 <table cellpadding="0" cellspacing="0" border="0">
216 <td class="md" nowrap valign="top"> char * userrec::GetFullRealHost </td>
217 <td class="md" valign="top">( </td>
218 <td class="mdname1" valign="top" nowrap> </td>
219 <td class="md" valign="top">) </td>
220 <td class="md" nowrap><code> [virtual]</code></td>
227 <table cellspacing=5 cellpadding=0 border=0>
235 Returns the full real host of the user This member function returns the hostname of the user as seen by other users on the server, in nick!identhost form.
237 If any form of hostname cloaking is in operation, e.g. through a module, then this method will ignore it and return the true hostname.
239 Definition at line <a class="el" href="users_8cpp-source.html#l00048">48</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
241 References <a class="el" href="users_8h-source.html#l00126">result</a>.
243 <div class="fragment"><pre>00049 {
244 00050 sprintf(result,<span class="stringliteral">"%s!%s@%s"</span>,nick,ident,host);
245 00051 <span class="keywordflow">return</span> <a class="code" href="classuserrec.html#m8">result</a>;
250 <a name="a7" doxytag="userrec::HasPermission"></a><p>
251 <table width="100%" cellpadding="2" cellspacing="0" border="0">
254 <table cellpadding="0" cellspacing="0" border="0">
256 <td class="md" nowrap valign="top"> bool userrec::HasPermission </td>
257 <td class="md" valign="top">( </td>
258 <td class="md" nowrap valign="top">char * </td>
259 <td class="mdname1" valign="top" nowrap> <em>command</em> </td>
260 <td class="md" valign="top">) </td>
261 <td class="md" nowrap><code> [virtual]</code></td>
268 <table cellspacing=5 cellpadding=0 border=0>
276 Returns true or false for if a user can execute a privilaged oper command.
278 This is done by looking up their oper type from <a class="el" href="classuserrec.html#m11">userrec::oper</a>, then referencing this to their oper classes and checking the commands they can execute.
280 Definition at line <a class="el" href="users_8cpp-source.html#l00097">97</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
282 <div class="fragment"><pre>00098 {
283 00099 <span class="keywordtype">char</span> TypeName[MAXBUF],Classes[MAXBUF],ClassName[MAXBUF],CommandList[MAXBUF];
284 00100 <span class="keywordtype">char</span>* myclass;
285 00101 <span class="keywordtype">char</span>* mycmd;
286 00102 <span class="keywordtype">char</span>* savept;
287 00103 <span class="keywordtype">char</span>* savept2;
289 00105 <span class="comment">// are they even an oper at all?</span>
290 00106 <span class="keywordflow">if</span> (strchr(this->modes,<span class="charliteral">'o'</span>))
292 00108 log(DEBUG,<span class="stringliteral">"*** HasPermission: %s is an oper"</span>,this->nick);
293 00109 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j =0; j < ConfValueEnum(<span class="stringliteral">"type"</span>,&config_f); j++)
295 00111 ConfValue(<span class="stringliteral">"type"</span>,<span class="stringliteral">"name"</span>,j,TypeName,&config_f);
296 00112 <span class="keywordflow">if</span> (!strcmp(TypeName,this->oper))
298 00114 log(DEBUG,<span class="stringliteral">"*** HasPermission: %s is an oper of type '%s'"</span>,this->nick,this->oper);
299 00115 ConfValue(<span class="stringliteral">"type"</span>,<span class="stringliteral">"classes"</span>,j,Classes,&config_f);
300 00116 <span class="keywordtype">char</span>* myclass = strtok_r(Classes,<span class="stringliteral">" "</span>,&savept);
301 00117 <span class="comment">//myclass = savept;</span>
302 00118 <span class="keywordflow">while</span> (myclass)
304 00120 log(DEBUG,<span class="stringliteral">"*** HasPermission: checking classtype '%s'"</span>,myclass);
305 00121 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> k =0; k < ConfValueEnum(<span class="stringliteral">"class"</span>,&config_f); k++)
307 00123 ConfValue(<span class="stringliteral">"class"</span>,<span class="stringliteral">"name"</span>,k,ClassName,&config_f);
308 00124 <span class="keywordflow">if</span> (!strcmp(ClassName,myclass))
310 00126 ConfValue(<span class="stringliteral">"class"</span>,<span class="stringliteral">"commands"</span>,k,CommandList,&config_f);
311 00127 log(DEBUG,<span class="stringliteral">"*** HasPermission: found class named %s with commands: '%s'"</span>,ClassName,CommandList);
314 00130 mycmd = strtok_r(CommandList,<span class="stringliteral">" "</span>,&savept2);
315 00131 <span class="comment">//mycmd = savept2;</span>
316 00132 <span class="keywordflow">while</span> (mycmd)
318 00134 <span class="keywordflow">if</span> (!strcasecmp(mycmd,command))
320 00136 log(DEBUG,<span class="stringliteral">"*** Command %s found, returning true"</span>,command);
321 00137 <span class="keywordflow">return</span> <span class="keyword">true</span>;
323 00139 mycmd = strtok_r(NULL,<span class="stringliteral">" "</span>,&savept2);
324 00140 <span class="comment">//mycmd = savept2;</span>
328 00144 myclass = strtok_r(NULL,<span class="stringliteral">" "</span>,&savept);
329 00145 <span class="comment">//myclass = savept;</span>
334 00150 <span class="keywordflow">return</span> <span class="keyword">false</span>;
339 <a name="a5" doxytag="userrec::InviteTo"></a><p>
340 <table width="100%" cellpadding="2" cellspacing="0" border="0">
343 <table cellpadding="0" cellspacing="0" border="0">
345 <td class="md" nowrap valign="top"> void userrec::InviteTo </td>
346 <td class="md" valign="top">( </td>
347 <td class="md" nowrap valign="top">char * </td>
348 <td class="mdname1" valign="top" nowrap> <em>channel</em> </td>
349 <td class="md" valign="top">) </td>
350 <td class="md" nowrap><code> [virtual]</code></td>
357 <table cellspacing=5 cellpadding=0 border=0>
365 Adds a channel to a users invite list (invites them to a channel).
369 Definition at line <a class="el" href="users_8cpp-source.html#l00068">68</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
371 References <a class="el" href="users_8h-source.html#l00028">Invited::channel</a>, and <a class="el" href="users_8h-source.html#l00084">invites</a>.
373 <div class="fragment"><pre>00069 {
374 00070 <a class="code" href="classInvited.html">Invited</a> i;
375 00071 strcpy(i.<a class="code" href="classInvited.html#m0">channel</a>,channel);
376 00072 <a class="code" href="classuserrec.html#o0">invites</a>.push_back(i);
381 <a name="a4" doxytag="userrec::IsInvited"></a><p>
382 <table width="100%" cellpadding="2" cellspacing="0" border="0">
385 <table cellpadding="0" cellspacing="0" border="0">
387 <td class="md" nowrap valign="top"> bool userrec::IsInvited </td>
388 <td class="md" valign="top">( </td>
389 <td class="md" nowrap valign="top">char * </td>
390 <td class="mdname1" valign="top" nowrap> <em>channel</em> </td>
391 <td class="md" valign="top">) </td>
392 <td class="md" nowrap><code> [virtual]</code></td>
399 <table cellspacing=5 cellpadding=0 border=0>
407 Returns true if a user is invited to a channel.
411 Definition at line <a class="el" href="users_8cpp-source.html#l00054">54</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
413 References <a class="el" href="users_8h-source.html#l00084">invites</a>.
415 <div class="fragment"><pre>00055 {
416 00056 <span class="keywordflow">for</span> (InvitedList::iterator i = <a class="code" href="classuserrec.html#o0">invites</a>.begin(); i != <a class="code" href="classuserrec.html#o0">invites</a>.end(); i++)
418 00058 <span class="keywordflow">if</span> (i->channel) {
419 00059 <span class="keywordflow">if</span> (!strcasecmp(i->channel,channel))
421 00061 <span class="keywordflow">return</span> <span class="keyword">true</span>;
425 00065 <span class="keywordflow">return</span> <span class="keyword">false</span>;
430 <a name="a6" doxytag="userrec::RemoveInvite"></a><p>
431 <table width="100%" cellpadding="2" cellspacing="0" border="0">
434 <table cellpadding="0" cellspacing="0" border="0">
436 <td class="md" nowrap valign="top"> void userrec::RemoveInvite </td>
437 <td class="md" valign="top">( </td>
438 <td class="md" nowrap valign="top">char * </td>
439 <td class="mdname1" valign="top" nowrap> <em>channel</em> </td>
440 <td class="md" valign="top">) </td>
441 <td class="md" nowrap><code> [virtual]</code></td>
448 <table cellspacing=5 cellpadding=0 border=0>
456 Removes a channel from a users invite list.
458 This member function is called on successfully joining an invite only channel to which the user has previously been invited, to clear the invitation.
460 Definition at line <a class="el" href="users_8cpp-source.html#l00075">75</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
462 References <a class="el" href="users_8h-source.html#l00084">invites</a>.
464 <div class="fragment"><pre>00076 {
465 00077 log(DEBUG,<span class="stringliteral">"Removing invites"</span>);
466 00078 <span class="keywordflow">if</span> (channel)
468 00080 <span class="keywordflow">if</span> (<a class="code" href="classuserrec.html#o0">invites</a>.size())
470 00082 <span class="keywordflow">for</span> (InvitedList::iterator i = <a class="code" href="classuserrec.html#o0">invites</a>.begin(); i != <a class="code" href="classuserrec.html#o0">invites</a>.end(); i++)
472 00084 <span class="keywordflow">if</span> (i->channel)
474 00086 <span class="keywordflow">if</span> (!strcasecmp(i->channel,channel))
476 00088 <a class="code" href="classuserrec.html#o0">invites</a>.erase(i);
477 00089 <span class="keywordflow">return</span>;
487 <hr><h2>Member Data Documentation</h2>
488 <a name="m7" doxytag="userrec::awaymsg"></a><p>
489 <table width="100%" cellpadding="2" cellspacing="0" border="0">
492 <table cellpadding="0" cellspacing="0" border="0">
494 <td class="md" nowrap valign="top"> char userrec::awaymsg[512]
499 <table cellspacing=5 cellpadding=0 border=0>
507 The user's away message.
509 If this string is empty, the user is not marked as away.
511 Definition at line <a class="el" href="users_8h-source.html#l00121">121</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
514 <a name="m5" doxytag="userrec::chans"></a><p>
515 <table width="100%" cellpadding="2" cellspacing="0" border="0">
518 <table cellpadding="0" cellspacing="0" border="0">
520 <td class="md" nowrap valign="top"> <a class="el" href="classucrec.html">ucrec</a> userrec::chans[MAXCHANS]
525 <table cellspacing=5 cellpadding=0 border=0>
535 Definition at line <a class="el" href="users_8h-source.html#l00112">112</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
537 Referenced by <a class="el" href="users_8cpp-source.html#l00013">userrec()</a>. </td>
540 <a name="m2" doxytag="userrec::dhost"></a><p>
541 <table width="100%" cellpadding="2" cellspacing="0" border="0">
544 <table cellpadding="0" cellspacing="0" border="0">
546 <td class="md" nowrap valign="top"> char userrec::dhost[256]
551 <table cellspacing=5 cellpadding=0 border=0>
559 The host displayed to non-opers (used for cloaking etc).
561 This usually matches the value of <a class="el" href="classconnection.html#m1">userrec::host</a>.
563 Definition at line <a class="el" href="users_8h-source.html#l00100">100</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
566 <a name="m9" doxytag="userrec::flood"></a><p>
567 <table width="100%" cellpadding="2" cellspacing="0" border="0">
570 <table cellpadding="0" cellspacing="0" border="0">
572 <td class="md" nowrap valign="top"> int userrec::flood
577 <table cellspacing=5 cellpadding=0 border=0>
585 Number of lines the user can place into the buffer (up to the global NetBufferSize bytes) before they are disconnected for excess flood.
589 Definition at line <a class="el" href="users_8h-source.html#l00132">132</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
591 Referenced by <a class="el" href="users_8cpp-source.html#l00013">userrec()</a>. </td>
594 <a name="m3" doxytag="userrec::fullname"></a><p>
595 <table width="100%" cellpadding="2" cellspacing="0" border="0">
598 <table cellpadding="0" cellspacing="0" border="0">
600 <td class="md" nowrap valign="top"> char userrec::fullname[128]
605 <table cellspacing=5 cellpadding=0 border=0>
617 Definition at line <a class="el" href="users_8h-source.html#l00104">104</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
620 <a name="m1" doxytag="userrec::ident"></a><p>
621 <table width="100%" cellpadding="2" cellspacing="0" border="0">
624 <table cellpadding="0" cellspacing="0" border="0">
626 <td class="md" nowrap valign="top"> char userrec::ident[64]
631 <table cellspacing=5 cellpadding=0 border=0>
639 The users ident reply.
643 Definition at line <a class="el" href="users_8h-source.html#l00095">95</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
646 <a name="o0" doxytag="userrec::invites"></a><p>
647 <table width="100%" cellpadding="2" cellspacing="0" border="0">
650 <table cellpadding="0" cellspacing="0" border="0">
652 <td class="md" nowrap valign="top"> <a class="el" href="users_8h.html#a6">InvitedList</a> userrec::invites<code> [private]</code>
657 <table cellspacing=5 cellpadding=0 border=0>
665 A list of channels the user has a pending invite to.
669 Definition at line <a class="el" href="users_8h-source.html#l00084">84</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
671 Referenced by <a class="el" href="users_8cpp-source.html#l00068">InviteTo()</a>, <a class="el" href="users_8cpp-source.html#l00054">IsInvited()</a>, <a class="el" href="users_8cpp-source.html#l00075">RemoveInvite()</a>, and <a class="el" href="users_8cpp-source.html#l00013">userrec()</a>. </td>
674 <a name="m4" doxytag="userrec::modes"></a><p>
675 <table width="100%" cellpadding="2" cellspacing="0" border="0">
678 <table cellpadding="0" cellspacing="0" border="0">
680 <td class="md" nowrap valign="top"> char userrec::modes[MAXBUF]
685 <table cellspacing=5 cellpadding=0 border=0>
693 The user's mode string.
695 This may contain any of the following RFC characters: o, w, s, i Your module may define other mode characters as it sees fit.
697 Definition at line <a class="el" href="users_8h-source.html#l00110">110</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
700 <a name="m0" doxytag="userrec::nick"></a><p>
701 <table width="100%" cellpadding="2" cellspacing="0" border="0">
704 <table cellpadding="0" cellspacing="0" border="0">
706 <td class="md" nowrap valign="top"> char userrec::nick[NICKMAX]
711 <table cellspacing=5 cellpadding=0 border=0>
721 An invalid nickname indicates an unregistered connection prior to the NICK command.
723 Definition at line <a class="el" href="users_8h-source.html#l00091">91</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
725 Referenced by <a class="el" href="modules_8cpp-source.html#l00176">Server::QuitUser()</a>. </td>
728 <a name="m11" doxytag="userrec::oper"></a><p>
729 <table width="100%" cellpadding="2" cellspacing="0" border="0">
732 <table cellpadding="0" cellspacing="0" border="0">
734 <td class="md" nowrap valign="top"> char userrec::oper[NICKMAX]
739 <table cellspacing=5 cellpadding=0 border=0>
747 The oper type they logged in as, if they are an oper.
749 This is used to check permissions in operclasses, so that we can say 'yay' or 'nay' to any commands they issue. The value of this is the value of a valid 'type name=' tag.
751 Definition at line <a class="el" href="users_8h-source.html#l00145">145</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
754 <a name="m8" doxytag="userrec::result"></a><p>
755 <table width="100%" cellpadding="2" cellspacing="0" border="0">
758 <table cellpadding="0" cellspacing="0" border="0">
760 <td class="md" nowrap valign="top"> char userrec::result[256]
765 <table cellspacing=5 cellpadding=0 border=0>
773 Stores the result of the last GetFullHost or GetRealHost call.
775 You may use this to increase the speed of use of this class.
777 Definition at line <a class="el" href="users_8h-source.html#l00126">126</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
779 Referenced by <a class="el" href="users_8cpp-source.html#l00041">GetFullHost()</a>, and <a class="el" href="users_8cpp-source.html#l00048">GetFullRealHost()</a>. </td>
782 <a name="m6" doxytag="userrec::server"></a><p>
783 <table width="100%" cellpadding="2" cellspacing="0" border="0">
786 <table cellpadding="0" cellspacing="0" border="0">
788 <td class="md" nowrap valign="top"> char userrec::server[256]
793 <table cellspacing=5 cellpadding=0 border=0>
801 The server the user is connected to.
805 Definition at line <a class="el" href="users_8h-source.html#l00116">116</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
808 <a name="m10" doxytag="userrec::timeout"></a><p>
809 <table width="100%" cellpadding="2" cellspacing="0" border="0">
812 <table cellpadding="0" cellspacing="0" border="0">
814 <td class="md" nowrap valign="top"> unsigned long userrec::timeout
819 <table cellspacing=5 cellpadding=0 border=0>
827 Number of seconds this user is given to send USER/NICK If they do not send their details in this time limit they will be disconnected.
831 Definition at line <a class="el" href="users_8h-source.html#l00138">138</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
833 Referenced by <a class="el" href="users_8cpp-source.html#l00013">userrec()</a>. </td>
836 <hr>The documentation for this class was generated from the following files:<ul>
837 <li><a class="el" href="users_8h-source.html">users.h</a><li><a class="el" href="users_8cpp-source.html">users.cpp</a></ul>
838 <hr><address style="align: right;"><small>Generated on Fri Apr 30 15:46:49 2004 for InspIRCd by
839 <a href="http://www.doxygen.org/index.html">
840 <img src="doxygen.png" alt="doxygen" align="middle" border=0
841 width=110 height=53></a>1.3-rc3 </small></address>