• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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>OsclActiveObject 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>OsclActiveObject 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__ao_8h-source.html">oscl_scheduler_ao.h</a>&gt;</code>
13<p>
14<p>Inheritance diagram for OsclActiveObject:
15<p><center><img src="classOsclActiveObject.png" usemap="#OsclActiveObject_map" border="0" alt=""></center>
16<map name="OsclActiveObject_map">
17<area href="classHeapBase.html" alt="HeapBase" shape="rect" coords="183,56,356,80">
18<area href="classPVActiveBase.html" alt="PVActiveBase" shape="rect" coords="366,56,539,80">
19<area href="class__OsclHeapBase.html" alt="_OsclHeapBase" shape="rect" coords="183,0,356,24">
20<area href="classOsclAsyncFile.html" alt="OsclAsyncFile" shape="rect" coords="0,168,173,192">
21<area href="classOsclDNSRequestAO.html" alt="OsclDNSRequestAO" shape="rect" coords="183,168,356,192">
22<area href="classOsclSocketRequestAO.html" alt="OsclSocketRequestAO" shape="rect" coords="366,168,539,192">
23<area href="classPVSchedulerStopper.html" alt="PVSchedulerStopper" shape="rect" coords="549,168,722,192">
24<area href="classOsclGetHostByNameRequest.html" alt="OsclGetHostByNameRequest" shape="rect" coords="183,224,356,248">
25<area href="classOsclAcceptRequest.html" alt="OsclAcceptRequest" shape="rect" coords="549,224,722,248">
26<area href="classOsclBindRequest.html" alt="OsclBindRequest" shape="rect" coords="549,280,722,304">
27<area href="classOsclConnectRequest.html" alt="OsclConnectRequest" shape="rect" coords="549,336,722,360">
28<area href="classOsclListenRequest.html" alt="OsclListenRequest" shape="rect" coords="549,392,722,416">
29<area href="classOsclRecvFromRequest.html" alt="OsclRecvFromRequest" shape="rect" coords="549,448,722,472">
30<area href="classOsclRecvRequest.html" alt="OsclRecvRequest" shape="rect" coords="549,504,722,528">
31<area href="classOsclSendRequest.html" alt="OsclSendRequest" shape="rect" coords="549,560,722,584">
32<area href="classOsclSendToRequest.html" alt="OsclSendToRequest" shape="rect" coords="549,616,722,640">
33<area href="classOsclShutdownRequest.html" alt="OsclShutdownRequest" shape="rect" coords="549,672,722,696">
34</map>
35<table border=0 cellpadding=0 cellspacing=0>
36<tr><td></td></tr>
37<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
38<tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="classOsclActiveObject.html#s5">OsclActivePriority</a> { <br>
39&nbsp;&nbsp;<a class="el" href="classOsclActiveObject.html#s5s0">EPriorityIdle</a> =  -100,
40<a class="el" href="classOsclActiveObject.html#s5s1">EPriorityLow</a> =  -20,
41<a class="el" href="classOsclActiveObject.html#s5s2">EPriorityNominal</a> =  0,
42<a class="el" href="classOsclActiveObject.html#s5s3">EPriorityHigh</a> =  10,
43<br>
44&nbsp;&nbsp;<a class="el" href="classOsclActiveObject.html#s5s4">EPriorityHighest</a> =  20
45<br>
46 }</td></tr>
47<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
48<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF&nbsp;</td><td valign=bottom><a class="el" href="classOsclActiveObject.html#a0">OsclActiveObject</a> (int32 aPriority, const char name[])</td></tr>
49<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF&nbsp;</td><td valign=bottom><a class="el" href="classOsclActiveObject.html#a1">~OsclActiveObject</a> ()</td></tr>
50<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classOsclActiveObject.html#a2">SetBusy</a> ()</td></tr>
51<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF bool&nbsp;</td><td valign=bottom><a class="el" href="classOsclActiveObject.html#a3">IsBusy</a> () const</td></tr>
52<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classOsclActiveObject.html#a4">PendForExec</a> ()</td></tr>
53<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classOsclActiveObject.html#a5">PendComplete</a> (int32 aStatus)</td></tr>
54<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classOsclActiveObject.html#a6">AddToScheduler</a> ()</td></tr>
55<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classOsclActiveObject.html#a7">RemoveFromScheduler</a> ()</td></tr>
56<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classOsclActiveObject.html#a8">RunIfNotReady</a> ()</td></tr>
57<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classOsclActiveObject.html#a9">Cancel</a> ()</td></tr>
58<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF int32&nbsp;</td><td valign=bottom><a class="el" href="classOsclActiveObject.html#a10">Priority</a> () const</td></tr>
59<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF int32&nbsp;</td><td valign=bottom><a class="el" href="classOsclActiveObject.html#a11">Status</a> () const</td></tr>
60<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classOsclActiveObject.html#a12">SetStatus</a> (int32)</td></tr>
61<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="classOsclAOStatus.html">OsclAOStatus</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classOsclActiveObject.html#a13">StatusRef</a> ()</td></tr>
62<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
63<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classOsclActiveObject.html#b0">DoCancel</a> ()</td></tr>
64<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF int32&nbsp;</td><td valign=bottom><a class="el" href="classOsclActiveObject.html#b1">RunError</a> (int32 aError)</td></tr>
65</table>
66<hr><a name="_details"></a><h2>Detailed Description</h2>
67User base class for execution objects. OsclActiveObject defines an execution object without any timer. This AO can be used across threads, i.e. the request can be activated in one thread and completed in another.
68<p>
69<hr><h2>Member Enumeration Documentation</h2>
70<a name="s5" doxytag="OsclActiveObject::OsclActivePriority"></a><p>
71<table width="100%" cellpadding="2" cellspacing="0" border="0">
72  <tr>
73    <td class="md">
74      <table cellpadding="0" cellspacing="0" border="0">
75        <tr>
76          <td class="md" nowrap valign="top"> enum OsclActiveObject::OsclActivePriority
77      </table>
78    </td>
79  </tr>
80</table>
81<table cellspacing=5 cellpadding=0 border=0>
82  <tr>
83    <td>
84      &nbsp;
85    </td>
86    <td>
87
88<p>
89Scheduling priorities. <dl compact><dt><b>Enumeration values: </b></dt><dd>
90<table border=0 cellspacing=2 cellpadding=0>
91<tr><td valign=top><em><a name="s5s0" doxytag="EPriorityIdle"></a><em>EPriorityIdle</em></em>&nbsp;</td><td>
92A low priority, useful for execution objects representing background processing. </td></tr>
93<tr><td valign=top><em><a name="s5s1" doxytag="EPriorityLow"></a><em>EPriorityLow</em></em>&nbsp;</td><td>
94A priority higher than EPriorityIdle but lower than EPriorityNominal. </td></tr>
95<tr><td valign=top><em><a name="s5s2" doxytag="EPriorityNominal"></a><em>EPriorityNominal</em></em>&nbsp;</td><td>
96Most exec objects will have this priority. </td></tr>
97<tr><td valign=top><em><a name="s5s3" doxytag="EPriorityHigh"></a><em>EPriorityHigh</em></em>&nbsp;</td><td>
98A priority higher than EPriorityNominal; useful for execution objects handling user input. </td></tr>
99<tr><td valign=top><em><a name="s5s4" doxytag="EPriorityHighest"></a><em>EPriorityHighest</em></em>&nbsp;</td><td>
100A priority higher than EPriorityHighest. </td></tr>
101</table>
102</dl>
103    </td>
104  </tr>
105</table>
106<hr><h2>Constructor &amp; Destructor Documentation</h2>
107<a name="a0" doxytag="OsclActiveObject::OsclActiveObject"></a><p>
108<table width="100%" cellpadding="2" cellspacing="0" border="0">
109  <tr>
110    <td class="md">
111      <table cellpadding="0" cellspacing="0" border="0">
112        <tr>
113          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF OsclActiveObject::OsclActiveObject </td>
114          <td class="md" valign="top">(&nbsp;</td>
115          <td class="md" nowrap valign="top">int32&nbsp;</td>
116          <td class="mdname" nowrap>&nbsp; <em>aPriority</em>, </td>
117        </tr>
118        <tr>
119          <td></td>
120          <td></td>
121          <td class="md" nowrap>const char&nbsp;</td>
122          <td class="mdname" nowrap>&nbsp; <em>name</em>[]</td>
123        </tr>
124        <tr>
125          <td></td>
126          <td class="md">)&nbsp;</td>
127          <td class="md" colspan="2"></td>
128        </tr>
129
130      </table>
131    </td>
132  </tr>
133</table>
134<table cellspacing=5 cellpadding=0 border=0>
135  <tr>
136    <td>
137      &nbsp;
138    </td>
139    <td>
140
141<p>
142Constructor. <dl compact><dt><b>Parameters: </b></dt><dd>
143<table border=0 cellspacing=2 cellpadding=0>
144<tr><td valign=top><em>aPriority</em>&nbsp;</td><td>
145(input param): scheduling priority </td></tr>
146<tr><td valign=top><em>name</em>&nbsp;</td><td>
147(inpup param): optional name for this AO. </td></tr>
148</table>
149</dl>    </td>
150  </tr>
151</table>
152<a name="a1" doxytag="OsclActiveObject::~OsclActiveObject"></a><p>
153<table width="100%" cellpadding="2" cellspacing="0" border="0">
154  <tr>
155    <td class="md">
156      <table cellpadding="0" cellspacing="0" border="0">
157        <tr>
158          <td class="md" nowrap valign="top"> virtual OSCL_IMPORT_REF OsclActiveObject::~OsclActiveObject </td>
159          <td class="md" valign="top">(&nbsp;</td>
160          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
161          <td class="md" valign="top">)&nbsp;</td>
162          <td class="md" nowrap><code> [virtual]</code></td>
163        </tr>
164
165      </table>
166    </td>
167  </tr>
168</table>
169<table cellspacing=5 cellpadding=0 border=0>
170  <tr>
171    <td>
172      &nbsp;
173    </td>
174    <td>
175
176<p>
177Destructor.     </td>
178  </tr>
179</table>
180<hr><h2>Member Function Documentation</h2>
181<a name="a6" doxytag="OsclActiveObject::AddToScheduler"></a><p>
182<table width="100%" cellpadding="2" cellspacing="0" border="0">
183  <tr>
184    <td class="md">
185      <table cellpadding="0" cellspacing="0" border="0">
186        <tr>
187          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void OsclActiveObject::AddToScheduler </td>
188          <td class="md" valign="top">(&nbsp;</td>
189          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
190          <td class="md" valign="top">)&nbsp;</td>
191          <td class="md" nowrap></td>
192        </tr>
193
194      </table>
195    </td>
196  </tr>
197</table>
198<table cellspacing=5 cellpadding=0 border=0>
199  <tr>
200    <td>
201      &nbsp;
202    </td>
203    <td>
204
205<p>
206Add this exec object to the current thread's scheduler.
207<p>
208Reimplemented from <a class="el" href="classPVActiveBase.html#a6">PVActiveBase</a>.    </td>
209  </tr>
210</table>
211<a name="a9" doxytag="OsclActiveObject::Cancel"></a><p>
212<table width="100%" cellpadding="2" cellspacing="0" border="0">
213  <tr>
214    <td class="md">
215      <table cellpadding="0" cellspacing="0" border="0">
216        <tr>
217          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void OsclActiveObject::Cancel </td>
218          <td class="md" valign="top">(&nbsp;</td>
219          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
220          <td class="md" valign="top">)&nbsp;</td>
221          <td class="md" nowrap></td>
222        </tr>
223
224      </table>
225    </td>
226  </tr>
227</table>
228<table cellspacing=5 cellpadding=0 border=0>
229  <tr>
230    <td>
231      &nbsp;
232    </td>
233    <td>
234
235<p>
236Cancel any pending request. If the request is readied, this will call the DoCancel routine, wait for the request to cancel, then set the request idle. The AO will not run. If the request is not readied, it does nothing. Request must be canceled from the same thread in which it is scheduled.
237<p>
238Reimplemented from <a class="el" href="classPVActiveBase.html#a11">PVActiveBase</a>.    </td>
239  </tr>
240</table>
241<a name="b0" doxytag="OsclActiveObject::DoCancel"></a><p>
242<table width="100%" cellpadding="2" cellspacing="0" border="0">
243  <tr>
244    <td class="md">
245      <table cellpadding="0" cellspacing="0" border="0">
246        <tr>
247          <td class="md" nowrap valign="top"> virtual OSCL_IMPORT_REF void OsclActiveObject::DoCancel </td>
248          <td class="md" valign="top">(&nbsp;</td>
249          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
250          <td class="md" valign="top">)&nbsp;</td>
251          <td class="md" nowrap><code> [protected, virtual]</code></td>
252        </tr>
253
254      </table>
255    </td>
256  </tr>
257</table>
258<table cellspacing=5 cellpadding=0 border=0>
259  <tr>
260    <td>
261      &nbsp;
262    </td>
263    <td>
264
265<p>
266Cancel request handler. This gets called by scheduler when the request is cancelled. The default routine will complete the request. If any additional action is needed, the derived class may override this. If the derived class does override DoCancel, it must complete the request.
267<p>
268Implements <a class="el" href="classPVActiveBase.html#a5">PVActiveBase</a>.
269<p>
270Reimplemented in <a class="el" href="classOsclDNSRequestAO.html#b7">OsclDNSRequestAO</a>, and <a class="el" href="classOsclSocketRequestAO.html#b7">OsclSocketRequestAO</a>.    </td>
271  </tr>
272</table>
273<a name="a3" doxytag="OsclActiveObject::IsBusy"></a><p>
274<table width="100%" cellpadding="2" cellspacing="0" border="0">
275  <tr>
276    <td class="md">
277      <table cellpadding="0" cellspacing="0" border="0">
278        <tr>
279          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF bool OsclActiveObject::IsBusy </td>
280          <td class="md" valign="top">(&nbsp;</td>
281          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
282          <td class="md" valign="top">)&nbsp;</td>
283          <td class="md" nowrap></td>
284        </tr>
285
286      </table>
287    </td>
288  </tr>
289</table>
290<table cellspacing=5 cellpadding=0 border=0>
291  <tr>
292    <td>
293      &nbsp;
294    </td>
295    <td>
296
297<p>
298Return true if this AO is pending, false otherwise.     </td>
299  </tr>
300</table>
301<a name="a5" doxytag="OsclActiveObject::PendComplete"></a><p>
302<table width="100%" cellpadding="2" cellspacing="0" border="0">
303  <tr>
304    <td class="md">
305      <table cellpadding="0" cellspacing="0" border="0">
306        <tr>
307          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void OsclActiveObject::PendComplete </td>
308          <td class="md" valign="top">(&nbsp;</td>
309          <td class="md" nowrap valign="top">int32&nbsp;</td>
310          <td class="mdname1" valign="top" nowrap>&nbsp; <em>aStatus</em>          </td>
311          <td class="md" valign="top">)&nbsp;</td>
312          <td class="md" nowrap></td>
313        </tr>
314
315      </table>
316    </td>
317  </tr>
318</table>
319<table cellspacing=5 cellpadding=0 border=0>
320  <tr>
321    <td>
322      &nbsp;
323    </td>
324    <td>
325
326<p>
327Complete the active request for the AO. This API is thread-safe. If the request is not pending, this call will leave. <dl compact><dt><b>Parameters: </b></dt><dd>
328<table border=0 cellspacing=2 cellpadding=0>
329<tr><td valign=top><em>aStatus:</em>&nbsp;</td><td>
330request completion status. </td></tr>
331</table>
332</dl>    </td>
333  </tr>
334</table>
335<a name="a4" doxytag="OsclActiveObject::PendForExec"></a><p>
336<table width="100%" cellpadding="2" cellspacing="0" border="0">
337  <tr>
338    <td class="md">
339      <table cellpadding="0" cellspacing="0" border="0">
340        <tr>
341          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void OsclActiveObject::PendForExec </td>
342          <td class="md" valign="top">(&nbsp;</td>
343          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
344          <td class="md" valign="top">)&nbsp;</td>
345          <td class="md" nowrap></td>
346        </tr>
347
348      </table>
349    </td>
350  </tr>
351</table>
352<table cellspacing=5 cellpadding=0 border=0>
353  <tr>
354    <td>
355      &nbsp;
356    </td>
357    <td>
358
359<p>
360Set request active for this AO and set the status to pending. PendForExec is identical to SetActive, but it additionally sets the request status to OSCL_REQUEST_PENDING.     </td>
361  </tr>
362</table>
363<a name="a10" doxytag="OsclActiveObject::Priority"></a><p>
364<table width="100%" cellpadding="2" cellspacing="0" border="0">
365  <tr>
366    <td class="md">
367      <table cellpadding="0" cellspacing="0" border="0">
368        <tr>
369          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF int32 OsclActiveObject::Priority </td>
370          <td class="md" valign="top">(&nbsp;</td>
371          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
372          <td class="md" valign="top">)&nbsp;</td>
373          <td class="md" nowrap></td>
374        </tr>
375
376      </table>
377    </td>
378  </tr>
379</table>
380<table cellspacing=5 cellpadding=0 border=0>
381  <tr>
382    <td>
383      &nbsp;
384    </td>
385    <td>
386
387<p>
388Return scheduling priority of this exec object.     </td>
389  </tr>
390</table>
391<a name="a7" doxytag="OsclActiveObject::RemoveFromScheduler"></a><p>
392<table width="100%" cellpadding="2" cellspacing="0" border="0">
393  <tr>
394    <td class="md">
395      <table cellpadding="0" cellspacing="0" border="0">
396        <tr>
397          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void OsclActiveObject::RemoveFromScheduler </td>
398          <td class="md" valign="top">(&nbsp;</td>
399          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
400          <td class="md" valign="top">)&nbsp;</td>
401          <td class="md" nowrap></td>
402        </tr>
403
404      </table>
405    </td>
406  </tr>
407</table>
408<table cellspacing=5 cellpadding=0 border=0>
409  <tr>
410    <td>
411      &nbsp;
412    </td>
413    <td>
414
415<p>
416Remove this AO from its scheduler. Will leave if the calling thread context does not match the scheduling thread. Cancels any readied request before removing.
417<p>
418Reimplemented from <a class="el" href="classPVActiveBase.html#a7">PVActiveBase</a>.    </td>
419  </tr>
420</table>
421<a name="b1" doxytag="OsclActiveObject::RunError"></a><p>
422<table width="100%" cellpadding="2" cellspacing="0" border="0">
423  <tr>
424    <td class="md">
425      <table cellpadding="0" cellspacing="0" border="0">
426        <tr>
427          <td class="md" nowrap valign="top"> virtual OSCL_IMPORT_REF int32 OsclActiveObject::RunError </td>
428          <td class="md" valign="top">(&nbsp;</td>
429          <td class="md" nowrap valign="top">int32&nbsp;</td>
430          <td class="mdname1" valign="top" nowrap>&nbsp; <em>aError</em>          </td>
431          <td class="md" valign="top">)&nbsp;</td>
432          <td class="md" nowrap><code> [protected, virtual]</code></td>
433        </tr>
434
435      </table>
436    </td>
437  </tr>
438</table>
439<table cellspacing=5 cellpadding=0 border=0>
440  <tr>
441    <td>
442      &nbsp;
443    </td>
444    <td>
445
446<p>
447Run Error handler. This gets called by scheduler when the Run routine leaves. The default implementation simply returns the leave code. If the derived class wants to handle errors from Run, it may override this. The RunError should return OsclErrNone if it handles the error, otherwise it should return the input error code. <dl compact><dt><b>Parameters: </b></dt><dd>
448<table border=0 cellspacing=2 cellpadding=0>
449<tr><td valign=top><em>aError:</em>&nbsp;</td><td>
450the leave code generated by the Run. </td></tr>
451</table>
452</dl>
453<p>
454Implements <a class="el" href="classPVActiveBase.html#a3">PVActiveBase</a>.    </td>
455  </tr>
456</table>
457<a name="a8" doxytag="OsclActiveObject::RunIfNotReady"></a><p>
458<table width="100%" cellpadding="2" cellspacing="0" border="0">
459  <tr>
460    <td class="md">
461      <table cellpadding="0" cellspacing="0" border="0">
462        <tr>
463          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void OsclActiveObject::RunIfNotReady </td>
464          <td class="md" valign="top">(&nbsp;</td>
465          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
466          <td class="md" valign="top">)&nbsp;</td>
467          <td class="md" nowrap></td>
468        </tr>
469
470      </table>
471    </td>
472  </tr>
473</table>
474<table cellspacing=5 cellpadding=0 border=0>
475  <tr>
476    <td>
477      &nbsp;
478    </td>
479    <td>
480
481<p>
482Complete this AO's request immediately. If the AO is already active, this will do nothing. Will leave if the AO is not added to any scheduler, or if the calling thread context does not match the scheduling thread.     </td>
483  </tr>
484</table>
485<a name="a2" doxytag="OsclActiveObject::SetBusy"></a><p>
486<table width="100%" cellpadding="2" cellspacing="0" border="0">
487  <tr>
488    <td class="md">
489      <table cellpadding="0" cellspacing="0" border="0">
490        <tr>
491          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void OsclActiveObject::SetBusy </td>
492          <td class="md" valign="top">(&nbsp;</td>
493          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
494          <td class="md" valign="top">)&nbsp;</td>
495          <td class="md" nowrap></td>
496        </tr>
497
498      </table>
499    </td>
500  </tr>
501</table>
502<table cellspacing=5 cellpadding=0 border=0>
503  <tr>
504    <td>
505      &nbsp;
506    </td>
507    <td>
508
509<p>
510Set object ready for this AO, additionally sets the request status to OSCL_REQUEST_PENDING. Will leave if the request is already readied, or the execution object is not added to any scheduler, or the calling thread context does not match the scheduler thread.     </td>
511  </tr>
512</table>
513<a name="a12" doxytag="OsclActiveObject::SetStatus"></a><p>
514<table width="100%" cellpadding="2" cellspacing="0" border="0">
515  <tr>
516    <td class="md">
517      <table cellpadding="0" cellspacing="0" border="0">
518        <tr>
519          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void OsclActiveObject::SetStatus </td>
520          <td class="md" valign="top">(&nbsp;</td>
521          <td class="md" nowrap valign="top">int32&nbsp;</td>
522          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
523          <td class="md" valign="top">)&nbsp;</td>
524          <td class="md" nowrap></td>
525        </tr>
526
527      </table>
528    </td>
529  </tr>
530</table>
531<table cellspacing=5 cellpadding=0 border=0>
532  <tr>
533    <td>
534      &nbsp;
535    </td>
536    <td>
537
538<p>
539    </td>
540  </tr>
541</table>
542<a name="a11" doxytag="OsclActiveObject::Status"></a><p>
543<table width="100%" cellpadding="2" cellspacing="0" border="0">
544  <tr>
545    <td class="md">
546      <table cellpadding="0" cellspacing="0" border="0">
547        <tr>
548          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF int32 OsclActiveObject::Status </td>
549          <td class="md" valign="top">(&nbsp;</td>
550          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
551          <td class="md" valign="top">)&nbsp;</td>
552          <td class="md" nowrap></td>
553        </tr>
554
555      </table>
556    </td>
557  </tr>
558</table>
559<table cellspacing=5 cellpadding=0 border=0>
560  <tr>
561    <td>
562      &nbsp;
563    </td>
564    <td>
565
566<p>
567Request status access     </td>
568  </tr>
569</table>
570<a name="a13" doxytag="OsclActiveObject::StatusRef"></a><p>
571<table width="100%" cellpadding="2" cellspacing="0" border="0">
572  <tr>
573    <td class="md">
574      <table cellpadding="0" cellspacing="0" border="0">
575        <tr>
576          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF <a class="el" href="classOsclAOStatus.html">OsclAOStatus</a>&amp; OsclActiveObject::StatusRef </td>
577          <td class="md" valign="top">(&nbsp;</td>
578          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
579          <td class="md" valign="top">)&nbsp;</td>
580          <td class="md" nowrap></td>
581        </tr>
582
583      </table>
584    </td>
585  </tr>
586</table>
587<table cellspacing=5 cellpadding=0 border=0>
588  <tr>
589    <td>
590      &nbsp;
591    </td>
592    <td>
593
594<p>
595    </td>
596  </tr>
597</table>
598<hr>The documentation for this class was generated from the following file:<ul>
599<li><a class="el" href="oscl__scheduler__ao_8h-source.html">oscl_scheduler_ao.h</a></ul>
600<hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small>
601<address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small>
602</small></address>
603</body>
604</html>
605