inspircd/docs/module-doc/classuserrec.html

1086 lines
42 KiB
HTML
Raw Normal View History

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>userrec class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc2 -->
<center>
<a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<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.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="users_8h-source.html">users.h</a>&gt;</code>
<p>
<a href="classuserrec-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#a0">userrec</a> ()</td></tr>
<tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#a1">~userrec</a> ()</td></tr>
<tr><td nowrap align=right valign=top>virtual char *&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#a2">GetFullHost</a> ()</td></tr>
<tr><td>&nbsp;</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>
<tr><td nowrap align=right valign=top>virtual char *&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#a3">GetFullRealHost</a> ()</td></tr>
<tr><td>&nbsp;</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>
<tr><td nowrap align=right valign=top>virtual bool&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#a4">IsInvited</a> (char *channel)</td></tr>
<tr><td>&nbsp;</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>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#a5">InviteTo</a> (char *channel)</td></tr>
<tr><td>&nbsp;</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>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#a6">RemoveInvite</a> (char *channel)</td></tr>
<tr><td>&nbsp;</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>
<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#m0">nick</a> [NICKMAX]</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>The users nickname.</em> <a href="#m0"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>unsigned long&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#m1">ip</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>The users ip address in network order.</em> <a href="#m1"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#m2">ident</a> [64]</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>The users ident reply.</em> <a href="#m2"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#m3">host</a> [256]</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>The users hostname, or ip address in string form.</em> <a href="#m3"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#m4">dhost</a> [256]</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>The host displayed to non-opers (used for cloaking etc).</em> <a href="#m4"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#m5">fullname</a> [128]</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>The users full name.</em> <a href="#m5"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#m6">fd</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>The users file descriptor.</em> <a href="#m6"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#m7">modes</a> [32]</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>The user's mode string.</em> <a href="#m7"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#m8">inbuf</a> [MAXBUF]</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>The users input buffer.</em> <a href="#m8"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>time_t&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#m9">lastping</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>The last time the user was pinged by the core.</em> <a href="#m9"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>time_t&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#m10">signon</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>The users signon time.</em> <a href="#m10"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>time_t&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#m11">idle_lastmsg</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>The time the user last sent a message.</em> <a href="#m11"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>time_t&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#m12">nping</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>True if the user replied to their last ping.</em> <a href="#m12"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#m13">registered</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Bit 1 is set if the user sent a NICK command, bit 2 is set if the user sent a USER command.</em> <a href="#m13"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="classucrec.html">ucrec</a>&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#m14">chans</a> [MAXCHANS]</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>A list of the channels the user is currently on.</em> <a href="#m14"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#m15">server</a> [256]</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>The server the user is connected to.</em> <a href="#m15"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#m16">awaymsg</a> [512]</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>The user's away message.</em> <a href="#m16"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#m17">port</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>The port that the user connected to.</em> <a href="#m17"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#m18">bytes_in</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Stores the number of incoming bytes from the connection.</em> <a href="#m18"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#m19">bytes_out</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Stores the number of outgoing bytes to the connection.</em> <a href="#m19"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#m20">cmds_in</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Stores the number of incoming commands from the connection.</em> <a href="#m20"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#m21">cmds_out</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Stores the number of outgoing commands to the connection.</em> <a href="#m21"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#m22">result</a> [256]</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Stores the result of the last GetFullHost or GetRealHost call.</em> <a href="#m22"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#m23">haspassed</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>True if a correct password has been given using PASS command.</em> <a href="#m23"></a><em></em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="users_8h.html#a6">InvitedList</a>&nbsp;</td><td valign=bottom><a class="el" href="classuserrec.html#o0">invites</a></td></tr>
<tr><td>&nbsp;</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>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Holds all information about a user This class stores all information about a user connected to the irc server.
<p>
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.
<p>
<p>
Definition at line <a class="el" href="users_8h-source.html#l00083">83</a> of file <a class="el" href="users_8h-source.html">users.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="userrec::userrec"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> userrec::userrec </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<p>
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>.
<p>
References <a class="el" href="users_8h-source.html#l00186">bytes_in</a>, <a class="el" href="users_8h-source.html#l00191">bytes_out</a>, <a class="el" href="channels_8h-source.html#l00192">ucrec::channel</a>, <a class="el" href="users_8h-source.html#l00168">chans</a>, <a class="el" href="users_8h-source.html#l00196">cmds_in</a>, <a class="el" href="users_8h-source.html#l00201">cmds_out</a>, <a class="el" href="users_8h-source.html#l00123">fd</a>, <a class="el" href="users_8h-source.html#l00212">haspassed</a>, <a class="el" href="users_8h-source.html#l00150">idle_lastmsg</a>, <a class="el" href="users_8h-source.html#l00089">invites</a>, <a class="el" href="users_8h-source.html#l00100">ip</a>, <a class="el" href="users_8h-source.html#l00141">lastping</a>, <a class="el" href="users_8h-source.html#l00156">nping</a>, <a class="el" href="users_8h-source.html#l00181">port</a>, <a class="el" href="users_8h-source.html#l00162">registered</a>, and <a class="el" href="users_8h-source.html#l00145">signon</a>.
<p>
<div class="fragment"><pre>00027 {
00028 <span class="comment">// the PROPER way to do it, AVOID bzero at *ALL* costs</span>
00029 strcpy(nick,<span class="stringliteral">""</span>);
00030 <a class="code" href="classuserrec.html#m1">ip</a> = 0;
00031 strcpy(ident,<span class="stringliteral">""</span>);
00032 strcpy(host,<span class="stringliteral">""</span>);
00033 strcpy(dhost,<span class="stringliteral">""</span>);
00034 strcpy(fullname,<span class="stringliteral">""</span>);
00035 strcpy(modes,<span class="stringliteral">""</span>);
00036 strcpy(inbuf,<span class="stringliteral">""</span>);
00037 strcpy(server,<span class="stringliteral">""</span>);
00038 strcpy(awaymsg,<span class="stringliteral">""</span>);
00039 <a class="code" href="classuserrec.html#m6">fd</a> = <a class="code" href="classuserrec.html#m9">lastping</a> = <a class="code" href="classuserrec.html#m10">signon</a> = <a class="code" href="classuserrec.html#m11">idle_lastmsg</a> = <a class="code" href="classuserrec.html#m12">nping</a> = <a class="code" href="classuserrec.html#m13">registered</a> = 0;
00040 <a class="code" href="classuserrec.html#m17">port</a> = <a class="code" href="classuserrec.html#m18">bytes_in</a> = <a class="code" href="classuserrec.html#m19">bytes_out</a> = <a class="code" href="classuserrec.html#m20">cmds_in</a> = <a class="code" href="classuserrec.html#m21">cmds_out</a> = 0;
00041 <a class="code" href="classuserrec.html#m23">haspassed</a> = <span class="keyword">false</span>;
00042 strcpy(result,<span class="stringliteral">""</span>);
00043 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; MAXCHANS; i++)
00044 {
00045 <a class="code" href="classuserrec.html#m14">chans</a>[i].<a class="code" href="classucrec.html#m1">channel</a> = NULL;
00046 }
00047 <a class="code" href="classuserrec.html#o0">invites</a>.clear();
00048 }
</pre></div> </td>
</tr>
</table>
<a name="a1" doxytag="userrec::~userrec"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual userrec::~userrec </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [inline, virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<p>
Definition at line <a class="el" href="users_8h-source.html#l00216">216</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
<p>
<div class="fragment"><pre>00216 { }
</pre></div> </td>
</tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a name="a2" doxytag="userrec::GetFullHost"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> char * userrec::GetFullHost </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
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.
<p>
<p>
Definition at line <a class="el" href="users_8cpp-source.html#l00051">51</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
<p>
References <a class="el" href="users_8h-source.html#l00206">result</a>.
<p>
<div class="fragment"><pre>00052 {
00053 sprintf(result,<span class="stringliteral">"%s!%s@%s"</span>,nick,ident,dhost);
00054 <span class="keywordflow">return</span> <a class="code" href="classuserrec.html#m22">result</a>;
00055 }
</pre></div> </td>
</tr>
</table>
<a name="a3" doxytag="userrec::GetFullRealHost"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> char * userrec::GetFullRealHost </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
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.
<p>
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.
<p>
Definition at line <a class="el" href="users_8cpp-source.html#l00058">58</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
<p>
References <a class="el" href="users_8h-source.html#l00206">result</a>.
<p>
<div class="fragment"><pre>00059 {
00060 sprintf(result,<span class="stringliteral">"%s!%s@%s"</span>,nick,ident,host);
00061 <span class="keywordflow">return</span> <a class="code" href="classuserrec.html#m22">result</a>;
00062 }
</pre></div> </td>
</tr>
</table>
<a name="a5" doxytag="userrec::InviteTo"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> void userrec::InviteTo </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>channel</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Adds a channel to a users invite list (invites them to a channel).
<p>
<p>
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>.
<p>
References <a class="el" href="users_8h-source.html#l00053">Invited::channel</a>, and <a class="el" href="users_8h-source.html#l00089">invites</a>.
<p>
<div class="fragment"><pre>00076 {
00077 <a class="code" href="classInvited.html">Invited</a> i;
00078 strcpy(i.<a class="code" href="classInvited.html#m0">channel</a>,channel);
00079 <a class="code" href="classuserrec.html#o0">invites</a>.push_back(i);
00080 }
</pre></div> </td>
</tr>
</table>
<a name="a4" doxytag="userrec::IsInvited"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool userrec::IsInvited </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>channel</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Returns true if a user is invited to a channel.
<p>
<p>
Definition at line <a class="el" href="users_8cpp-source.html#l00064">64</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
<p>
References <a class="el" href="users_8h-source.html#l00089">invites</a>.
<p>
<div class="fragment"><pre>00065 {
00066 <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++)
00067 {
00068 <span class="keywordflow">if</span> (!strcasecmp(i-&gt;channel,channel))
00069 {
00070 <span class="keywordflow">return</span> <span class="keyword">true</span>;
00071 }
00072 }
00073 }
</pre></div> </td>
</tr>
</table>
<a name="a6" doxytag="userrec::RemoveInvite"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> void userrec::RemoveInvite </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>channel</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Removes a channel from a users invite list.
<p>
This member function is called on successfully joining an invite only channel to which the user has previously been invited, to clear the invitation.
<p>
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>.
<p>
References <a class="el" href="users_8h-source.html#l00089">invites</a>.
<p>
<div class="fragment"><pre>00083 {
00084 <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++)
00085 {
00086 <span class="keywordflow">if</span> (!strcasecmp(i-&gt;channel,channel))
00087 {
00088 <a class="code" href="classuserrec.html#o0">invites</a>.erase(i);
00089 <span class="keywordflow">return</span>;
00090 }
00091 }
00092 }
</pre></div> </td>
</tr>
</table>
<hr><h2>Member Data Documentation</h2>
<a name="m16" doxytag="userrec::awaymsg"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> char userrec::awaymsg[512]
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
The user's away message.
<p>
If this string is empty, the user is not marked as away.
<p>
Definition at line <a class="el" href="users_8h-source.html#l00177">177</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
</tr>
</table>
<a name="m18" doxytag="userrec::bytes_in"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> long userrec::bytes_in
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Stores the number of incoming bytes from the connection.
<p>
Used by /STATS
<p>
Definition at line <a class="el" href="users_8h-source.html#l00186">186</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
<p>
Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
</tr>
</table>
<a name="m19" doxytag="userrec::bytes_out"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> long userrec::bytes_out
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Stores the number of outgoing bytes to the connection.
<p>
Used by /STATS
<p>
Definition at line <a class="el" href="users_8h-source.html#l00191">191</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
<p>
Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
</tr>
</table>
<a name="m14" doxytag="userrec::chans"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> <a class="el" href="classucrec.html">ucrec</a> userrec::chans[MAXCHANS]
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
A list of the channels the user is currently on.
<p>
If any of these values are NULL, the record is not in use and may be associated with a channel by the JOIN command. see RFC 1459.
<p>
Definition at line <a class="el" href="users_8h-source.html#l00168">168</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
<p>
Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
</tr>
</table>
<a name="m20" doxytag="userrec::cmds_in"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> long userrec::cmds_in
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Stores the number of incoming commands from the connection.
<p>
Used by /STATS
<p>
Definition at line <a class="el" href="users_8h-source.html#l00196">196</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
<p>
Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
</tr>
</table>
<a name="m21" doxytag="userrec::cmds_out"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> long userrec::cmds_out
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Stores the number of outgoing commands to the connection.
<p>
Used by /STATS
<p>
Definition at line <a class="el" href="users_8h-source.html#l00201">201</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
<p>
Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
</tr>
</table>
<a name="m4" doxytag="userrec::dhost"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> char userrec::dhost[256]
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
The host displayed to non-opers (used for cloaking etc).
<p>
This usually matches the value of <a class="el" href="classuserrec.html#m3">userrec::host</a>.
<p>
Definition at line <a class="el" href="users_8h-source.html#l00113">113</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
</tr>
</table>
<a name="m6" doxytag="userrec::fd"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> int userrec::fd
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
The users file descriptor.
<p>
If this is zero, the socket has been closed and the core has not yet realised and removed the record from memory.
<p>
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>.
<p>
Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
</tr>
</table>
<a name="m5" doxytag="userrec::fullname"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> char userrec::fullname[128]
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
The users full name.
<p>
<p>
Definition at line <a class="el" href="users_8h-source.html#l00117">117</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
</tr>
</table>
<a name="m23" doxytag="userrec::haspassed"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool userrec::haspassed
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
True if a correct password has been given using PASS command.
<p>
If the user is a member of a connection class that does not require a password, the value stored here is of no use.
<p>
Definition at line <a class="el" href="users_8h-source.html#l00212">212</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
<p>
Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
</tr>
</table>
<a name="m3" doxytag="userrec::host"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> char userrec::host[256]
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
The users hostname, or ip address in string form.
<p>
<p>
Definition at line <a class="el" href="users_8h-source.html#l00108">108</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
</tr>
</table>
<a name="m2" doxytag="userrec::ident"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> char userrec::ident[64]
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
The users ident reply.
<p>
<p>
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>
</tr>
</table>
<a name="m11" doxytag="userrec::idle_lastmsg"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> time_t userrec::idle_lastmsg
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
The time the user last sent a message.
<p>
See also <a class="el" href="classuserrec.html#m9">userrec::lastping</a> and <a class="el" href="classuserrec.html#m10">userrec::signon</a>
<p>
Definition at line <a class="el" href="users_8h-source.html#l00150">150</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
<p>
Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
</tr>
</table>
<a name="m8" doxytag="userrec::inbuf"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> char userrec::inbuf[MAXBUF]
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
The users input buffer.
<p>
Used by the C recv() function.
<p>
Definition at line <a class="el" href="users_8h-source.html#l00134">134</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
</tr>
</table>
<a name="o0" doxytag="userrec::invites"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> <a class="el" href="users_8h.html#a6">InvitedList</a> userrec::invites<code> [private]</code>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
A list of channels the user has a pending invite to.
<p>
<p>
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>.
<p>
Referenced by <a class="el" href="users_8cpp-source.html#l00075">InviteTo()</a>, <a class="el" href="users_8cpp-source.html#l00064">IsInvited()</a>, <a class="el" href="users_8cpp-source.html#l00082">RemoveInvite()</a>, and <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
</tr>
</table>
<a name="m1" doxytag="userrec::ip"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> unsigned long userrec::ip
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
The users ip address in network order.
<p>
<p>
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>.
<p>
Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
</tr>
</table>
<a name="m9" doxytag="userrec::lastping"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> time_t userrec::lastping
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
The last time the user was pinged by the core.
<p>
When this value is more than 120 seconds difference from 'time(NULL)', a ping is sent to the client. If the user has an outstanding PING request the next time this event occurs after 4 total minutes, they are disconnected.
<p>
Definition at line <a class="el" href="users_8h-source.html#l00141">141</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
<p>
Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
</tr>
</table>
<a name="m7" doxytag="userrec::modes"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> char userrec::modes[32]
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
The user's mode string.
<p>
This may contain any of the following RFC characters: o, w, s, i Your module may define other mode characters as it sees fit.
<p>
Definition at line <a class="el" href="users_8h-source.html#l00129">129</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
</tr>
</table>
<a name="m0" doxytag="userrec::nick"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> char userrec::nick[NICKMAX]
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
The users nickname.
<p>
An invalid nickname indicates an unregistered connection prior to the NICK command.
<p>
Definition at line <a class="el" href="users_8h-source.html#l00096">96</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
</tr>
</table>
<a name="m12" doxytag="userrec::nping"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> time_t userrec::nping
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
True if the user replied to their last ping.
<p>
If this is true, the user can be sent another ping at the specified time, otherwise they will be discnnected. See also <a class="el" href="classuserrec.html#m9">userrec::lastping</a>
<p>
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>.
<p>
Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
</tr>
</table>
<a name="m17" doxytag="userrec::port"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> int userrec::port
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
The port that the user connected to.
<p>
<p>
Definition at line <a class="el" href="users_8h-source.html#l00181">181</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
<p>
Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
</tr>
</table>
<a name="m13" doxytag="userrec::registered"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> int userrec::registered
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Bit 1 is set if the user sent a NICK command, bit 2 is set if the user sent a USER command.
<p>
If both bits are set then the connection is awaiting MOTD. Sending of MOTD sets bit 3, and makes the value of <a class="el" href="classuserrec.html#m13">userrec::registered</a> == 7, showing a fully established client session.
<p>
Definition at line <a class="el" href="users_8h-source.html#l00162">162</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
<p>
Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
</tr>
</table>
<a name="m22" doxytag="userrec::result"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> char userrec::result[256]
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Stores the result of the last GetFullHost or GetRealHost call.
<p>
You may use this to increase the speed of use of this class.
<p>
Definition at line <a class="el" href="users_8h-source.html#l00206">206</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
<p>
Referenced by <a class="el" href="users_8cpp-source.html#l00051">GetFullHost()</a>, and <a class="el" href="users_8cpp-source.html#l00058">GetFullRealHost()</a>. </td>
</tr>
</table>
<a name="m15" doxytag="userrec::server"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> char userrec::server[256]
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
The server the user is connected to.
<p>
<p>
Definition at line <a class="el" href="users_8h-source.html#l00172">172</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
</tr>
</table>
<a name="m10" doxytag="userrec::signon"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> time_t userrec::signon
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
The users signon time.
<p>
<p>
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>.
<p>
Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<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>
<hr><address style="align: right;"><small>Generated on Thu Jan 23 20:28:59 2003 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc2 </small></address>
</body>
</html>