<!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>OsclSocketMethod 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> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center> <hr><h1>OsclSocketMethod Class Reference</h1><code>#include <<a class="el" href="oscl__socket__method_8h-source.html">oscl_socket_method.h</a>></code> <p> <p>Inheritance diagram for OsclSocketMethod: <p><center><img src="classOsclSocketMethod.png" usemap="#OsclSocketMethod_map" border="0" alt=""></center> <map name="OsclSocketMethod_map"> <area href="classOsclTimerObject.html" alt="OsclTimerObject" shape="rect" coords="74,112,212,136"> <area href="classHeapBase.html" alt="HeapBase" shape="rect" coords="0,56,138,80"> <area href="classPVActiveBase.html" alt="PVActiveBase" shape="rect" coords="148,56,286,80"> <area href="class__OsclHeapBase.html" alt="_OsclHeapBase" shape="rect" coords="0,0,138,24"> <area href="classOsclAcceptMethod.html" alt="OsclAcceptMethod" shape="rect" coords="222,224,360,248"> <area href="classOsclBindMethod.html" alt="OsclBindMethod" shape="rect" coords="222,280,360,304"> <area href="classOsclConnectMethod.html" alt="OsclConnectMethod" shape="rect" coords="222,336,360,360"> <area href="classOsclListenMethod.html" alt="OsclListenMethod" shape="rect" coords="222,392,360,416"> <area href="classOsclRecvFromMethod.html" alt="OsclRecvFromMethod" shape="rect" coords="222,448,360,472"> <area href="classOsclRecvMethod.html" alt="OsclRecvMethod" shape="rect" coords="222,504,360,528"> <area href="classOsclSendMethod.html" alt="OsclSendMethod" shape="rect" coords="222,560,360,584"> <area href="classOsclSendToMethod.html" alt="OsclSendToMethod" shape="rect" coords="222,616,360,640"> <area href="classOsclShutdownMethod.html" alt="OsclShutdownMethod" shape="rect" coords="222,672,360,696"> </map> <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> </td><td valign=bottom><a class="el" href="classOsclSocketMethod.html#a0">OsclSocketMethod</a> (<a class="el" href="classOsclIPSocketI.html">OsclIPSocketI</a> &aContainer, const char *name, <a class="el" href="oscl__socket__types_8h.html#a19">TPVSocketFxn</a> fxn)</td></tr> <tr><td nowrap align=right valign=top>virtual </td><td valign=bottom><a class="el" href="classOsclSocketMethod.html#a1">~OsclSocketMethod</a> ()</td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classOsclSocketMethod.html#a2">Abort</a> ()</td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classOsclSocketMethod.html#a3">AbortAll</a> ()</td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classOsclSocketMethod.html#a4">CancelMethod</a> ()</td></tr> <tr><td nowrap align=right valign=top><a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a> & </td><td valign=bottom><a class="el" href="classOsclSocketMethod.html#a5">Alloc</a> ()</td></tr> <tr><td colspan=2><br><h2>Data Fields</h2></td></tr> <tr><td nowrap align=right valign=top><a class="el" href="classOsclIPSocketI.html">OsclIPSocketI</a> & </td><td valign=bottom><a class="el" href="classOsclSocketMethod.html#m0">iContainer</a></td></tr> <tr><td nowrap align=right valign=top><a class="el" href="oscl__socket__types_8h.html#a19">TPVSocketFxn</a> </td><td valign=bottom><a class="el" href="classOsclSocketMethod.html#m1">iSocketFxn</a></td></tr> <tr><td colspan=2><br><h2>Protected Methods</h2></td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classOsclSocketMethod.html#b0">ConstructL</a> (<a class="el" href="classOsclSocketRequestAO.html">OsclSocketRequestAO</a> *aAO)</td></tr> <tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classOsclSocketMethod.html#b1">StartMethod</a> (int32 aTimeoutMsec)</td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classOsclSocketMethod.html#b2">MethodDone</a> ()</td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classOsclSocketMethod.html#b3">Run</a> ()</td></tr> <tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr> <tr><td nowrap align=right valign=top><a class="el" href="classOsclSocketRequestAO.html">OsclSocketRequestAO</a> * </td><td valign=bottom><a class="el" href="classOsclSocketMethod.html#n0">iSocketRequestAO</a></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> OsclSocketMethod is the base class for all socket methods. Two AOs are required for each socket operation-- one to provide a timeout, and one to detect request completion. The OsclSocketMethod class implements the timeout and contains the request completion AO. <p> <hr><h2>Constructor & Destructor Documentation</h2> <a name="a0" doxytag="OsclSocketMethod::OsclSocketMethod"></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"> OsclSocketMethod::OsclSocketMethod </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="classOsclIPSocketI.html">OsclIPSocketI</a> & </td> <td class="mdname" nowrap> <em>aContainer</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>const char * </td> <td class="mdname" nowrap> <em>name</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="oscl__socket__types_8h.html#a19">TPVSocketFxn</a> </td> <td class="mdname" nowrap> <em>fxn</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"><code> [inline]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a1" doxytag="OsclSocketMethod::~OsclSocketMethod"></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 OsclSocketMethod::~OsclSocketMethod </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline, virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <hr><h2>Member Function Documentation</h2> <a name="a2" doxytag="OsclSocketMethod::Abort"></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 OsclSocketMethod::Abort </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a3" doxytag="OsclSocketMethod::AbortAll"></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 OsclSocketMethod::AbortAll </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a5" doxytag="OsclSocketMethod::Alloc"></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="classOscl__DefAlloc.html">Oscl_DefAlloc</a>& OsclSocketMethod::Alloc </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a4" doxytag="OsclSocketMethod::CancelMethod"></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 OsclSocketMethod::CancelMethod </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="b0" doxytag="OsclSocketMethod::ConstructL"></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 OsclSocketMethod::ConstructL </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="classOsclSocketRequestAO.html">OsclSocketRequestAO</a> * </td> <td class="mdname1" valign="top" nowrap> <em>aAO</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline, protected]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="b2" doxytag="OsclSocketMethod::MethodDone"></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 OsclSocketMethod::MethodDone </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline, protected]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="b3" doxytag="OsclSocketMethod::Run"></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 OsclSocketMethod::Run </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [protected, virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Handles an active object's request completion event. <p> A derived class must provide an implementation to handle the completed request. If appropriate, it may issue another request. <p> The function is called by the active scheduler when a request completion event occurs, i.e. after the active scheduler's WaitForAnyRequest() function completes. <p> Before calling this active object's <a class="el" href="classOsclSocketMethod.html#b3">Run()</a> function, the active scheduler has: <p> 1. decided that this is the highest priority active object with a completed request <p> 2. marked this active object's request as complete (i.e. the request is no longer outstanding) <p> <a class="el" href="classOsclSocketMethod.html#b3">Run()</a> runs under a trap harness in the active scheduler. If it leaves, then the active scheduler calls ExecError() to handle the leave. <p> Note that once the active scheduler's Start() function has been called, all user code is run under one of the program's active object's <a class="el" href="classOsclSocketMethod.html#b3">Run()</a> or <a class="el" href="classOsclTimerObject.html#b1">RunError()</a> functions. <p> Implements <a class="el" href="classPVActiveBase.html#a4">PVActiveBase</a>. </td> </tr> </table> <a name="b1" doxytag="OsclSocketMethod::StartMethod"></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 OsclSocketMethod::StartMethod </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">int32 </td> <td class="mdname1" valign="top" nowrap> <em>aTimeoutMsec</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [protected]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <hr><h2>Field Documentation</h2> <a name="m0" doxytag="OsclSocketMethod::iContainer"></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="classOsclIPSocketI.html">OsclIPSocketI</a>& OsclSocketMethod::iContainer </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="m1" doxytag="OsclSocketMethod::iSocketFxn"></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="oscl__socket__types_8h.html#a19">TPVSocketFxn</a> OsclSocketMethod::iSocketFxn </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="n0" doxytag="OsclSocketMethod::iSocketRequestAO"></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="classOsclSocketRequestAO.html">OsclSocketRequestAO</a>* OsclSocketMethod::iSocketRequestAO<code> [protected]</code> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="oscl__socket__method_8h-source.html">oscl_socket_method.h</a></ul> <hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small> <address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small> </small></address> </body> </html>