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

📄 classpindirectchannel.html

📁 pwlib开发文档
💻 HTML
📖 第 1 页 / 共 3 页
字号:
          <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>Get the name of the channel. This is a combination of the channel pointers names (or simply the channel pointers name if the read and write channels are the same) or empty string if both null.<p><dl compact><dt><b>Returns: </b></dt><dd> string for the channel names. </dl><p>Reimplemented from <a class="el" href="classPChannel.html#z47_1">PChannel</a>.    </td>  </tr></table><a name="z159_3" doxytag="PIndirectChannel::GetReadChannel"></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"> PINLINE <a class="el" href="classPChannel.html">PChannel</a> * PIndirectChannel::GetReadChannel </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>Get the channel used for read operations.<p><dl compact><dt><b>Returns: </b></dt><dd> pointer to the read channel. </dl>    </td>  </tr></table><a name="z159_5" doxytag="PIndirectChannel::GetWriteChannel"></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"> PINLINE <a class="el" href="classPChannel.html">PChannel</a> * PIndirectChannel::GetWriteChannel </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>Get the channel used for write operations.<p><dl compact><dt><b>Returns: </b></dt><dd> pointer to the write channel. </dl>    </td>  </tr></table><a name="z157_2" doxytag="PIndirectChannel::IsOpen"></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 PIndirectChannel::IsOpen </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>Determine if the channel is currently open and read and write operations can be executed on it. For example, in the PFile# class it returns if the file is currently open.<p><dl compact><dt><b>Returns: </b></dt><dd> TRUE if the channel is open. </dl><p>Reimplemented from <a class="el" href="classPChannel.html#z47_0">PChannel</a>.<p>Reimplemented in <a class="el" href="classPVXMLChannel.html#a3">PVXMLChannel</a>.    </td>  </tr></table><a name="b0" doxytag="PIndirectChannel::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"> virtual BOOL PIndirectChannel::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 in <a class="el" href="classPFTPClient.html#b0">PFTPClient</a>, <a class="el" href="classPFTPServer.html#b0">PFTPServer</a>, <a class="el" href="classPSMTPClient.html#b0">PSMTPClient</a>, <a class="el" href="classPSMTPServer.html#b0">PSMTPServer</a>, <a class="el" href="classPPOP3Client.html#b0">PPOP3Client</a>, <a class="el" href="classPPOP3Server.html#b0">PPOP3Server</a>, <a class="el" href="classPRFC822Channel.html#b0">PRFC822Channel</a>, and <a class="el" href="classPSSLChannel.html#b0">PSSLChannel</a>.    </td>  </tr></table><a name="z159_2" doxytag="PIndirectChannel::Open"></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 PIndirectChannel::Open </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top"><a class="el" href="classPChannel.html">PChannel</a> *&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>readChannel</em>, </td>        </tr>        <tr>          <td></td>          <td></td>          <td class="md" nowrap><a class="el" href="classPChannel.html">PChannel</a> *&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>writeChannel</em>, </td>        </tr>        <tr>          <td></td>          <td></td>          <td class="md" nowrap>BOOL&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>autoDeleteRead</em> = TRUE, </td>        </tr>        <tr>          <td></td>          <td></td>          <td class="md" nowrap>BOOL&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>autoDeleteWrite</em> = TRUE</td>        </tr>        <tr>          <td></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Set the channel for both read and write operations. This then checks that they are open and then calls the <a class="el" href="classPIndirectChannel.html#b0">OnOpen()</a> virtual function. If it in turn returns TRUE then the <a class="el" href="classPIndirectChannel.html#z159_0">Open()</a> function returns success.<p>The channels pointed to by <a class="el" href="classPIndirectChannel.html#n0">readChannel</a># and <a class="el" href="classPIndirectChannel.html#n2">writeChannel</a># may be automatically deleted when the PIndirectChannel is destroyed or a new subchannel opened.<p><dl compact><dt><b>Returns: </b></dt><dd> TRUE if both channels are set, open and <a class="el" href="classPIndirectChannel.html#b0">OnOpen()</a> returns TRUE. </dl>    </td>  </tr></table><a name="z159_1" doxytag="PIndirectChannel::Open"></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 PIndirectChannel::Open </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top"><a class="el" href="classPChannel.html">PChannel</a> *&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>channel</em>, </td>        </tr>        <tr>          <td></td>          <td></td>          <td class="md" nowrap>BOOL&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>autoDelete</em> = TRUE</td>        </tr>        <tr>          <td></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Set the channel for both read and write operations. This then checks that they are open and then calls the <a class="el" href="classPIndirectChannel.html#b0">OnOpen()</a> virtual function. If it in turn returns TRUE then the <a class="el" href="classPIndirectChannel.html#z159_0">Open()</a> function returns success.<p>The channel pointed to by channel# may be automatically deleted when the PIndirectChannel is destroyed or a new subchannel opened.<p><dl compact><dt><b>Returns: </b></dt><dd> TRUE if both channels are set, open and <a class="el" href="classPIndirectChannel.html#b0">OnOpen()</a> returns TRUE. </dl><dl compact><dt><b>Parameters: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>autoDelete</em>&nbsp;</td><td>Channel to be used for both read and write operations. Automatically delete the channel </td></tr></table></dl>    </td>  </tr></table><a name="z159_0" doxytag="PIndirectChannel::Open"></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 PIndirectChannel::Open </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top"><a class="el" href="classPChannel.html">PChannel</a> &amp;&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp; <em>channel</em>          </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>Set the channel for both read and write operations. This then checks that they are open and then calls the <a class="el" href="classPIndirectChannel.html#b0">OnOpen()</a> virtual function. If it in turn returns TRUE then the <a class="el" href="classPIndirectChannel.html#z159_0">Open()</a> function returns success.<p><dl compact><dt><b>Returns: </b></dt><dd> TRUE if both channels are set, open and <a class="el" href="classPIndirectChannel.html#b0">OnOpen()</a> returns TRUE. </dl><dl compact><dt><b>Parameters: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>channel</em>&nbsp;</td><td>Channel to be used for both read and write operations. </td></tr></table></dl>    </td>  </tr></table><a name="z157_3" doxytag="PIndirectChannel::Read"></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 PIndirectChannel::Read </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">void *&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>buf</em>, </td>        </tr>        <tr>          <td></td>          <td></td>          <td class="md" nowrap>PINDEX&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>len</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>Low level read from the channel. This function may block until the requested number of characters were read or the read timeout was reached. The <a class="el" href="classPChannel.html#z49_3">GetLastReadCount()</a> function returns the actual number of bytes read.<p>This will use the <a class="el" href="classPIndirectChannel.html#n0">readChannel</a># pointer to actually do the read. If <a class="el" href="classPIndirectChannel.html#n0">readChannel</a># is null the this asserts.<p>

⌨️ 快捷键说明

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