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#l00026">26</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="users_8h-source.html#l00156">oper</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>00027 {
121 00028 <span class="comment">// the PROPER way to do it, AVOID bzero at *ALL* costs</span>
122 00029 strcpy(nick,<span class="stringliteral">""</span>);
123 00030 strcpy(ip,<span class="stringliteral">"127.0.0.1"</span>);
124 00031 <a class="code" href="classuserrec.html#o10">timeout</a> = 0;
125 00032 strcpy(ident,<span class="stringliteral">""</span>);
126 00033 strcpy(host,<span class="stringliteral">""</span>);
127 00034 strcpy(dhost,<span class="stringliteral">""</span>);
128 00035 strcpy(fullname,<span class="stringliteral">""</span>);
129 00036 strcpy(modes,<span class="stringliteral">""</span>);
130 00037 strcpy(inbuf,<span class="stringliteral">""</span>);
131 00038 strcpy(server,<span class="stringliteral">""</span>);
132 00039 strcpy(awaymsg,<span class="stringliteral">""</span>);
133 00040 strcpy(oper,<span class="stringliteral">""</span>);
134 00041 <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;
135 00042 <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;
136 00043 <a class="code" href="classconnection.html#o8">haspassed</a> = <span class="keyword">false</span>;
137 00044 strcpy(result,<span class="stringliteral">""</span>);
138 00045 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < MAXCHANS; i++)
140 00047 this-><a class="code" href="classuserrec.html#o5">chans</a>[i].<a class="code" href="classucrec.html#o1">channel</a> = NULL;
141 00048 this-><a class="code" href="classuserrec.html#o5">chans</a>[i].<a class="code" href="classucrec.html#o0">uc_modes</a> = 0;
143 00050 <a class="code" href="classuserrec.html#r0">invites</a>.clear();
148 <a name="a1" doxytag="userrec::~userrec"></a><p>
149 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
152 <table cellpadding="0" cellspacing="0" border="0">
154 <td class="md" nowrap valign="top"> virtual userrec::~<a class="el" href="classuserrec.html">userrec</a> </td>
155 <td class="md" valign="top">( </td>
156 <td class="mdname1" valign="top" nowrap> </td>
157 <td class="md" valign="top"> ) </td>
158 <td class="md" nowrap><code> [inline, virtual]</code></td>
165 <table cellspacing=5 cellpadding=0 border=0>
175 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>.
177 <div class="fragment"><pre>00160 { }
181 <hr><h2>Member Function Documentation</h2>
182 <a name="a2" doxytag="userrec::GetFullHost"></a><p>
183 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
186 <table cellpadding="0" cellspacing="0" border="0">
188 <td class="md" nowrap valign="top"> char * userrec::GetFullHost </td>
189 <td class="md" valign="top">( </td>
190 <td class="mdname1" valign="top" nowrap> </td>
191 <td class="md" valign="top"> ) </td>
192 <td class="md" nowrap><code> [virtual]</code></td>
199 <table cellspacing=5 cellpadding=0 border=0>
207 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.
211 Definition at line <a class="el" href="users_8cpp-source.html#l00055">55</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
213 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>.
215 <div class="fragment"><pre>00056 {
216 00057 snprintf(result,MAXBUF,<span class="stringliteral">"%s!%s@%s"</span>,nick,ident,dhost);
217 00058 <span class="keywordflow">return</span> <a class="code" href="classuserrec.html#o8">result</a>;
222 <a name="a3" doxytag="userrec::GetFullRealHost"></a><p>
223 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
226 <table cellpadding="0" cellspacing="0" border="0">
228 <td class="md" nowrap valign="top"> char * userrec::GetFullRealHost </td>
229 <td class="md" valign="top">( </td>
230 <td class="mdname1" valign="top" nowrap> </td>
231 <td class="md" valign="top"> ) </td>
232 <td class="md" nowrap><code> [virtual]</code></td>
239 <table cellspacing=5 cellpadding=0 border=0>
247 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.
249 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.
251 Definition at line <a class="el" href="users_8cpp-source.html#l00062">62</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
253 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>.
255 <div class="fragment"><pre>00063 {
256 00064 snprintf(result,MAXBUF,<span class="stringliteral">"%s!%s@%s"</span>,nick,ident,host);
257 00065 <span class="keywordflow">return</span> <a class="code" href="classuserrec.html#o8">result</a>;
262 <a name="a7" doxytag="userrec::HasPermission"></a><p>
263 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
266 <table cellpadding="0" cellspacing="0" border="0">
268 <td class="md" nowrap valign="top"> bool userrec::HasPermission </td>
269 <td class="md" valign="top">( </td>
270 <td class="md" nowrap valign="top">char * </td>
271 <td class="mdname1" valign="top" nowrap> <em>command</em> </td>
272 <td class="md" valign="top"> ) </td>
273 <td class="md" nowrap></td>
280 <table cellspacing=5 cellpadding=0 border=0>
288 Returns true or false for if a user can execute a privilaged oper command.
290 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.
292 Definition at line <a class="el" href="users_8cpp-source.html#l00111">111</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
294 References <a class="el" href="channels_8cpp-source.html#l00101">config_f</a>, and <a class="el" href="modules_8h-source.html#l00023">DEBUG</a>.
296 <div class="fragment"><pre>00112 {
297 00113 <span class="keywordtype">char</span> TypeName[MAXBUF],Classes[MAXBUF],ClassName[MAXBUF],CommandList[MAXBUF];
298 00114 <span class="keywordtype">char</span>* myclass;
299 00115 <span class="keywordtype">char</span>* mycmd;
300 00116 <span class="keywordtype">char</span>* savept;
301 00117 <span class="keywordtype">char</span>* savept2;
303 00119 <span class="comment">// are they even an oper at all?</span>
304 00120 <span class="keywordflow">if</span> (strchr(this->modes,<span class="charliteral">'o'</span>))
306 00122 log(DEBUG,<span class="stringliteral">"*** HasPermission: %s is an oper"</span>,this->nick);
307 00123 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j =0; j < ConfValueEnum(<span class="stringliteral">"type"</span>,&config_f); j++)
309 00125 ConfValue(<span class="stringliteral">"type"</span>,<span class="stringliteral">"name"</span>,j,TypeName,&config_f);
310 00126 <span class="keywordflow">if</span> (!strcmp(TypeName,this->oper))
312 00128 log(DEBUG,<span class="stringliteral">"*** HasPermission: %s is an oper of type '%s'"</span>,this->nick,this->oper);
313 00129 ConfValue(<span class="stringliteral">"type"</span>,<span class="stringliteral">"classes"</span>,j,Classes,&config_f);
314 00130 <span class="keywordtype">char</span>* myclass = strtok_r(Classes,<span class="stringliteral">" "</span>,&savept);
315 00131 <span class="keywordflow">while</span> (myclass)
317 00133 log(DEBUG,<span class="stringliteral">"*** HasPermission: checking classtype '%s'"</span>,myclass);
318 00134 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> k =0; k < ConfValueEnum(<span class="stringliteral">"class"</span>,&config_f); k++)
320 00136 ConfValue(<span class="stringliteral">"class"</span>,<span class="stringliteral">"name"</span>,k,ClassName,&config_f);
321 00137 <span class="keywordflow">if</span> (!strcmp(ClassName,myclass))
323 00139 ConfValue(<span class="stringliteral">"class"</span>,<span class="stringliteral">"commands"</span>,k,CommandList,&config_f);
324 00140 log(DEBUG,<span class="stringliteral">"*** HasPermission: found class named %s with commands: '%s'"</span>,ClassName,CommandList);
327 00143 mycmd = strtok_r(CommandList,<span class="stringliteral">" "</span>,&savept2);
328 00144 <span class="keywordflow">while</span> (mycmd)
330 00146 <span class="keywordflow">if</span> (!strcasecmp(mycmd,command))
332 00148 log(DEBUG,<span class="stringliteral">"*** Command %s found, returning true"</span>,command);
333 00149 <span class="keywordflow">return</span> <span class="keyword">true</span>;
335 00151 mycmd = strtok_r(NULL,<span class="stringliteral">" "</span>,&savept2);
339 00155 myclass = strtok_r(NULL,<span class="stringliteral">" "</span>,&savept);
344 00160 <span class="keywordflow">return</span> <span class="keyword">false</span>;
349 <a name="a5" doxytag="userrec::InviteTo"></a><p>
350 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
353 <table cellpadding="0" cellspacing="0" border="0">
355 <td class="md" nowrap valign="top"> void userrec::InviteTo </td>
356 <td class="md" valign="top">( </td>
357 <td class="md" nowrap valign="top">char * </td>
358 <td class="mdname1" valign="top" nowrap> <em>channel</em> </td>
359 <td class="md" valign="top"> ) </td>
360 <td class="md" nowrap><code> [virtual]</code></td>
367 <table cellspacing=5 cellpadding=0 border=0>
375 Adds a channel to a users invite list (invites them to a channel).
379 Definition at line <a class="el" href="users_8cpp-source.html#l00082">82</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
381 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>.
383 <div class="fragment"><pre>00083 {
384 00084 <a class="code" href="classInvited.html">Invited</a> i;
385 00085 strlcpy(i.<a class="code" href="classInvited.html#o0">channel</a>,channel,CHANMAX);
386 00086 <a class="code" href="classuserrec.html#r0">invites</a>.push_back(i);
391 <a name="a4" doxytag="userrec::IsInvited"></a><p>
392 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
395 <table cellpadding="0" cellspacing="0" border="0">
397 <td class="md" nowrap valign="top"> bool userrec::IsInvited </td>
398 <td class="md" valign="top">( </td>
399 <td class="md" nowrap valign="top">char * </td>
400 <td class="mdname1" valign="top" nowrap> <em>channel</em> </td>
401 <td class="md" valign="top"> ) </td>
402 <td class="md" nowrap><code> [virtual]</code></td>
409 <table cellspacing=5 cellpadding=0 border=0>
417 Returns true if a user is invited to a channel.
421 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>.
423 References <a class="el" href="users_8h-source.html#l00095">invites</a>.
425 <div class="fragment"><pre>00069 {
426 00070 <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++)
428 00072 <span class="keywordflow">if</span> (i->channel) {
429 00073 <span class="keywordflow">if</span> (!strcasecmp(i->channel,channel))
431 00075 <span class="keywordflow">return</span> <span class="keyword">true</span>;
435 00079 <span class="keywordflow">return</span> <span class="keyword">false</span>;
440 <a name="a6" doxytag="userrec::RemoveInvite"></a><p>
441 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
444 <table cellpadding="0" cellspacing="0" border="0">
446 <td class="md" nowrap valign="top"> void userrec::RemoveInvite </td>
447 <td class="md" valign="top">( </td>
448 <td class="md" nowrap valign="top">char * </td>
449 <td class="mdname1" valign="top" nowrap> <em>channel</em> </td>
450 <td class="md" valign="top"> ) </td>
451 <td class="md" nowrap><code> [virtual]</code></td>
458 <table cellspacing=5 cellpadding=0 border=0>
466 Removes a channel from a users invite list.
468 This member function is called on successfully joining an invite only channel to which the user has previously been invited, to clear the invitation.
470 Definition at line <a class="el" href="users_8cpp-source.html#l00089">89</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
472 References <a class="el" href="modules_8h-source.html#l00023">DEBUG</a>, and <a class="el" href="users_8h-source.html#l00095">invites</a>.
474 <div class="fragment"><pre>00090 {
475 00091 log(DEBUG,<span class="stringliteral">"Removing invites"</span>);
476 00092 <span class="keywordflow">if</span> (channel)
478 00094 <span class="keywordflow">if</span> (<a class="code" href="classuserrec.html#r0">invites</a>.size())
480 00096 <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++)
482 00098 <span class="keywordflow">if</span> (i->channel)
484 00100 <span class="keywordflow">if</span> (!strcasecmp(i->channel,channel))
486 00102 <a class="code" href="classuserrec.html#r0">invites</a>.erase(i);
487 00103 <span class="keywordflow">return</span>;
497 <hr><h2>Member Data Documentation</h2>
498 <a name="o7" doxytag="userrec::awaymsg"></a><p>
499 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
502 <table cellpadding="0" cellspacing="0" border="0">
504 <td class="md" nowrap valign="top"> char <a class="el" href="classuserrec.html#o7">userrec::awaymsg</a>[512]
509 <table cellspacing=5 cellpadding=0 border=0>
517 The user's away message.
519 If this string is empty, the user is not marked as away.
521 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>.
523 Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
526 <a name="o5" doxytag="userrec::chans"></a><p>
527 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
530 <table cellpadding="0" cellspacing="0" border="0">
532 <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]
537 <table cellspacing=5 cellpadding=0 border=0>
547 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>.
549 Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
552 <a name="o2" doxytag="userrec::dhost"></a><p>
553 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
556 <table cellpadding="0" cellspacing="0" border="0">
558 <td class="md" nowrap valign="top"> char <a class="el" href="classuserrec.html#o2">userrec::dhost</a>[256]
563 <table cellspacing=5 cellpadding=0 border=0>
571 The host displayed to non-opers (used for cloaking etc).
573 This usually matches the value of <a class="el" href="classconnection.html#o1">userrec::host</a>.
575 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>.
577 Referenced by <a class="el" href="users_8cpp-source.html#l00055">GetFullHost()</a>, and <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
580 <a name="o9" doxytag="userrec::flood"></a><p>
581 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
584 <table cellpadding="0" cellspacing="0" border="0">
586 <td class="md" nowrap valign="top"> int <a class="el" href="classuserrec.html#o9">userrec::flood</a>
591 <table cellspacing=5 cellpadding=0 border=0>
599 Number of lines the user can place into the buffer (up to the global NetBufferSize bytes) before they are disconnected for excess flood.
603 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>.
605 Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
608 <a name="o3" doxytag="userrec::fullname"></a><p>
609 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
612 <table cellpadding="0" cellspacing="0" border="0">
614 <td class="md" nowrap valign="top"> char <a class="el" href="classuserrec.html#o3">userrec::fullname</a>[128]
619 <table cellspacing=5 cellpadding=0 border=0>
631 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>.
633 Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
636 <a name="o1" doxytag="userrec::ident"></a><p>
637 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
640 <table cellpadding="0" cellspacing="0" border="0">
642 <td class="md" nowrap valign="top"> char <a class="el" href="classuserrec.html#o1">userrec::ident</a>[64]
647 <table cellspacing=5 cellpadding=0 border=0>
655 The users ident reply.
659 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>.
661 Referenced by <a class="el" href="users_8cpp-source.html#l00055">GetFullHost()</a>, <a class="el" href="users_8cpp-source.html#l00062">GetFullRealHost()</a>, and <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
664 <a name="r0" doxytag="userrec::invites"></a><p>
665 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
668 <table cellpadding="0" cellspacing="0" border="0">
670 <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>
675 <table cellspacing=5 cellpadding=0 border=0>
683 A list of channels the user has a pending invite to.
687 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>.
689 Referenced by <a class="el" href="users_8cpp-source.html#l00082">InviteTo()</a>, <a class="el" href="users_8cpp-source.html#l00068">IsInvited()</a>, <a class="el" href="users_8cpp-source.html#l00089">RemoveInvite()</a>, and <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
692 <a name="o4" doxytag="userrec::modes"></a><p>
693 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
696 <table cellpadding="0" cellspacing="0" border="0">
698 <td class="md" nowrap valign="top"> char <a class="el" href="classuserrec.html#o4">userrec::modes</a>[MAXBUF]
703 <table cellspacing=5 cellpadding=0 border=0>
711 The user's mode string.
713 This may contain any of the following RFC characters: o, w, s, i Your module may define other mode characters as it sees fit.
715 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>.
717 Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
720 <a name="o0" doxytag="userrec::nick"></a><p>
721 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
724 <table cellpadding="0" cellspacing="0" border="0">
726 <td class="md" nowrap valign="top"> char <a class="el" href="classuserrec.html#o0">userrec::nick</a>[NICKMAX]
731 <table cellspacing=5 cellpadding=0 border=0>
741 An invalid nickname indicates an unregistered connection prior to the NICK command.
743 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>.
745 Referenced by <a class="el" href="modules_8cpp-source.html#l00673">ConfigReader::DumpErrors()</a>, <a class="el" href="users_8cpp-source.html#l00055">GetFullHost()</a>, <a class="el" href="users_8cpp-source.html#l00062">GetFullRealHost()</a>, <a class="el" href="modules_8cpp-source.html#l00396">Server::QuitUser()</a>, and <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
748 <a name="o11" doxytag="userrec::oper"></a><p>
749 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
752 <table cellpadding="0" cellspacing="0" border="0">
754 <td class="md" nowrap valign="top"> char <a class="el" href="classuserrec.html#o11">userrec::oper</a>[NICKMAX]
759 <table cellspacing=5 cellpadding=0 border=0>
767 The oper type they logged in as, if they are an oper.
769 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.
771 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>.
773 Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
776 <a name="o8" doxytag="userrec::result"></a><p>
777 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
780 <table cellpadding="0" cellspacing="0" border="0">
782 <td class="md" nowrap valign="top"> char <a class="el" href="classuserrec.html#o8">userrec::result</a>[256]
787 <table cellspacing=5 cellpadding=0 border=0>
795 Stores the result of the last GetFullHost or GetRealHost call.
797 You may use this to increase the speed of use of this class.
799 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>.
801 Referenced by <a class="el" href="users_8cpp-source.html#l00055">GetFullHost()</a>, <a class="el" href="users_8cpp-source.html#l00062">GetFullRealHost()</a>, and <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
804 <a name="o6" doxytag="userrec::server"></a><p>
805 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
808 <table cellpadding="0" cellspacing="0" border="0">
810 <td class="md" nowrap valign="top"> char <a class="el" href="classuserrec.html#o6">userrec::server</a>[256]
815 <table cellspacing=5 cellpadding=0 border=0>
823 The server the user is connected to.
827 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>.
829 Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
832 <a name="o10" doxytag="userrec::timeout"></a><p>
833 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
836 <table cellpadding="0" cellspacing="0" border="0">
838 <td class="md" nowrap valign="top"> unsigned long <a class="el" href="classuserrec.html#o10">userrec::timeout</a>
843 <table cellspacing=5 cellpadding=0 border=0>
851 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.
855 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>.
857 Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
860 <hr>The documentation for this class was generated from the following files:<ul>
861 <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>
862 <hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by
863 <a href="http://www.doxygen.org/index.html">
864 <img src="doxygen.png" alt="doxygen" align="middle" border=0 >
865 </a>1.3.3 </small></address>