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: userrec class Reference</title>
4 <link href="inspircd.css" rel="stylesheet" type="text/css">
6 <!-- Generated by Doxygen 1.3.3 -->
7 <div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Compound List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Compound Members</a> | <a class="qindex" href="globals.html">File Members</a></div>
8 <h1>userrec Class Reference</h1>Holds all information about a user This class stores all information about a user connected to the irc server.
9 <a href="#_details">More...</a>
11 <code>#include <<a class="el" href="users_8h-source.html">users.h</a>></code>
13 Inherits <a class="el" href="classconnection.html">connection</a>.
15 <a href="classuserrec-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
17 <tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
18 <tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#a0">userrec</a> ()</td></tr>
20 <tr><td class="memItemLeft" nowrap align=right valign=top>virtual </td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#a1">~userrec</a> ()</td></tr>
22 <tr><td class="memItemLeft" nowrap align=right valign=top>virtual char * </td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#a2">GetFullHost</a> ()</td></tr>
24 <tr><td class="mdescLeft"> </td><td class="mdescRight">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><br><br></td></tr>
25 <tr><td class="memItemLeft" nowrap align=right valign=top>virtual char * </td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#a3">GetFullRealHost</a> ()</td></tr>
27 <tr><td class="mdescLeft"> </td><td class="mdescRight">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><br><br></td></tr>
28 <tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool </td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#a4">IsInvited</a> (char *channel)</td></tr>
30 <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns true if a user is invited to a channel. </em> <a href="#a4"></a><em><br><br></td></tr>
31 <tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#a5">InviteTo</a> (char *channel)</td></tr>
33 <tr><td class="mdescLeft"> </td><td class="mdescRight">Adds a channel to a users invite list (invites them to a channel). </em> <a href="#a5"></a><em><br><br></td></tr>
34 <tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#a6">RemoveInvite</a> (char *channel)</td></tr>
36 <tr><td class="mdescLeft"> </td><td class="mdescRight">Removes a channel from a users invite list. </em> <a href="#a6"></a><em><br><br></td></tr>
37 <tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#a7">HasPermission</a> (char *command)</td></tr>
39 <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns true or false for if a user can execute a privilaged oper command. </em> <a href="#a7"></a><em><br><br></td></tr>
40 <tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
41 <tr><td class="memItemLeft" nowrap align=right valign=top>char </td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#o0">nick</a> [NICKMAX]</td></tr>
43 <tr><td class="mdescLeft"> </td><td class="mdescRight">The users nickname. </em> <a href="#o0"></a><em><br><br></td></tr>
44 <tr><td class="memItemLeft" nowrap align=right valign=top>char </td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#o1">ident</a> [64]</td></tr>
46 <tr><td class="mdescLeft"> </td><td class="mdescRight">The users ident reply. </em> <a href="#o1"></a><em><br><br></td></tr>
47 <tr><td class="memItemLeft" nowrap align=right valign=top>char </td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#o2">dhost</a> [256]</td></tr>
49 <tr><td class="mdescLeft"> </td><td class="mdescRight">The host displayed to non-opers (used for cloaking etc). </em> <a href="#o2"></a><em><br><br></td></tr>
50 <tr><td class="memItemLeft" nowrap align=right valign=top>char </td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#o3">fullname</a> [128]</td></tr>
52 <tr><td class="mdescLeft"> </td><td class="mdescRight">The users full name. </em> <a href="#o3"></a><em><br><br></td></tr>
53 <tr><td class="memItemLeft" nowrap align=right valign=top>char </td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#o4">modes</a> [MAXBUF]</td></tr>
55 <tr><td class="mdescLeft"> </td><td class="mdescRight">The user's mode string. </em> <a href="#o4"></a><em><br><br></td></tr>
56 <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classucrec.html">ucrec</a> </td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#o5">chans</a> [MAXCHANS]</td></tr>
58 <tr><td class="memItemLeft" nowrap align=right valign=top>char </td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#o6">server</a> [256]</td></tr>
60 <tr><td class="mdescLeft"> </td><td class="mdescRight">The server the user is connected to. </em> <a href="#o6"></a><em><br><br></td></tr>
61 <tr><td class="memItemLeft" nowrap align=right valign=top>char </td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#o7">awaymsg</a> [512]</td></tr>
63 <tr><td class="mdescLeft"> </td><td class="mdescRight">The user's away message. </em> <a href="#o7"></a><em><br><br></td></tr>
64 <tr><td class="memItemLeft" nowrap align=right valign=top>char </td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#o8">result</a> [256]</td></tr>
66 <tr><td class="mdescLeft"> </td><td class="mdescRight">Stores the result of the last GetFullHost or GetRealHost call. </em> <a href="#o8"></a><em><br><br></td></tr>
67 <tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#o9">flood</a></td></tr>
69 <tr><td class="mdescLeft"> </td><td class="mdescRight">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="#o9"></a><em><br><br></td></tr>
70 <tr><td class="memItemLeft" nowrap align=right valign=top>unsigned long </td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#o10">timeout</a></td></tr>
72 <tr><td class="mdescLeft"> </td><td class="mdescRight">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="#o10"></a><em><br><br></td></tr>
73 <tr><td class="memItemLeft" nowrap align=right valign=top>char </td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#o11">oper</a> [NICKMAX]</td></tr>
75 <tr><td class="mdescLeft"> </td><td class="mdescRight">The oper type they logged in as, if they are an oper. </em> <a href="#o11"></a><em><br><br></td></tr>
76 <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
77 <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="users_8h.html#a6">InvitedList</a> </td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#r0">invites</a></td></tr>
79 <tr><td class="mdescLeft"> </td><td class="mdescRight">A list of channels the user has a pending invite to. </em> <a href="#r0"></a><em><br><br></td></tr>
81 <hr><a name="_details"></a><h2>Detailed Description</h2>
82 Holds all information about a user This class stores all information about a user connected to the irc server.
84 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.
88 Definition at line <a class="el" href="users_8h-source.html#l00089">89</a> of file <a class="el" href="users_8h-source.html">users.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
89 <a name="a0" doxytag="userrec::userrec"></a><p>
90 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
93 <table cellpadding="0" cellspacing="0" border="0">
95 <td class="md" nowrap valign="top"> userrec::userrec </td>
96 <td class="md" valign="top">( </td>
97 <td class="mdname1" valign="top" nowrap> </td>
98 <td class="md" valign="top"> ) </td>
99 <td class="md" nowrap></td>
106 <table cellspacing=5 cellpadding=0 border=0>
116 Definition at line <a class="el" href="users_8cpp-source.html#l00025">25</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
118 References <a class="el" href="users_8h-source.html#l00132">awaymsg</a>, <a class="el" href="connection_8h-source.html#l00194">connection::bytes_in</a>, <a class="el" href="connection_8h-source.html#l00198">connection::bytes_out</a>, <a class="el" href="channels_8h-source.html#l00213">ucrec::channel</a>, <a class="el" href="users_8h-source.html#l00123">chans</a>, <a class="el" href="connection_8h-source.html#l00202">connection::cmds_in</a>, <a class="el" href="connection_8h-source.html#l00206">connection::cmds_out</a>, <a class="el" href="users_8h-source.html#l00111">dhost</a>, <a class="el" href="connection_8h-source.html#l00178">connection::fd</a>, <a class="el" href="users_8h-source.html#l00143">flood</a>, <a class="el" href="users_8h-source.html#l00115">fullname</a>, <a class="el" href="connection_8h-source.html#l00210">connection::haspassed</a>, <a class="el" href="connection_8h-source.html#l00182">connection::host</a>, <a class="el" href="users_8h-source.html#l00106">ident</a>, <a class="el" href="connection_8h-source.html#l00236">connection::idle_lastmsg</a>, <a class="el" href="connection_8h-source.html#l00190">connection::inbuf</a>, <a class="el" href="users_8h-source.html#l00095">invites</a>, <a class="el" href="connection_8h-source.html#l00186">connection::ip</a>, <a class="el" href="connection_8h-source.html#l00228">connection::lastping</a>, <a class="el" href="users_8h-source.html#l00121">modes</a>, <a class="el" href="users_8h-source.html#l00102">nick</a>, <a class="el" href="connection_8h-source.html#l00240">connection::nping</a>, <a class="el" href="connection_8h-source.html#l00216">connection::port</a>, <a class="el" href="connection_8h-source.html#l00220">connection::registered</a>, <a class="el" href="users_8h-source.html#l00137">result</a>, <a class="el" href="users_8h-source.html#l00127">server</a>, <a class="el" href="connection_8h-source.html#l00232">connection::signon</a>, <a class="el" href="users_8h-source.html#l00149">timeout</a>, and <a class="el" href="channels_8h-source.html#l00208">ucrec::uc_modes</a>.
120 <div class="fragment"><pre>00026 {
121 00027 <span class="comment">// the PROPER way to do it, AVOID bzero at *ALL* costs</span>
122 00028 strcpy(nick,<span class="stringliteral">""</span>);
123 00029 strcpy(ip,<span class="stringliteral">"127.0.0.1"</span>);
124 00030 <a class="code" href="classuserrec.html#o10">timeout</a> = 0;
125 00031 strcpy(ident,<span class="stringliteral">""</span>);
126 00032 strcpy(host,<span class="stringliteral">""</span>);
127 00033 strcpy(dhost,<span class="stringliteral">""</span>);
128 00034 strcpy(fullname,<span class="stringliteral">""</span>);
129 00035 strcpy(modes,<span class="stringliteral">""</span>);
130 00036 strcpy(inbuf,<span class="stringliteral">""</span>);
131 00037 strcpy(server,<span class="stringliteral">""</span>);
132 00038 strcpy(awaymsg,<span class="stringliteral">""</span>);
133 00039 <a class="code" href="classconnection.html#o0">fd</a> = <a class="code" href="classconnection.html#o12">lastping</a> = <a class="code" href="classconnection.html#o13">signon</a> = <a class="code" href="classconnection.html#o14">idle_lastmsg</a> = <a class="code" href="classconnection.html#o15">nping</a> = <a class="code" href="classconnection.html#o10">registered</a> = 0;
134 00040 <a class="code" href="classuserrec.html#o9">flood</a> = <a class="code" href="classconnection.html#o9">port</a> = <a class="code" href="classconnection.html#o4">bytes_in</a> = <a class="code" href="classconnection.html#o5">bytes_out</a> = <a class="code" href="classconnection.html#o6">cmds_in</a> = <a class="code" href="classconnection.html#o7">cmds_out</a> = 0;
135 00041 <a class="code" href="classconnection.html#o8">haspassed</a> = <span class="keyword">false</span>;
136 00042 strcpy(result,<span class="stringliteral">""</span>);
137 00043 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < MAXCHANS; i++)
139 00045 this-><a class="code" href="classuserrec.html#o5">chans</a>[i].<a class="code" href="classucrec.html#o1">channel</a> = NULL;
140 00046 this-><a class="code" href="classuserrec.html#o5">chans</a>[i].<a class="code" href="classucrec.html#o0">uc_modes</a> = 0;
142 00048 <a class="code" href="classuserrec.html#r0">invites</a>.clear();
147 <a name="a1" doxytag="userrec::~userrec"></a><p>
148 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
151 <table cellpadding="0" cellspacing="0" border="0">
153 <td class="md" nowrap valign="top"> virtual userrec::~<a class="el" href="classuserrec.html">userrec</a> </td>
154 <td class="md" valign="top">( </td>
155 <td class="mdname1" valign="top" nowrap> </td>
156 <td class="md" valign="top"> ) </td>
157 <td class="md" nowrap><code> [inline, virtual]</code></td>
164 <table cellspacing=5 cellpadding=0 border=0>
174 Definition at line <a class="el" href="users_8h-source.html#l00160">160</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
176 <div class="fragment"><pre>00160 { }
180 <hr><h2>Member Function Documentation</h2>
181 <a name="a2" doxytag="userrec::GetFullHost"></a><p>
182 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
185 <table cellpadding="0" cellspacing="0" border="0">
187 <td class="md" nowrap valign="top"> char * userrec::GetFullHost </td>
188 <td class="md" valign="top">( </td>
189 <td class="mdname1" valign="top" nowrap> </td>
190 <td class="md" valign="top"> ) </td>
191 <td class="md" nowrap><code> [virtual]</code></td>
198 <table cellspacing=5 cellpadding=0 border=0>
206 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.
210 Definition at line <a class="el" href="users_8cpp-source.html#l00053">53</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
212 References <a class="el" href="users_8h-source.html#l00111">dhost</a>, <a class="el" href="users_8h-source.html#l00106">ident</a>, <a class="el" href="users_8h-source.html#l00102">nick</a>, and <a class="el" href="users_8h-source.html#l00137">result</a>.
214 <div class="fragment"><pre>00054 {
215 00055 snprintf(result,MAXBUF,<span class="stringliteral">"%s!%s@%s"</span>,nick,ident,dhost);
216 00056 <span class="keywordflow">return</span> <a class="code" href="classuserrec.html#o8">result</a>;
221 <a name="a3" doxytag="userrec::GetFullRealHost"></a><p>
222 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
225 <table cellpadding="0" cellspacing="0" border="0">
227 <td class="md" nowrap valign="top"> char * userrec::GetFullRealHost </td>
228 <td class="md" valign="top">( </td>
229 <td class="mdname1" valign="top" nowrap> </td>
230 <td class="md" valign="top"> ) </td>
231 <td class="md" nowrap><code> [virtual]</code></td>
238 <table cellspacing=5 cellpadding=0 border=0>
246 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.
248 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.
250 Definition at line <a class="el" href="users_8cpp-source.html#l00060">60</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
252 References <a class="el" href="connection_8h-source.html#l00182">connection::host</a>, <a class="el" href="users_8h-source.html#l00106">ident</a>, <a class="el" href="users_8h-source.html#l00102">nick</a>, and <a class="el" href="users_8h-source.html#l00137">result</a>.
254 <div class="fragment"><pre>00061 {
255 00062 snprintf(result,MAXBUF,<span class="stringliteral">"%s!%s@%s"</span>,nick,ident,host);
256 00063 <span class="keywordflow">return</span> <a class="code" href="classuserrec.html#o8">result</a>;
261 <a name="a7" doxytag="userrec::HasPermission"></a><p>
262 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
265 <table cellpadding="0" cellspacing="0" border="0">
267 <td class="md" nowrap valign="top"> bool userrec::HasPermission </td>
268 <td class="md" valign="top">( </td>
269 <td class="md" nowrap valign="top">char * </td>
270 <td class="mdname1" valign="top" nowrap> <em>command</em> </td>
271 <td class="md" valign="top"> ) </td>
272 <td class="md" nowrap></td>
279 <table cellspacing=5 cellpadding=0 border=0>
287 Returns true or false for if a user can execute a privilaged oper command.
289 This is done by looking up their oper type from <a class="el" href="classuserrec.html#o11">userrec::oper</a>, then referencing this to their oper classes and checking the commands they can execute.
291 Definition at line <a class="el" href="users_8cpp-source.html#l00109">109</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
293 References <a class="el" href="channels_8cpp-source.html#l00100">config_f</a>, and <a class="el" href="modules_8h-source.html#l00023">DEBUG</a>.
295 <div class="fragment"><pre>00110 {
296 00111 <span class="keywordtype">char</span> TypeName[MAXBUF],Classes[MAXBUF],ClassName[MAXBUF],CommandList[MAXBUF];
297 00112 <span class="keywordtype">char</span>* myclass;
298 00113 <span class="keywordtype">char</span>* mycmd;
299 00114 <span class="keywordtype">char</span>* savept;
300 00115 <span class="keywordtype">char</span>* savept2;
302 00117 <span class="comment">// are they even an oper at all?</span>
303 00118 <span class="keywordflow">if</span> (strchr(this->modes,<span class="charliteral">'o'</span>))
305 00120 log(DEBUG,<span class="stringliteral">"*** HasPermission: %s is an oper"</span>,this->nick);
306 00121 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j =0; j < ConfValueEnum(<span class="stringliteral">"type"</span>,&config_f); j++)
308 00123 ConfValue(<span class="stringliteral">"type"</span>,<span class="stringliteral">"name"</span>,j,TypeName,&config_f);
309 00124 <span class="keywordflow">if</span> (!strcmp(TypeName,this->oper))
311 00126 log(DEBUG,<span class="stringliteral">"*** HasPermission: %s is an oper of type '%s'"</span>,this->nick,this->oper);
312 00127 ConfValue(<span class="stringliteral">"type"</span>,<span class="stringliteral">"classes"</span>,j,Classes,&config_f);
313 00128 <span class="keywordtype">char</span>* myclass = strtok_r(Classes,<span class="stringliteral">" "</span>,&savept);
314 00129 <span class="keywordflow">while</span> (myclass)
316 00131 log(DEBUG,<span class="stringliteral">"*** HasPermission: checking classtype '%s'"</span>,myclass);
317 00132 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> k =0; k < ConfValueEnum(<span class="stringliteral">"class"</span>,&config_f); k++)
319 00134 ConfValue(<span class="stringliteral">"class"</span>,<span class="stringliteral">"name"</span>,k,ClassName,&config_f);
320 00135 <span class="keywordflow">if</span> (!strcmp(ClassName,myclass))
322 00137 ConfValue(<span class="stringliteral">"class"</span>,<span class="stringliteral">"commands"</span>,k,CommandList,&config_f);
323 00138 log(DEBUG,<span class="stringliteral">"*** HasPermission: found class named %s with commands: '%s'"</span>,ClassName,CommandList);
326 00141 mycmd = strtok_r(CommandList,<span class="stringliteral">" "</span>,&savept2);
327 00142 <span class="keywordflow">while</span> (mycmd)
329 00144 <span class="keywordflow">if</span> (!strcasecmp(mycmd,command))
331 00146 log(DEBUG,<span class="stringliteral">"*** Command %s found, returning true"</span>,command);
332 00147 <span class="keywordflow">return</span> <span class="keyword">true</span>;
334 00149 mycmd = strtok_r(NULL,<span class="stringliteral">" "</span>,&savept2);
338 00153 myclass = strtok_r(NULL,<span class="stringliteral">" "</span>,&savept);
343 00158 <span class="keywordflow">return</span> <span class="keyword">false</span>;
348 <a name="a5" doxytag="userrec::InviteTo"></a><p>
349 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
352 <table cellpadding="0" cellspacing="0" border="0">
354 <td class="md" nowrap valign="top"> void userrec::InviteTo </td>
355 <td class="md" valign="top">( </td>
356 <td class="md" nowrap valign="top">char * </td>
357 <td class="mdname1" valign="top" nowrap> <em>channel</em> </td>
358 <td class="md" valign="top"> ) </td>
359 <td class="md" nowrap><code> [virtual]</code></td>
366 <table cellspacing=5 cellpadding=0 border=0>
374 Adds a channel to a users invite list (invites them to a channel).
378 Definition at line <a class="el" href="users_8cpp-source.html#l00080">80</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
380 References <a class="el" href="users_8h-source.html#l00039">Invited::channel</a>, and <a class="el" href="users_8h-source.html#l00095">invites</a>.
382 <div class="fragment"><pre>00081 {
383 00082 <a class="code" href="classInvited.html">Invited</a> i;
384 00083 strlcpy(i.<a class="code" href="classInvited.html#o0">channel</a>,channel,CHANMAX);
385 00084 <a class="code" href="classuserrec.html#r0">invites</a>.push_back(i);
390 <a name="a4" doxytag="userrec::IsInvited"></a><p>
391 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
394 <table cellpadding="0" cellspacing="0" border="0">
396 <td class="md" nowrap valign="top"> bool userrec::IsInvited </td>
397 <td class="md" valign="top">( </td>
398 <td class="md" nowrap valign="top">char * </td>
399 <td class="mdname1" valign="top" nowrap> <em>channel</em> </td>
400 <td class="md" valign="top"> ) </td>
401 <td class="md" nowrap><code> [virtual]</code></td>
408 <table cellspacing=5 cellpadding=0 border=0>
416 Returns true if a user is invited to a channel.
420 Definition at line <a class="el" href="users_8cpp-source.html#l00066">66</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
422 References <a class="el" href="users_8h-source.html#l00095">invites</a>.
424 <div class="fragment"><pre>00067 {
425 00068 <span class="keywordflow">for</span> (InvitedList::iterator i = <a class="code" href="classuserrec.html#r0">invites</a>.begin(); i != <a class="code" href="classuserrec.html#r0">invites</a>.end(); i++)
427 00070 <span class="keywordflow">if</span> (i->channel) {
428 00071 <span class="keywordflow">if</span> (!strcasecmp(i->channel,channel))
430 00073 <span class="keywordflow">return</span> <span class="keyword">true</span>;
434 00077 <span class="keywordflow">return</span> <span class="keyword">false</span>;
439 <a name="a6" doxytag="userrec::RemoveInvite"></a><p>
440 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
443 <table cellpadding="0" cellspacing="0" border="0">
445 <td class="md" nowrap valign="top"> void userrec::RemoveInvite </td>
446 <td class="md" valign="top">( </td>
447 <td class="md" nowrap valign="top">char * </td>
448 <td class="mdname1" valign="top" nowrap> <em>channel</em> </td>
449 <td class="md" valign="top"> ) </td>
450 <td class="md" nowrap><code> [virtual]</code></td>
457 <table cellspacing=5 cellpadding=0 border=0>
465 Removes a channel from a users invite list.
467 This member function is called on successfully joining an invite only channel to which the user has previously been invited, to clear the invitation.
469 Definition at line <a class="el" href="users_8cpp-source.html#l00087">87</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
471 References <a class="el" href="modules_8h-source.html#l00023">DEBUG</a>, and <a class="el" href="users_8h-source.html#l00095">invites</a>.
473 <div class="fragment"><pre>00088 {
474 00089 log(DEBUG,<span class="stringliteral">"Removing invites"</span>);
475 00090 <span class="keywordflow">if</span> (channel)
477 00092 <span class="keywordflow">if</span> (<a class="code" href="classuserrec.html#r0">invites</a>.size())
479 00094 <span class="keywordflow">for</span> (InvitedList::iterator i = <a class="code" href="classuserrec.html#r0">invites</a>.begin(); i != <a class="code" href="classuserrec.html#r0">invites</a>.end(); i++)
481 00096 <span class="keywordflow">if</span> (i->channel)
483 00098 <span class="keywordflow">if</span> (!strcasecmp(i->channel,channel))
485 00100 <a class="code" href="classuserrec.html#r0">invites</a>.erase(i);
486 00101 <span class="keywordflow">return</span>;
496 <hr><h2>Member Data Documentation</h2>
497 <a name="o7" doxytag="userrec::awaymsg"></a><p>
498 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
501 <table cellpadding="0" cellspacing="0" border="0">
503 <td class="md" nowrap valign="top"> char <a class="el" href="classuserrec.html#o7">userrec::awaymsg</a>[512]
508 <table cellspacing=5 cellpadding=0 border=0>
516 The user's away message.
518 If this string is empty, the user is not marked as away.
520 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>.
522 Referenced by <a class="el" href="users_8cpp-source.html#l00025">userrec()</a>. </td>
525 <a name="o5" doxytag="userrec::chans"></a><p>
526 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
529 <table cellpadding="0" cellspacing="0" border="0">
531 <td class="md" nowrap valign="top"> <a class="el" href="classucrec.html">ucrec</a> <a class="el" href="classuserrec.html#o5">userrec::chans</a>[MAXCHANS]
536 <table cellspacing=5 cellpadding=0 border=0>
546 Definition at line <a class="el" href="users_8h-source.html#l00123">123</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
548 Referenced by <a class="el" href="users_8cpp-source.html#l00025">userrec()</a>. </td>
551 <a name="o2" doxytag="userrec::dhost"></a><p>
552 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
555 <table cellpadding="0" cellspacing="0" border="0">
557 <td class="md" nowrap valign="top"> char <a class="el" href="classuserrec.html#o2">userrec::dhost</a>[256]
562 <table cellspacing=5 cellpadding=0 border=0>
570 The host displayed to non-opers (used for cloaking etc).
572 This usually matches the value of <a class="el" href="classconnection.html#o1">userrec::host</a>.
574 Definition at line <a class="el" href="users_8h-source.html#l00111">111</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
576 Referenced by <a class="el" href="users_8cpp-source.html#l00053">GetFullHost()</a>, and <a class="el" href="users_8cpp-source.html#l00025">userrec()</a>. </td>
579 <a name="o9" doxytag="userrec::flood"></a><p>
580 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
583 <table cellpadding="0" cellspacing="0" border="0">
585 <td class="md" nowrap valign="top"> int <a class="el" href="classuserrec.html#o9">userrec::flood</a>
590 <table cellspacing=5 cellpadding=0 border=0>
598 Number of lines the user can place into the buffer (up to the global NetBufferSize bytes) before they are disconnected for excess flood.
602 Definition at line <a class="el" href="users_8h-source.html#l00143">143</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
604 Referenced by <a class="el" href="users_8cpp-source.html#l00025">userrec()</a>. </td>
607 <a name="o3" doxytag="userrec::fullname"></a><p>
608 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
611 <table cellpadding="0" cellspacing="0" border="0">
613 <td class="md" nowrap valign="top"> char <a class="el" href="classuserrec.html#o3">userrec::fullname</a>[128]
618 <table cellspacing=5 cellpadding=0 border=0>
630 Definition at line <a class="el" href="users_8h-source.html#l00115">115</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
632 Referenced by <a class="el" href="users_8cpp-source.html#l00025">userrec()</a>. </td>
635 <a name="o1" doxytag="userrec::ident"></a><p>
636 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
639 <table cellpadding="0" cellspacing="0" border="0">
641 <td class="md" nowrap valign="top"> char <a class="el" href="classuserrec.html#o1">userrec::ident</a>[64]
646 <table cellspacing=5 cellpadding=0 border=0>
654 The users ident reply.
658 Definition at line <a class="el" href="users_8h-source.html#l00106">106</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
660 Referenced by <a class="el" href="users_8cpp-source.html#l00053">GetFullHost()</a>, <a class="el" href="users_8cpp-source.html#l00060">GetFullRealHost()</a>, and <a class="el" href="users_8cpp-source.html#l00025">userrec()</a>. </td>
663 <a name="r0" doxytag="userrec::invites"></a><p>
664 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
667 <table cellpadding="0" cellspacing="0" border="0">
669 <td class="md" nowrap valign="top"> <a class="el" href="users_8h.html#a6">InvitedList</a> <a class="el" href="classuserrec.html#r0">userrec::invites</a><code> [private]</code>
674 <table cellspacing=5 cellpadding=0 border=0>
682 A list of channels the user has a pending invite to.
686 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>.
688 Referenced by <a class="el" href="users_8cpp-source.html#l00080">InviteTo()</a>, <a class="el" href="users_8cpp-source.html#l00066">IsInvited()</a>, <a class="el" href="users_8cpp-source.html#l00087">RemoveInvite()</a>, and <a class="el" href="users_8cpp-source.html#l00025">userrec()</a>. </td>
691 <a name="o4" doxytag="userrec::modes"></a><p>
692 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
695 <table cellpadding="0" cellspacing="0" border="0">
697 <td class="md" nowrap valign="top"> char <a class="el" href="classuserrec.html#o4">userrec::modes</a>[MAXBUF]
702 <table cellspacing=5 cellpadding=0 border=0>
710 The user's mode string.
712 This may contain any of the following RFC characters: o, w, s, i Your module may define other mode characters as it sees fit.
714 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>.
716 Referenced by <a class="el" href="users_8cpp-source.html#l00025">userrec()</a>. </td>
719 <a name="o0" doxytag="userrec::nick"></a><p>
720 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
723 <table cellpadding="0" cellspacing="0" border="0">
725 <td class="md" nowrap valign="top"> char <a class="el" href="classuserrec.html#o0">userrec::nick</a>[NICKMAX]
730 <table cellspacing=5 cellpadding=0 border=0>
740 An invalid nickname indicates an unregistered connection prior to the NICK command.
742 Definition at line <a class="el" href="users_8h-source.html#l00102">102</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
744 Referenced by <a class="el" href="modules_8cpp-source.html#l00663">ConfigReader::DumpErrors()</a>, <a class="el" href="users_8cpp-source.html#l00053">GetFullHost()</a>, <a class="el" href="users_8cpp-source.html#l00060">GetFullRealHost()</a>, <a class="el" href="modules_8cpp-source.html#l00386">Server::QuitUser()</a>, and <a class="el" href="users_8cpp-source.html#l00025">userrec()</a>. </td>
747 <a name="o11" doxytag="userrec::oper"></a><p>
748 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
751 <table cellpadding="0" cellspacing="0" border="0">
753 <td class="md" nowrap valign="top"> char <a class="el" href="classuserrec.html#o11">userrec::oper</a>[NICKMAX]
758 <table cellspacing=5 cellpadding=0 border=0>
766 The oper type they logged in as, if they are an oper.
768 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.
770 Definition at line <a class="el" href="users_8h-source.html#l00156">156</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
773 <a name="o8" doxytag="userrec::result"></a><p>
774 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
777 <table cellpadding="0" cellspacing="0" border="0">
779 <td class="md" nowrap valign="top"> char <a class="el" href="classuserrec.html#o8">userrec::result</a>[256]
784 <table cellspacing=5 cellpadding=0 border=0>
792 Stores the result of the last GetFullHost or GetRealHost call.
794 You may use this to increase the speed of use of this class.
796 Definition at line <a class="el" href="users_8h-source.html#l00137">137</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
798 Referenced by <a class="el" href="users_8cpp-source.html#l00053">GetFullHost()</a>, <a class="el" href="users_8cpp-source.html#l00060">GetFullRealHost()</a>, and <a class="el" href="users_8cpp-source.html#l00025">userrec()</a>. </td>
801 <a name="o6" doxytag="userrec::server"></a><p>
802 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
805 <table cellpadding="0" cellspacing="0" border="0">
807 <td class="md" nowrap valign="top"> char <a class="el" href="classuserrec.html#o6">userrec::server</a>[256]
812 <table cellspacing=5 cellpadding=0 border=0>
820 The server the user is connected to.
824 Definition at line <a class="el" href="users_8h-source.html#l00127">127</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
826 Referenced by <a class="el" href="users_8cpp-source.html#l00025">userrec()</a>. </td>
829 <a name="o10" doxytag="userrec::timeout"></a><p>
830 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
833 <table cellpadding="0" cellspacing="0" border="0">
835 <td class="md" nowrap valign="top"> unsigned long <a class="el" href="classuserrec.html#o10">userrec::timeout</a>
840 <table cellspacing=5 cellpadding=0 border=0>
848 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.
852 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>.
854 Referenced by <a class="el" href="users_8cpp-source.html#l00025">userrec()</a>. </td>
857 <hr>The documentation for this class was generated from the following files:<ul>
858 <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>
859 <hr size="1"><address style="align: right;"><small>Generated on Fri Mar 25 03:49:34 2005 for InspIRCd by
860 <a href="http://www.doxygen.org/index.html">
861 <img src="doxygen.png" alt="doxygen" align="middle" border=0 >
862 </a>1.3.3 </small></address>