Home | History | Annotate | Download | only in oscl_html
      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>PVActiveBase class Reference</title>
      4 <link href="doxygen.css" rel="stylesheet" type="text/css">
      5 </head><body>
      6 <!-- Generated by Doxygen 1.2.18 -->
      7 <center>
      8 <a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Data Structures</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Data Fields</a> &nbsp; <a class="qindex" href="globals.html">Globals</a> &nbsp; </center>
      9 <hr><h1>PVActiveBase Class Reference<br>
     10 <small>
     11 [<a class="el" href="group__osclproc.html">OSCL Proc</a>]</small>
     12 </h1><code>#include &lt;<a class="el" href="oscl__scheduler__aobase_8h-source.html">oscl_scheduler_aobase.h</a>&gt;</code>
     13 <p>
     14 <p>Inheritance diagram for PVActiveBase:
     15 <p><center><img src="classPVActiveBase.png" usemap="#PVActiveBase_map" border="0" alt=""></center>
     16 <map name="PVActiveBase_map">
     17 <area href="classOsclActiveObject.html" alt="OsclActiveObject" shape="rect" coords="0,56,145,80">
     18 <area href="classOsclTimerObject.html" alt="OsclTimerObject" shape="rect" coords="310,56,455,80">
     19 <area href="classOsclAsyncFile.html" alt="OsclAsyncFile" shape="rect" coords="155,112,300,136">
     20 <area href="classOsclDNSRequestAO.html" alt="OsclDNSRequestAO" shape="rect" coords="155,168,300,192">
     21 <area href="classOsclSocketRequestAO.html" alt="OsclSocketRequestAO" shape="rect" coords="155,224,300,248">
     22 <area href="classPVSchedulerStopper.html" alt="PVSchedulerStopper" shape="rect" coords="155,280,300,304">
     23 <area href="classCallbackTimer.html" alt="CallbackTimer< Alloc >" shape="rect" coords="465,112,610,136">
     24 <area href="classOsclDNSMethod.html" alt="OsclDNSMethod" shape="rect" coords="465,168,610,192">
     25 <area href="classOsclSocketMethod.html" alt="OsclSocketMethod" shape="rect" coords="465,224,610,248">
     26 <area href="classOsclSocketServI.html" alt="OsclSocketServI" shape="rect" coords="465,280,610,304">
     27 </map>
     28 <table border=0 cellpadding=0 cellspacing=0>
     29 <tr><td></td></tr>
     30 <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
     31 <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classPVActiveBase.html#a0">PVActiveBase</a> (const char name[], int32 pri)</td></tr>
     32 <tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classPVActiveBase.html#a1">~PVActiveBase</a> ()</td></tr>
     33 <tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classPVActiveBase.html#a2">IsInAnyQ</a> ()</td></tr>
     34 <tr><td nowrap align=right valign=top>virtual int32&nbsp;</td><td valign=bottom><a class="el" href="classPVActiveBase.html#a3">RunError</a> (int32 aError)=0</td></tr>
     35 <tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classPVActiveBase.html#a4">Run</a> ()=0</td></tr>
     36 <tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classPVActiveBase.html#a5">DoCancel</a> ()=0</td></tr>
     37 <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPVActiveBase.html#a6">AddToScheduler</a> ()</td></tr>
     38 <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPVActiveBase.html#a7">RemoveFromScheduler</a> ()</td></tr>
     39 <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPVActiveBase.html#a8">Destroy</a> ()</td></tr>
     40 <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPVActiveBase.html#a9">Activate</a> ()</td></tr>
     41 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF bool&nbsp;</td><td valign=bottom><a class="el" href="classPVActiveBase.html#a10">IsAdded</a> () const</td></tr>
     42 <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPVActiveBase.html#a11">Cancel</a> ()</td></tr>
     43 <tr><td colspan=2><br><h2>Data Fields</h2></td></tr>
     44 <tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="classPVActiveBase.html#m0">iAddedNum</a></td></tr>
     45 <tr><td nowrap align=right valign=top><a class="el" href="classOsclNameString.html">OsclNameString</a>&lt; PVEXECNAMELEN &gt;&nbsp;</td><td valign=bottom><a class="el" href="classPVActiveBase.html#m1">iName</a></td></tr>
     46 <tr><td nowrap align=right valign=top><a class="el" href="classPVThreadContext.html">PVThreadContext</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVActiveBase.html#m2">iThreadContext</a></td></tr>
     47 <tr><td nowrap align=right valign=top><a class="el" href="classPVActiveStats.html">PVActiveStats</a> *&nbsp;</td><td valign=bottom><a class="el" href="classPVActiveBase.html#m3">iPVActiveStats</a></td></tr>
     48 <tr><td nowrap align=right valign=top><a class="el" href="classTReadyQueLink.html">TReadyQueLink</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVActiveBase.html#m4">iPVReadyQLink</a></td></tr>
     49 <tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classPVActiveBase.html#m5">iBusy</a></td></tr>
     50 <tr><td nowrap align=right valign=top><a class="el" href="classOsclAOStatus.html">OsclAOStatus</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVActiveBase.html#m6">iStatus</a></td></tr>
     51 <tr><td colspan=2><br><h2>Friends</h2></td></tr>
     52 <tr><td nowrap align=right valign=top>class&nbsp;</td><td valign=bottom><a class="el" href="classPVActiveBase.html#l0">PVActiveStats</a></td></tr>
     53 <tr><td nowrap align=right valign=top>class&nbsp;</td><td valign=bottom><a class="el" href="classPVActiveBase.html#l1">OsclSchedulerCommonBase</a></td></tr>
     54 <tr><td nowrap align=right valign=top>class&nbsp;</td><td valign=bottom><a class="el" href="classPVActiveBase.html#l2">OsclActiveObject</a></td></tr>
     55 <tr><td nowrap align=right valign=top>class&nbsp;</td><td valign=bottom><a class="el" href="classPVActiveBase.html#l3">OsclTimerObject</a></td></tr>
     56 <tr><td nowrap align=right valign=top>class&nbsp;</td><td valign=bottom><a class="el" href="classPVActiveBase.html#l4">OsclReadyQ</a></td></tr>
     57 <tr><td nowrap align=right valign=top>class&nbsp;</td><td valign=bottom><a class="el" href="classPVActiveBase.html#l5">OsclReadyCompare</a></td></tr>
     58 <tr><td nowrap align=right valign=top>class&nbsp;</td><td valign=bottom><a class="el" href="classPVActiveBase.html#l6">OsclReadySetPosition</a></td></tr>
     59 <tr><td nowrap align=right valign=top>class&nbsp;</td><td valign=bottom><a class="el" href="classPVActiveBase.html#l7">OsclExecScheduler</a></td></tr>
     60 </table>
     61 <hr><a name="_details"></a><h2>Detailed Description</h2>
     62 PV Scheduler internal AO base class. Both <a class="el" href="classOsclActiveObject.html">OsclActiveObject</a> and <a class="el" href="classOsclTimerObject.html">OsclTimerObject</a> derive from this class. For Symbian, this just container has the desired additions to the basic CTimer or OsclActiveObj functionality. For non-Symbian, this class contains the entire AO implementation. 
     63 <p>
     64 <hr><h2>Constructor &amp; Destructor Documentation</h2>
     65 <a name="a0" doxytag="PVActiveBase::PVActiveBase"></a><p>
     66 <table width="100%" cellpadding="2" cellspacing="0" border="0">
     67   <tr>
     68     <td class="md">
     69       <table cellpadding="0" cellspacing="0" border="0">
     70         <tr>
     71           <td class="md" nowrap valign="top"> PVActiveBase::PVActiveBase </td>
     72           <td class="md" valign="top">(&nbsp;</td>
     73           <td class="md" nowrap valign="top">const char&nbsp;</td>
     74           <td class="mdname" nowrap>&nbsp; <em>name</em>[], </td>
     75         </tr>
     76         <tr>
     77           <td></td>
     78           <td></td>
     79           <td class="md" nowrap>int32&nbsp;</td>
     80           <td class="mdname" nowrap>&nbsp; <em>pri</em></td>
     81         </tr>
     82         <tr>
     83           <td></td>
     84           <td class="md">)&nbsp;</td>
     85           <td class="md" colspan="2"></td>
     86         </tr>
     87 
     88       </table>
     89     </td>
     90   </tr>
     91 </table>
     92 <table cellspacing=5 cellpadding=0 border=0>
     93   <tr>
     94     <td>
     95       &nbsp;
     96     </td>
     97     <td>
     98 
     99 <p>
    100     </td>
    101   </tr>
    102 </table>
    103 <a name="a1" doxytag="PVActiveBase::~PVActiveBase"></a><p>
    104 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    105   <tr>
    106     <td class="md">
    107       <table cellpadding="0" cellspacing="0" border="0">
    108         <tr>
    109           <td class="md" nowrap valign="top"> virtual PVActiveBase::~PVActiveBase </td>
    110           <td class="md" valign="top">(&nbsp;</td>
    111           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    112           <td class="md" valign="top">)&nbsp;</td>
    113           <td class="md" nowrap><code> [virtual]</code></td>
    114         </tr>
    115 
    116       </table>
    117     </td>
    118   </tr>
    119 </table>
    120 <table cellspacing=5 cellpadding=0 border=0>
    121   <tr>
    122     <td>
    123       &nbsp;
    124     </td>
    125     <td>
    126 
    127 <p>
    128     </td>
    129   </tr>
    130 </table>
    131 <hr><h2>Member Function Documentation</h2>
    132 <a name="a9" doxytag="PVActiveBase::Activate"></a><p>
    133 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    134   <tr>
    135     <td class="md">
    136       <table cellpadding="0" cellspacing="0" border="0">
    137         <tr>
    138           <td class="md" nowrap valign="top"> void PVActiveBase::Activate </td>
    139           <td class="md" valign="top">(&nbsp;</td>
    140           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    141           <td class="md" valign="top">)&nbsp;</td>
    142           <td class="md" nowrap></td>
    143         </tr>
    144 
    145       </table>
    146     </td>
    147   </tr>
    148 </table>
    149 <table cellspacing=5 cellpadding=0 border=0>
    150   <tr>
    151     <td>
    152       &nbsp;
    153     </td>
    154     <td>
    155 
    156 <p>
    157     </td>
    158   </tr>
    159 </table>
    160 <a name="a6" doxytag="PVActiveBase::AddToScheduler"></a><p>
    161 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    162   <tr>
    163     <td class="md">
    164       <table cellpadding="0" cellspacing="0" border="0">
    165         <tr>
    166           <td class="md" nowrap valign="top"> void PVActiveBase::AddToScheduler </td>
    167           <td class="md" valign="top">(&nbsp;</td>
    168           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    169           <td class="md" valign="top">)&nbsp;</td>
    170           <td class="md" nowrap></td>
    171         </tr>
    172 
    173       </table>
    174     </td>
    175   </tr>
    176 </table>
    177 <table cellspacing=5 cellpadding=0 border=0>
    178   <tr>
    179     <td>
    180       &nbsp;
    181     </td>
    182     <td>
    183 
    184 <p>
    185 
    186 <p>
    187 Reimplemented in <a class="el" href="classOsclActiveObject.html#a6">OsclActiveObject</a>, and <a class="el" href="classOsclTimerObject.html#a2">OsclTimerObject</a>.    </td>
    188   </tr>
    189 </table>
    190 <a name="a11" doxytag="PVActiveBase::Cancel"></a><p>
    191 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    192   <tr>
    193     <td class="md">
    194       <table cellpadding="0" cellspacing="0" border="0">
    195         <tr>
    196           <td class="md" nowrap valign="top"> void PVActiveBase::Cancel </td>
    197           <td class="md" valign="top">(&nbsp;</td>
    198           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    199           <td class="md" valign="top">)&nbsp;</td>
    200           <td class="md" nowrap></td>
    201         </tr>
    202 
    203       </table>
    204     </td>
    205   </tr>
    206 </table>
    207 <table cellspacing=5 cellpadding=0 border=0>
    208   <tr>
    209     <td>
    210       &nbsp;
    211     </td>
    212     <td>
    213 
    214 <p>
    215 
    216 <p>
    217 Reimplemented in <a class="el" href="classOsclActiveObject.html#a9">OsclActiveObject</a>, and <a class="el" href="classOsclTimerObject.html#a8">OsclTimerObject</a>.    </td>
    218   </tr>
    219 </table>
    220 <a name="a8" doxytag="PVActiveBase::Destroy"></a><p>
    221 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    222   <tr>
    223     <td class="md">
    224       <table cellpadding="0" cellspacing="0" border="0">
    225         <tr>
    226           <td class="md" nowrap valign="top"> void PVActiveBase::Destroy </td>
    227           <td class="md" valign="top">(&nbsp;</td>
    228           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    229           <td class="md" valign="top">)&nbsp;</td>
    230           <td class="md" nowrap></td>
    231         </tr>
    232 
    233       </table>
    234     </td>
    235   </tr>
    236 </table>
    237 <table cellspacing=5 cellpadding=0 border=0>
    238   <tr>
    239     <td>
    240       &nbsp;
    241     </td>
    242     <td>
    243 
    244 <p>
    245     </td>
    246   </tr>
    247 </table>
    248 <a name="a5" doxytag="PVActiveBase::DoCancel"></a><p>
    249 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    250   <tr>
    251     <td class="md">
    252       <table cellpadding="0" cellspacing="0" border="0">
    253         <tr>
    254           <td class="md" nowrap valign="top"> virtual void PVActiveBase::DoCancel </td>
    255           <td class="md" valign="top">(&nbsp;</td>
    256           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    257           <td class="md" valign="top">)&nbsp;</td>
    258           <td class="md" nowrap><code> [pure virtual]</code></td>
    259         </tr>
    260 
    261       </table>
    262     </td>
    263   </tr>
    264 </table>
    265 <table cellspacing=5 cellpadding=0 border=0>
    266   <tr>
    267     <td>
    268       &nbsp;
    269     </td>
    270     <td>
    271 
    272 <p>
    273 Implements cancellation of an outstanding request.
    274 <p>
    275 This function is called as part of the active object's <a class="el" href="classPVActiveBase.html#a11">Cancel()</a>.
    276 <p>
    277 It must call the appropriate cancel function offered by the active object's asynchronous service provider. The asynchronous service provider's cancel is expected to act immediately.
    278 <p>
    279 <a class="el" href="classPVActiveBase.html#a5">DoCancel()</a> must not wait for event completion; this is handled by <a class="el" href="classPVActiveBase.html#a11">Cancel()</a>. 
    280 <p>
    281 Implemented in <a class="el" href="classOsclDNSRequestAO.html#b7">OsclDNSRequestAO</a>, <a class="el" href="classOsclSocketRequestAO.html#b7">OsclSocketRequestAO</a>, <a class="el" href="classOsclActiveObject.html#b0">OsclActiveObject</a>, and <a class="el" href="classOsclTimerObject.html#b0">OsclTimerObject</a>.    </td>
    282   </tr>
    283 </table>
    284 <a name="a10" doxytag="PVActiveBase::IsAdded"></a><p>
    285 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    286   <tr>
    287     <td class="md">
    288       <table cellpadding="0" cellspacing="0" border="0">
    289         <tr>
    290           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF bool PVActiveBase::IsAdded </td>
    291           <td class="md" valign="top">(&nbsp;</td>
    292           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    293           <td class="md" valign="top">)&nbsp;</td>
    294           <td class="md" nowrap></td>
    295         </tr>
    296 
    297       </table>
    298     </td>
    299   </tr>
    300 </table>
    301 <table cellspacing=5 cellpadding=0 border=0>
    302   <tr>
    303     <td>
    304       &nbsp;
    305     </td>
    306     <td>
    307 
    308 <p>
    309     </td>
    310   </tr>
    311 </table>
    312 <a name="a2" doxytag="PVActiveBase::IsInAnyQ"></a><p>
    313 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    314   <tr>
    315     <td class="md">
    316       <table cellpadding="0" cellspacing="0" border="0">
    317         <tr>
    318           <td class="md" nowrap valign="top"> bool PVActiveBase::IsInAnyQ </td>
    319           <td class="md" valign="top">(&nbsp;</td>
    320           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    321           <td class="md" valign="top">)&nbsp;</td>
    322           <td class="md" nowrap><code> [inline]</code></td>
    323         </tr>
    324 
    325       </table>
    326     </td>
    327   </tr>
    328 </table>
    329 <table cellspacing=5 cellpadding=0 border=0>
    330   <tr>
    331     <td>
    332       &nbsp;
    333     </td>
    334     <td>
    335 
    336 <p>
    337     </td>
    338   </tr>
    339 </table>
    340 <a name="a7" doxytag="PVActiveBase::RemoveFromScheduler"></a><p>
    341 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    342   <tr>
    343     <td class="md">
    344       <table cellpadding="0" cellspacing="0" border="0">
    345         <tr>
    346           <td class="md" nowrap valign="top"> void PVActiveBase::RemoveFromScheduler </td>
    347           <td class="md" valign="top">(&nbsp;</td>
    348           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    349           <td class="md" valign="top">)&nbsp;</td>
    350           <td class="md" nowrap></td>
    351         </tr>
    352 
    353       </table>
    354     </td>
    355   </tr>
    356 </table>
    357 <table cellspacing=5 cellpadding=0 border=0>
    358   <tr>
    359     <td>
    360       &nbsp;
    361     </td>
    362     <td>
    363 
    364 <p>
    365 
    366 <p>
    367 Reimplemented in <a class="el" href="classOsclActiveObject.html#a7">OsclActiveObject</a>, and <a class="el" href="classOsclTimerObject.html#a3">OsclTimerObject</a>.    </td>
    368   </tr>
    369 </table>
    370 <a name="a4" doxytag="PVActiveBase::Run"></a><p>
    371 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    372   <tr>
    373     <td class="md">
    374       <table cellpadding="0" cellspacing="0" border="0">
    375         <tr>
    376           <td class="md" nowrap valign="top"> virtual void PVActiveBase::Run </td>
    377           <td class="md" valign="top">(&nbsp;</td>
    378           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    379           <td class="md" valign="top">)&nbsp;</td>
    380           <td class="md" nowrap><code> [pure virtual]</code></td>
    381         </tr>
    382 
    383       </table>
    384     </td>
    385   </tr>
    386 </table>
    387 <table cellspacing=5 cellpadding=0 border=0>
    388   <tr>
    389     <td>
    390       &nbsp;
    391     </td>
    392     <td>
    393 
    394 <p>
    395 Handles an active object's request completion event.
    396 <p>
    397 A derived class must provide an implementation to handle the completed request. If appropriate, it may issue another request.
    398 <p>
    399 The function is called by the active scheduler when a request completion event occurs, i.e. after the active scheduler's WaitForAnyRequest() function completes.
    400 <p>
    401 Before calling this active object's <a class="el" href="classPVActiveBase.html#a4">Run()</a> function, the active scheduler has:
    402 <p>
    403 1. decided that this is the highest priority active object with a completed request
    404 <p>
    405 2. marked this active object's request as complete (i.e. the request is no longer outstanding)
    406 <p>
    407 <a class="el" href="classPVActiveBase.html#a4">Run()</a> runs under a trap harness in the active scheduler. If it leaves, then the active scheduler calls ExecError() to handle the leave.
    408 <p>
    409 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="classPVActiveBase.html#a4">Run()</a> or <a class="el" href="classPVActiveBase.html#a3">RunError()</a> functions. 
    410 <p>
    411 Implemented in <a class="el" href="classOsclDNSMethod.html#a4">OsclDNSMethod</a>, <a class="el" href="classOsclDNSRequestAO.html#b8">OsclDNSRequestAO</a>, <a class="el" href="classOsclSocketMethod.html#b3">OsclSocketMethod</a>, <a class="el" href="classOsclSocketRequestAO.html#b8">OsclSocketRequestAO</a>, and <a class="el" href="classCallbackTimer.html#a2">CallbackTimer&lt; Alloc &gt;</a>.    </td>
    412   </tr>
    413 </table>
    414 <a name="a3" doxytag="PVActiveBase::RunError"></a><p>
    415 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    416   <tr>
    417     <td class="md">
    418       <table cellpadding="0" cellspacing="0" border="0">
    419         <tr>
    420           <td class="md" nowrap valign="top"> virtual int32 PVActiveBase::RunError </td>
    421           <td class="md" valign="top">(&nbsp;</td>
    422           <td class="md" nowrap valign="top">int32&nbsp;</td>
    423           <td class="mdname1" valign="top" nowrap>&nbsp; <em>aError</em>          </td>
    424           <td class="md" valign="top">)&nbsp;</td>
    425           <td class="md" nowrap><code> [pure virtual]</code></td>
    426         </tr>
    427 
    428       </table>
    429     </td>
    430   </tr>
    431 </table>
    432 <table cellspacing=5 cellpadding=0 border=0>
    433   <tr>
    434     <td>
    435       &nbsp;
    436     </td>
    437     <td>
    438 
    439 <p>
    440 Virtual routine that gets called if the active object's Run routine leaves. <dl compact><dt><b>Parameters: </b></dt><dd>
    441 <table border=0 cellspacing=2 cellpadding=0>
    442 <tr><td valign=top><em>aError:</em>&nbsp;</td><td>
    443 the leave code generated by the Run. </td></tr>
    444 </table>
    445 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    446 :returns OsclErrNone if the error was handled, or returns the input aError value if not handled. </dl>
    447 <p>
    448 Implemented in <a class="el" href="classOsclActiveObject.html#b1">OsclActiveObject</a>, and <a class="el" href="classOsclTimerObject.html#b1">OsclTimerObject</a>.    </td>
    449   </tr>
    450 </table>
    451 <hr><h2>Friends And Related Function Documentation</h2>
    452 <a name="l2" doxytag="PVActiveBase::OsclActiveObject"></a><p>
    453 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    454   <tr>
    455     <td class="md">
    456       <table cellpadding="0" cellspacing="0" border="0">
    457         <tr>
    458           <td class="md" nowrap valign="top"> friend class OsclActiveObject<code> [friend]</code>
    459       </table>
    460     </td>
    461   </tr>
    462 </table>
    463 <table cellspacing=5 cellpadding=0 border=0>
    464   <tr>
    465     <td>
    466       &nbsp;
    467     </td>
    468     <td>
    469 
    470 <p>
    471     </td>
    472   </tr>
    473 </table>
    474 <a name="l7" doxytag="PVActiveBase::OsclExecScheduler"></a><p>
    475 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    476   <tr>
    477     <td class="md">
    478       <table cellpadding="0" cellspacing="0" border="0">
    479         <tr>
    480           <td class="md" nowrap valign="top"> friend class OsclExecScheduler<code> [friend]</code>
    481       </table>
    482     </td>
    483   </tr>
    484 </table>
    485 <table cellspacing=5 cellpadding=0 border=0>
    486   <tr>
    487     <td>
    488       &nbsp;
    489     </td>
    490     <td>
    491 
    492 <p>
    493     </td>
    494   </tr>
    495 </table>
    496 <a name="l5" doxytag="PVActiveBase::OsclReadyCompare"></a><p>
    497 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    498   <tr>
    499     <td class="md">
    500       <table cellpadding="0" cellspacing="0" border="0">
    501         <tr>
    502           <td class="md" nowrap valign="top"> friend class OsclReadyCompare<code> [friend]</code>
    503       </table>
    504     </td>
    505   </tr>
    506 </table>
    507 <table cellspacing=5 cellpadding=0 border=0>
    508   <tr>
    509     <td>
    510       &nbsp;
    511     </td>
    512     <td>
    513 
    514 <p>
    515     </td>
    516   </tr>
    517 </table>
    518 <a name="l4" doxytag="PVActiveBase::OsclReadyQ"></a><p>
    519 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    520   <tr>
    521     <td class="md">
    522       <table cellpadding="0" cellspacing="0" border="0">
    523         <tr>
    524           <td class="md" nowrap valign="top"> friend class OsclReadyQ<code> [friend]</code>
    525       </table>
    526     </td>
    527   </tr>
    528 </table>
    529 <table cellspacing=5 cellpadding=0 border=0>
    530   <tr>
    531     <td>
    532       &nbsp;
    533     </td>
    534     <td>
    535 
    536 <p>
    537     </td>
    538   </tr>
    539 </table>
    540 <a name="l6" doxytag="PVActiveBase::OsclReadySetPosition"></a><p>
    541 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    542   <tr>
    543     <td class="md">
    544       <table cellpadding="0" cellspacing="0" border="0">
    545         <tr>
    546           <td class="md" nowrap valign="top"> friend class OsclReadySetPosition<code> [friend]</code>
    547       </table>
    548     </td>
    549   </tr>
    550 </table>
    551 <table cellspacing=5 cellpadding=0 border=0>
    552   <tr>
    553     <td>
    554       &nbsp;
    555     </td>
    556     <td>
    557 
    558 <p>
    559     </td>
    560   </tr>
    561 </table>
    562 <a name="l1" doxytag="PVActiveBase::OsclSchedulerCommonBase"></a><p>
    563 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    564   <tr>
    565     <td class="md">
    566       <table cellpadding="0" cellspacing="0" border="0">
    567         <tr>
    568           <td class="md" nowrap valign="top"> friend class OsclSchedulerCommonBase<code> [friend]</code>
    569       </table>
    570     </td>
    571   </tr>
    572 </table>
    573 <table cellspacing=5 cellpadding=0 border=0>
    574   <tr>
    575     <td>
    576       &nbsp;
    577     </td>
    578     <td>
    579 
    580 <p>
    581     </td>
    582   </tr>
    583 </table>
    584 <a name="l3" doxytag="PVActiveBase::OsclTimerObject"></a><p>
    585 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    586   <tr>
    587     <td class="md">
    588       <table cellpadding="0" cellspacing="0" border="0">
    589         <tr>
    590           <td class="md" nowrap valign="top"> friend class OsclTimerObject<code> [friend]</code>
    591       </table>
    592     </td>
    593   </tr>
    594 </table>
    595 <table cellspacing=5 cellpadding=0 border=0>
    596   <tr>
    597     <td>
    598       &nbsp;
    599     </td>
    600     <td>
    601 
    602 <p>
    603     </td>
    604   </tr>
    605 </table>
    606 <a name="l0" doxytag="PVActiveBase::PVActiveStats"></a><p>
    607 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    608   <tr>
    609     <td class="md">
    610       <table cellpadding="0" cellspacing="0" border="0">
    611         <tr>
    612           <td class="md" nowrap valign="top"> friend class PVActiveStats<code> [friend]</code>
    613       </table>
    614     </td>
    615   </tr>
    616 </table>
    617 <table cellspacing=5 cellpadding=0 border=0>
    618   <tr>
    619     <td>
    620       &nbsp;
    621     </td>
    622     <td>
    623 
    624 <p>
    625     </td>
    626   </tr>
    627 </table>
    628 <hr><h2>Field Documentation</h2>
    629 <a name="m0" doxytag="PVActiveBase::iAddedNum"></a><p>
    630 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    631   <tr>
    632     <td class="md">
    633       <table cellpadding="0" cellspacing="0" border="0">
    634         <tr>
    635           <td class="md" nowrap valign="top"> uint32 PVActiveBase::iAddedNum
    636       </table>
    637     </td>
    638   </tr>
    639 </table>
    640 <table cellspacing=5 cellpadding=0 border=0>
    641   <tr>
    642     <td>
    643       &nbsp;
    644     </td>
    645     <td>
    646 
    647 <p>
    648     </td>
    649   </tr>
    650 </table>
    651 <a name="m5" doxytag="PVActiveBase::iBusy"></a><p>
    652 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    653   <tr>
    654     <td class="md">
    655       <table cellpadding="0" cellspacing="0" border="0">
    656         <tr>
    657           <td class="md" nowrap valign="top"> bool PVActiveBase::iBusy
    658       </table>
    659     </td>
    660   </tr>
    661 </table>
    662 <table cellspacing=5 cellpadding=0 border=0>
    663   <tr>
    664     <td>
    665       &nbsp;
    666     </td>
    667     <td>
    668 
    669 <p>
    670     </td>
    671   </tr>
    672 </table>
    673 <a name="m1" doxytag="PVActiveBase::iName"></a><p>
    674 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    675   <tr>
    676     <td class="md">
    677       <table cellpadding="0" cellspacing="0" border="0">
    678         <tr>
    679           <td class="md" nowrap valign="top"> <a class="el" href="classOsclNameString.html">OsclNameString</a>&lt;PVEXECNAMELEN&gt; PVActiveBase::iName
    680       </table>
    681     </td>
    682   </tr>
    683 </table>
    684 <table cellspacing=5 cellpadding=0 border=0>
    685   <tr>
    686     <td>
    687       &nbsp;
    688     </td>
    689     <td>
    690 
    691 <p>
    692     </td>
    693   </tr>
    694 </table>
    695 <a name="m3" doxytag="PVActiveBase::iPVActiveStats"></a><p>
    696 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    697   <tr>
    698     <td class="md">
    699       <table cellpadding="0" cellspacing="0" border="0">
    700         <tr>
    701           <td class="md" nowrap valign="top"> <a class="el" href="classPVActiveStats.html">PVActiveStats</a>* PVActiveBase::iPVActiveStats
    702       </table>
    703     </td>
    704   </tr>
    705 </table>
    706 <table cellspacing=5 cellpadding=0 border=0>
    707   <tr>
    708     <td>
    709       &nbsp;
    710     </td>
    711     <td>
    712 
    713 <p>
    714     </td>
    715   </tr>
    716 </table>
    717 <a name="m4" doxytag="PVActiveBase::iPVReadyQLink"></a><p>
    718 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    719   <tr>
    720     <td class="md">
    721       <table cellpadding="0" cellspacing="0" border="0">
    722         <tr>
    723           <td class="md" nowrap valign="top"> <a class="el" href="classTReadyQueLink.html">TReadyQueLink</a> PVActiveBase::iPVReadyQLink
    724       </table>
    725     </td>
    726   </tr>
    727 </table>
    728 <table cellspacing=5 cellpadding=0 border=0>
    729   <tr>
    730     <td>
    731       &nbsp;
    732     </td>
    733     <td>
    734 
    735 <p>
    736     </td>
    737   </tr>
    738 </table>
    739 <a name="m6" doxytag="PVActiveBase::iStatus"></a><p>
    740 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    741   <tr>
    742     <td class="md">
    743       <table cellpadding="0" cellspacing="0" border="0">
    744         <tr>
    745           <td class="md" nowrap valign="top"> <a class="el" href="classOsclAOStatus.html">OsclAOStatus</a> PVActiveBase::iStatus
    746       </table>
    747     </td>
    748   </tr>
    749 </table>
    750 <table cellspacing=5 cellpadding=0 border=0>
    751   <tr>
    752     <td>
    753       &nbsp;
    754     </td>
    755     <td>
    756 
    757 <p>
    758 The request status associated with an asynchronous request.
    759 <p>
    760 This is passed as a parameter to all asynchronous service providers.
    761 <p>
    762 The active scheduler uses this to check whether the active object's request has completed.
    763 <p>
    764 The function can use the completion code to judge the success or otherwise of the request.
    765 <p>
    766 Request status contains one of the values OSCL_REQUEST_ERR_NONE: request completed with no error, or request is not active. OSCL_REQUEST_PENDING: request is active &amp; pending OSCL_REQUEST_ERR_CANCEL: request was canceled before completion. or any user-defined value.     </td>
    767   </tr>
    768 </table>
    769 <a name="m2" doxytag="PVActiveBase::iThreadContext"></a><p>
    770 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    771   <tr>
    772     <td class="md">
    773       <table cellpadding="0" cellspacing="0" border="0">
    774         <tr>
    775           <td class="md" nowrap valign="top"> <a class="el" href="classPVThreadContext.html">PVThreadContext</a> PVActiveBase::iThreadContext
    776       </table>
    777     </td>
    778   </tr>
    779 </table>
    780 <table cellspacing=5 cellpadding=0 border=0>
    781   <tr>
    782     <td>
    783       &nbsp;
    784     </td>
    785     <td>
    786 
    787 <p>
    788     </td>
    789   </tr>
    790 </table>
    791 <hr>The documentation for this class was generated from the following file:<ul>
    792 <li><a class="el" href="oscl__scheduler__aobase_8h-source.html">oscl_scheduler_aobase.h</a></ul>
    793 <hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small>
    794 <address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small>
    795 </small></address>
    796 </body>
    797 </html>
    798