⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 classppop3server.html

📁 pwlib开发文档
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!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>PPOP3Server class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.2.18 --><center><a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</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>PPOP3Server Class Reference</h1><code>#include &lt;<a class="el" href="inetmail_8h-source.html">inetmail.h</a>&gt;</code><p><p>Inheritance diagram for PPOP3Server:<p><center><img src="classPPOP3Server.png" usemap="#PPOP3Server_map" border="0" alt=""></center><map name="PPOP3Server_map"><area href="classPPOP3.html" alt="PPOP3" shape="rect" coords="0,224,109,248"><area href="classPInternetProtocol.html" alt="PInternetProtocol" shape="rect" coords="0,168,109,192"><area href="classPIndirectChannel.html" alt="PIndirectChannel" shape="rect" coords="0,112,109,136"><area href="classPChannel.html" alt="PChannel" shape="rect" coords="0,56,109,80"><area href="classPObject.html" alt="PObject" shape="rect" coords="0,0,109,24"></map><a href="classPPOP3Server-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="classPPOP3Server.html#a0">PPOP3Server</a> ()</td></tr><tr><td nowrap align=right valign=top>BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPPOP3Server.html#a1">ProcessCommand</a> ()</td></tr><tr><td nowrap align=right valign=top>virtual BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPPOP3Server.html#a2">HandleOpenMailbox</a> (const <a class="el" href="classPString.html">PString</a> &amp;<a class="el" href="classPPOP3Server.html#n0">username</a>, const <a class="el" href="classPString.html">PString</a> &amp;password)</td></tr><tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classPPOP3Server.html#a3">HandleSendMessage</a> (PINDEX messageNumber, const <a class="el" href="classPString.html">PString</a> &amp;id, PINDEX lines)</td></tr><tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classPPOP3Server.html#a4">HandleDeleteMessage</a> (PINDEX messageNumber, const <a class="el" href="classPString.html">PString</a> &amp;id)</td></tr><tr><td colspan=2><br><h2>Protected Methods</h2></td></tr><tr><td nowrap align=right valign=top>BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPPOP3Server.html#b0">OnOpen</a> ()</td></tr><tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classPPOP3Server.html#b1">OnUSER</a> (const <a class="el" href="classPString.html">PString</a> &amp;name)</td></tr><tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classPPOP3Server.html#b2">OnPASS</a> (const <a class="el" href="classPString.html">PString</a> &amp;passwd)</td></tr><tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classPPOP3Server.html#b3">OnQUIT</a> ()</td></tr><tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classPPOP3Server.html#b4">OnRSET</a> ()</td></tr><tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classPPOP3Server.html#b5">OnNOOP</a> ()</td></tr><tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classPPOP3Server.html#b6">OnSTAT</a> ()</td></tr><tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classPPOP3Server.html#b7">OnLIST</a> (PINDEX msg)</td></tr><tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classPPOP3Server.html#b8">OnRETR</a> (PINDEX msg)</td></tr><tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classPPOP3Server.html#b9">OnDELE</a> (PINDEX msg)</td></tr><tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classPPOP3Server.html#b10">OnTOP</a> (PINDEX msg, PINDEX count)</td></tr><tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classPPOP3Server.html#b11">OnUIDL</a> (PINDEX msg)</td></tr><tr><td nowrap align=right valign=top>virtual BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPPOP3Server.html#b12">OnUnknown</a> (const <a class="el" href="classPCaselessString.html">PCaselessString</a> &amp;command)</td></tr><tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a>&nbsp;</td><td valign=bottom><a class="el" href="classPPOP3Server.html#n0">username</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPUnsignedArray.html">PUnsignedArray</a>&nbsp;</td><td valign=bottom><a class="el" href="classPPOP3Server.html#n1">messageSizes</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPStringArray.html">PStringArray</a>&nbsp;</td><td valign=bottom><a class="el" href="classPPOP3Server.html#n2">messageIDs</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPBYTEArray.html">PBYTEArray</a>&nbsp;</td><td valign=bottom><a class="el" href="classPPOP3Server.html#n3">messageDeletions</a></td></tr></table><hr><a name="_details"></a><h2>Detailed Description</h2>A TCP/IP socket for the Post Office Protocol version 3.<p>When acting as a server, a descendant class would be created to override at least the &lt;A&gt;<a class="el" href="classPPOP3Server.html#a2">HandleOpenMailbox()</a>, &lt;A&gt;<a class="el" href="classPPOP3Server.html#a3">HandleSendMessage()</a> and &lt;A&gt;<a class="el" href="classPPOP3Server.html#a4">HandleDeleteMessage()</a> functions. Other functions may be overridden for further enhancement to the sockets capabilities, but these will give a basic POP3 server functionality.<p>The server socket thread would continuously call the &lt;A&gt;ProcessMessage() function until it returns FALSE. This will then call the appropriate virtual function on parsing the POP3 protocol. <p><hr><h2>Constructor &amp; Destructor Documentation</h2><a name="a0" doxytag="PPOP3Server::PPOP3Server"></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"> PPOP3Server::PPOP3Server </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>Create a TCP/IP POP3 protocol socket channel. The parameterless form creates an unopened socket, the form with the <code>address</code> parameter makes a connection to a remote system, opening the socket. The form with the <code>socket</code> parameter opens the socket to an incoming call from a "listening" socket.     </td>  </tr></table><hr><h2>Member Function Documentation</h2><a name="a4" doxytag="PPOP3Server::HandleDeleteMessage"></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 void PPOP3Server::HandleDeleteMessage </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">PINDEX&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>messageNumber</em>, </td>        </tr>        <tr>          <td></td>          <td></td>          <td class="md" nowrap>const <a class="el" href="classPString.html">PString</a> &amp;&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>id</em></td>        </tr>        <tr>          <td></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"><code> [virtual]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Handle the deleting of the specified message from the mail box. This is called when the OnQUIT command is called for each message that was deleted using the DELE command.<p><dl compact><dt><b>Returns: </b></dt><dd> TRUE if successfully sent message. </dl>    </td>  </tr></table><a name="a2" doxytag="PPOP3Server::HandleOpenMailbox"></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 BOOL PPOP3Server::HandleOpenMailbox </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">const <a class="el" href="classPString.html">PString</a> &amp;&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>username</em>, </td>        </tr>        <tr>          <td></td>          <td></td>          <td class="md" nowrap>const <a class="el" href="classPString.html">PString</a> &amp;&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>password</em></td>        </tr>        <tr>          <td></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"><code> [virtual]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Log the specified user into the mail system and return sizes of each message in mail box.<p>The user override of this function is expected to populate the protected member fields <code>messageSizes</code> and <code>messageIDs</code>.<p><dl compact><dt><b>Returns: </b></dt><dd> TRUE if user and password were valid. </dl>    </td>  </tr></table><a name="a3" doxytag="PPOP3Server::HandleSendMessage"></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 void PPOP3Server::HandleSendMessage </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">PINDEX&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>messageNumber</em>, </td>        </tr>        <tr>          <td></td>          <td></td>          <td class="md" nowrap>const <a class="el" href="classPString.html">PString</a> &amp;&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>id</em>, </td>        </tr>        <tr>          <td></td>          <td></td>          <td class="md" nowrap>PINDEX&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>lines</em></td>        </tr>        <tr>          <td></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"><code> [virtual]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Handle the sending of the specified message to the remote client. The data written to the socket will automatically have the '.' character stuffing enabled.<p><dl compact><dt><b>Returns: </b></dt><dd> TRUE if successfully sent message. </dl>    </td>  </tr></table><a name="b9" doxytag="PPOP3Server::OnDELE"></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 void PPOP3Server::OnDELE </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">PINDEX&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp; <em>msg</em>          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [protected, virtual]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>    </td>  </tr></table><a name="b7" doxytag="PPOP3Server::OnLIST"></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 void PPOP3Server::OnLIST </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">PINDEX&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp; <em>msg</em>          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [protected, virtual]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Get the size of a message in mailbox. If <code>msg</code> is 0 then get sizes of all messages in mailbox.     </td>  </tr></table><a name="b5" doxytag="PPOP3Server::OnNOOP"></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 void PPOP3Server::OnNOOP </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> [protected, virtual]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>    </td>  </tr></table><a name="b0" doxytag="PPOP3Server::OnOpen"></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 PPOP3Server::OnOpen </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> [protected, virtual]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>This callback is executed when the <a class="el" href="classPIndirectChannel.html#z159_0">Open()</a> function is called with open channels. It may be used by descendent channels to do any handshaking required by the protocol that channel embodies.<p>The default behaviour is to simply return TRUE.<p><dl compact><dt><b>Returns: </b></dt><dd> Returns TRUE if the protocol handshaking is successful. </dl><p>Reimplemented from <a class="el" href="classPIndirectChannel.html#b0">PIndirectChannel</a>.    </td>  </tr></table><a name="b2" doxytag="PPOP3Server::OnPASS"></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 void PPOP3Server::OnPASS </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">const <a class="el" href="classPString.html">PString</a> &amp;&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp; <em>passwd</em>          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [protected, virtual]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>    </td>  </tr></table><a name="b3" doxytag="PPOP3Server::OnQUIT"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -