• 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>OsclDNSRequestAO 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>OsclDNSRequestAO Class Reference</h1><code>#include &lt;<a class="el" href="oscl__dns__method_8h-source.html">oscl_dns_method.h</a>&gt;</code>
10<p>
11<p>Inheritance diagram for OsclDNSRequestAO:
12<p><center><img src="classOsclDNSRequestAO.png" usemap="#OsclDNSRequestAO_map" border="0" alt=""></center>
13<map name="OsclDNSRequestAO_map">
14<area href="classOsclActiveObject.html" alt="OsclActiveObject" shape="rect" coords="91,112,264,136">
15<area href="classHeapBase.html" alt="HeapBase" shape="rect" coords="0,56,173,80">
16<area href="classPVActiveBase.html" alt="PVActiveBase" shape="rect" coords="183,56,356,80">
17<area href="class__OsclHeapBase.html" alt="_OsclHeapBase" shape="rect" coords="0,0,173,24">
18<area href="classOsclGetHostByNameRequest.html" alt="OsclGetHostByNameRequest" shape="rect" coords="91,224,264,248">
19</map>
20<table border=0 cellpadding=0 cellspacing=0>
21<tr><td></td></tr>
22<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
23<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#b0">OsclDNSRequestAO</a> (const char *name)</td></tr>
24<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#b1">ConstructL</a> (<a class="el" href="classOsclDNSI.html">OsclDNSI</a> *aDNS, <a class="el" href="classOsclDNSMethod.html">OsclDNSMethod</a> *aMethod)</td></tr>
25<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#b2">Abort</a> ()</td></tr>
26<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#b3">NewRequest</a> ()</td></tr>
27<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#b4">RequestDone</a> ()</td></tr>
28<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#b5">GetSocketError</a> ()</td></tr>
29<tr><td nowrap align=right valign=top><a class="el" href="classOsclSocketServI.html">OsclSocketServI</a> *&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#b6">Serv</a> ()</td></tr>
30<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#b7">DoCancel</a> ()</td></tr>
31<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#b8">Run</a> ()</td></tr>
32<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#b9">Success</a> ()</td></tr>
33<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
34<tr><td nowrap align=right valign=top><a class="el" href="classOsclDNSI.html">OsclDNSI</a> *&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#n0">iDNSI</a></td></tr>
35<tr><td nowrap align=right valign=top><a class="el" href="classOsclDNSMethod.html">OsclDNSMethod</a> *&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#n1">iDNSMethod</a></td></tr>
36<tr><td nowrap align=right valign=top>int32&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#n2">iSocketError</a></td></tr>
37<tr><td nowrap align=right valign=top><a class="el" href="classPVLogger.html">PVLogger</a> *&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#n3">iLogger</a></td></tr>
38<tr><td colspan=2><br><h2>Friends</h2></td></tr>
39<tr><td nowrap align=right valign=top>class&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#l0">OsclDNSI</a></td></tr>
40<tr><td nowrap align=right valign=top>class&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#l1">OsclDNSMethod</a></td></tr>
41<tr><td nowrap align=right valign=top>class&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#l2">OsclDNSRequest</a></td></tr>
42<tr><td nowrap align=right valign=top>class&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#l3">DNSRequestParam</a></td></tr>
43</table>
44<hr><a name="_details"></a><h2>Detailed Description</h2>
45This is the base class for all requests to the socket server.
46<p>
47<hr><h2>Constructor &amp; Destructor Documentation</h2>
48<a name="b0" doxytag="OsclDNSRequestAO::OsclDNSRequestAO"></a><p>
49<table width="100%" cellpadding="2" cellspacing="0" border="0">
50  <tr>
51    <td class="md">
52      <table cellpadding="0" cellspacing="0" border="0">
53        <tr>
54          <td class="md" nowrap valign="top"> OsclDNSRequestAO::OsclDNSRequestAO </td>
55          <td class="md" valign="top">(&nbsp;</td>
56          <td class="md" nowrap valign="top">const char *&nbsp;</td>
57          <td class="mdname1" valign="top" nowrap>&nbsp; <em>name</em>          </td>
58          <td class="md" valign="top">)&nbsp;</td>
59          <td class="md" nowrap><code> [inline, protected]</code></td>
60        </tr>
61
62      </table>
63    </td>
64  </tr>
65</table>
66<table cellspacing=5 cellpadding=0 border=0>
67  <tr>
68    <td>
69      &nbsp;
70    </td>
71    <td>
72
73<p>
74    </td>
75  </tr>
76</table>
77<hr><h2>Member Function Documentation</h2>
78<a name="b2" doxytag="OsclDNSRequestAO::Abort"></a><p>
79<table width="100%" cellpadding="2" cellspacing="0" border="0">
80  <tr>
81    <td class="md">
82      <table cellpadding="0" cellspacing="0" border="0">
83        <tr>
84          <td class="md" nowrap valign="top"> void OsclDNSRequestAO::Abort </td>
85          <td class="md" valign="top">(&nbsp;</td>
86          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
87          <td class="md" valign="top">)&nbsp;</td>
88          <td class="md" nowrap><code> [inline, protected]</code></td>
89        </tr>
90
91      </table>
92    </td>
93  </tr>
94</table>
95<table cellspacing=5 cellpadding=0 border=0>
96  <tr>
97    <td>
98      &nbsp;
99    </td>
100    <td>
101
102<p>
103    </td>
104  </tr>
105</table>
106<a name="b1" doxytag="OsclDNSRequestAO::ConstructL"></a><p>
107<table width="100%" cellpadding="2" cellspacing="0" border="0">
108  <tr>
109    <td class="md">
110      <table cellpadding="0" cellspacing="0" border="0">
111        <tr>
112          <td class="md" nowrap valign="top"> void OsclDNSRequestAO::ConstructL </td>
113          <td class="md" valign="top">(&nbsp;</td>
114          <td class="md" nowrap valign="top"><a class="el" href="classOsclDNSI.html">OsclDNSI</a> *&nbsp;</td>
115          <td class="mdname" nowrap>&nbsp; <em>aDNS</em>, </td>
116        </tr>
117        <tr>
118          <td></td>
119          <td></td>
120          <td class="md" nowrap><a class="el" href="classOsclDNSMethod.html">OsclDNSMethod</a> *&nbsp;</td>
121          <td class="mdname" nowrap>&nbsp; <em>aMethod</em></td>
122        </tr>
123        <tr>
124          <td></td>
125          <td class="md">)&nbsp;</td>
126          <td class="md" colspan="2"><code> [inline, protected]</code></td>
127        </tr>
128
129      </table>
130    </td>
131  </tr>
132</table>
133<table cellspacing=5 cellpadding=0 border=0>
134  <tr>
135    <td>
136      &nbsp;
137    </td>
138    <td>
139
140<p>
141    </td>
142  </tr>
143</table>
144<a name="b7" doxytag="OsclDNSRequestAO::DoCancel"></a><p>
145<table width="100%" cellpadding="2" cellspacing="0" border="0">
146  <tr>
147    <td class="md">
148      <table cellpadding="0" cellspacing="0" border="0">
149        <tr>
150          <td class="md" nowrap valign="top"> void OsclDNSRequestAO::DoCancel </td>
151          <td class="md" valign="top">(&nbsp;</td>
152          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
153          <td class="md" valign="top">)&nbsp;</td>
154          <td class="md" nowrap><code> [protected, virtual]</code></td>
155        </tr>
156
157      </table>
158    </td>
159  </tr>
160</table>
161<table cellspacing=5 cellpadding=0 border=0>
162  <tr>
163    <td>
164      &nbsp;
165    </td>
166    <td>
167
168<p>
169Cancel 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.
170<p>
171Reimplemented from <a class="el" href="classOsclActiveObject.html#b0">OsclActiveObject</a>.    </td>
172  </tr>
173</table>
174<a name="b5" doxytag="OsclDNSRequestAO::GetSocketError"></a><p>
175<table width="100%" cellpadding="2" cellspacing="0" border="0">
176  <tr>
177    <td class="md">
178      <table cellpadding="0" cellspacing="0" border="0">
179        <tr>
180          <td class="md" nowrap valign="top"> int OsclDNSRequestAO::GetSocketError </td>
181          <td class="md" valign="top">(&nbsp;</td>
182          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
183          <td class="md" valign="top">)&nbsp;</td>
184          <td class="md" nowrap><code> [protected]</code></td>
185        </tr>
186
187      </table>
188    </td>
189  </tr>
190</table>
191<table cellspacing=5 cellpadding=0 border=0>
192  <tr>
193    <td>
194      &nbsp;
195    </td>
196    <td>
197
198<p>
199    </td>
200  </tr>
201</table>
202<a name="b3" doxytag="OsclDNSRequestAO::NewRequest"></a><p>
203<table width="100%" cellpadding="2" cellspacing="0" border="0">
204  <tr>
205    <td class="md">
206      <table cellpadding="0" cellspacing="0" border="0">
207        <tr>
208          <td class="md" nowrap valign="top"> void OsclDNSRequestAO::NewRequest </td>
209          <td class="md" valign="top">(&nbsp;</td>
210          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
211          <td class="md" valign="top">)&nbsp;</td>
212          <td class="md" nowrap><code> [protected]</code></td>
213        </tr>
214
215      </table>
216    </td>
217  </tr>
218</table>
219<table cellspacing=5 cellpadding=0 border=0>
220  <tr>
221    <td>
222      &nbsp;
223    </td>
224    <td>
225
226<p>
227    </td>
228  </tr>
229</table>
230<a name="b4" doxytag="OsclDNSRequestAO::RequestDone"></a><p>
231<table width="100%" cellpadding="2" cellspacing="0" border="0">
232  <tr>
233    <td class="md">
234      <table cellpadding="0" cellspacing="0" border="0">
235        <tr>
236          <td class="md" nowrap valign="top"> void OsclDNSRequestAO::RequestDone </td>
237          <td class="md" valign="top">(&nbsp;</td>
238          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
239          <td class="md" valign="top">)&nbsp;</td>
240          <td class="md" nowrap><code> [protected]</code></td>
241        </tr>
242
243      </table>
244    </td>
245  </tr>
246</table>
247<table cellspacing=5 cellpadding=0 border=0>
248  <tr>
249    <td>
250      &nbsp;
251    </td>
252    <td>
253
254<p>
255    </td>
256  </tr>
257</table>
258<a name="b8" doxytag="OsclDNSRequestAO::Run"></a><p>
259<table width="100%" cellpadding="2" cellspacing="0" border="0">
260  <tr>
261    <td class="md">
262      <table cellpadding="0" cellspacing="0" border="0">
263        <tr>
264          <td class="md" nowrap valign="top"> void OsclDNSRequestAO::Run </td>
265          <td class="md" valign="top">(&nbsp;</td>
266          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
267          <td class="md" valign="top">)&nbsp;</td>
268          <td class="md" nowrap><code> [protected, virtual]</code></td>
269        </tr>
270
271      </table>
272    </td>
273  </tr>
274</table>
275<table cellspacing=5 cellpadding=0 border=0>
276  <tr>
277    <td>
278      &nbsp;
279    </td>
280    <td>
281
282<p>
283Handles an active object's request completion event.
284<p>
285A derived class must provide an implementation to handle the completed request. If appropriate, it may issue another request.
286<p>
287The function is called by the active scheduler when a request completion event occurs, i.e. after the active scheduler's WaitForAnyRequest() function completes.
288<p>
289Before calling this active object's <a class="el" href="classOsclDNSRequestAO.html#b8">Run()</a> function, the active scheduler has:
290<p>
2911. decided that this is the highest priority active object with a completed request
292<p>
2932. marked this active object's request as complete (i.e. the request is no longer outstanding)
294<p>
295<a class="el" href="classOsclDNSRequestAO.html#b8">Run()</a> runs under a trap harness in the active scheduler. If it leaves, then the active scheduler calls ExecError() to handle the leave.
296<p>
297Note 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="classOsclDNSRequestAO.html#b8">Run()</a> or <a class="el" href="classOsclActiveObject.html#b1">RunError()</a> functions.
298<p>
299Implements <a class="el" href="classPVActiveBase.html#a4">PVActiveBase</a>.    </td>
300  </tr>
301</table>
302<a name="b6" doxytag="OsclDNSRequestAO::Serv"></a><p>
303<table width="100%" cellpadding="2" cellspacing="0" border="0">
304  <tr>
305    <td class="md">
306      <table cellpadding="0" cellspacing="0" border="0">
307        <tr>
308          <td class="md" nowrap valign="top"> <a class="el" href="classOsclSocketServI.html">OsclSocketServI</a>* OsclDNSRequestAO::Serv </td>
309          <td class="md" valign="top">(&nbsp;</td>
310          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
311          <td class="md" valign="top">)&nbsp;</td>
312          <td class="md" nowrap><code> [protected]</code></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>
327    </td>
328  </tr>
329</table>
330<a name="b9" doxytag="OsclDNSRequestAO::Success"></a><p>
331<table width="100%" cellpadding="2" cellspacing="0" border="0">
332  <tr>
333    <td class="md">
334      <table cellpadding="0" cellspacing="0" border="0">
335        <tr>
336          <td class="md" nowrap valign="top"> virtual void OsclDNSRequestAO::Success </td>
337          <td class="md" valign="top">(&nbsp;</td>
338          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
339          <td class="md" valign="top">)&nbsp;</td>
340          <td class="md" nowrap><code> [inline, protected, virtual]</code></td>
341        </tr>
342
343      </table>
344    </td>
345  </tr>
346</table>
347<table cellspacing=5 cellpadding=0 border=0>
348  <tr>
349    <td>
350      &nbsp;
351    </td>
352    <td>
353
354<p>
355    </td>
356  </tr>
357</table>
358<hr><h2>Friends And Related Function Documentation</h2>
359<a name="l3" doxytag="OsclDNSRequestAO::DNSRequestParam"></a><p>
360<table width="100%" cellpadding="2" cellspacing="0" border="0">
361  <tr>
362    <td class="md">
363      <table cellpadding="0" cellspacing="0" border="0">
364        <tr>
365          <td class="md" nowrap valign="top"> friend class DNSRequestParam<code> [friend]</code>
366      </table>
367    </td>
368  </tr>
369</table>
370<table cellspacing=5 cellpadding=0 border=0>
371  <tr>
372    <td>
373      &nbsp;
374    </td>
375    <td>
376
377<p>
378    </td>
379  </tr>
380</table>
381<a name="l0" doxytag="OsclDNSRequestAO::OsclDNSI"></a><p>
382<table width="100%" cellpadding="2" cellspacing="0" border="0">
383  <tr>
384    <td class="md">
385      <table cellpadding="0" cellspacing="0" border="0">
386        <tr>
387          <td class="md" nowrap valign="top"> friend class OsclDNSI<code> [friend]</code>
388      </table>
389    </td>
390  </tr>
391</table>
392<table cellspacing=5 cellpadding=0 border=0>
393  <tr>
394    <td>
395      &nbsp;
396    </td>
397    <td>
398
399<p>
400    </td>
401  </tr>
402</table>
403<a name="l1" doxytag="OsclDNSRequestAO::OsclDNSMethod"></a><p>
404<table width="100%" cellpadding="2" cellspacing="0" border="0">
405  <tr>
406    <td class="md">
407      <table cellpadding="0" cellspacing="0" border="0">
408        <tr>
409          <td class="md" nowrap valign="top"> friend class OsclDNSMethod<code> [friend]</code>
410      </table>
411    </td>
412  </tr>
413</table>
414<table cellspacing=5 cellpadding=0 border=0>
415  <tr>
416    <td>
417      &nbsp;
418    </td>
419    <td>
420
421<p>
422    </td>
423  </tr>
424</table>
425<a name="l2" doxytag="OsclDNSRequestAO::OsclDNSRequest"></a><p>
426<table width="100%" cellpadding="2" cellspacing="0" border="0">
427  <tr>
428    <td class="md">
429      <table cellpadding="0" cellspacing="0" border="0">
430        <tr>
431          <td class="md" nowrap valign="top"> friend class OsclDNSRequest<code> [friend]</code>
432      </table>
433    </td>
434  </tr>
435</table>
436<table cellspacing=5 cellpadding=0 border=0>
437  <tr>
438    <td>
439      &nbsp;
440    </td>
441    <td>
442
443<p>
444    </td>
445  </tr>
446</table>
447<hr><h2>Field Documentation</h2>
448<a name="n0" doxytag="OsclDNSRequestAO::iDNSI"></a><p>
449<table width="100%" cellpadding="2" cellspacing="0" border="0">
450  <tr>
451    <td class="md">
452      <table cellpadding="0" cellspacing="0" border="0">
453        <tr>
454          <td class="md" nowrap valign="top"> <a class="el" href="classOsclDNSI.html">OsclDNSI</a>* OsclDNSRequestAO::iDNSI<code> [protected]</code>
455      </table>
456    </td>
457  </tr>
458</table>
459<table cellspacing=5 cellpadding=0 border=0>
460  <tr>
461    <td>
462      &nbsp;
463    </td>
464    <td>
465
466<p>
467    </td>
468  </tr>
469</table>
470<a name="n1" doxytag="OsclDNSRequestAO::iDNSMethod"></a><p>
471<table width="100%" cellpadding="2" cellspacing="0" border="0">
472  <tr>
473    <td class="md">
474      <table cellpadding="0" cellspacing="0" border="0">
475        <tr>
476          <td class="md" nowrap valign="top"> <a class="el" href="classOsclDNSMethod.html">OsclDNSMethod</a>* OsclDNSRequestAO::iDNSMethod<code> [protected]</code>
477      </table>
478    </td>
479  </tr>
480</table>
481<table cellspacing=5 cellpadding=0 border=0>
482  <tr>
483    <td>
484      &nbsp;
485    </td>
486    <td>
487
488<p>
489    </td>
490  </tr>
491</table>
492<a name="n3" doxytag="OsclDNSRequestAO::iLogger"></a><p>
493<table width="100%" cellpadding="2" cellspacing="0" border="0">
494  <tr>
495    <td class="md">
496      <table cellpadding="0" cellspacing="0" border="0">
497        <tr>
498          <td class="md" nowrap valign="top"> <a class="el" href="classPVLogger.html">PVLogger</a>* OsclDNSRequestAO::iLogger<code> [protected]</code>
499      </table>
500    </td>
501  </tr>
502</table>
503<table cellspacing=5 cellpadding=0 border=0>
504  <tr>
505    <td>
506      &nbsp;
507    </td>
508    <td>
509
510<p>
511    </td>
512  </tr>
513</table>
514<a name="n2" doxytag="OsclDNSRequestAO::iSocketError"></a><p>
515<table width="100%" cellpadding="2" cellspacing="0" border="0">
516  <tr>
517    <td class="md">
518      <table cellpadding="0" cellspacing="0" border="0">
519        <tr>
520          <td class="md" nowrap valign="top"> int32 OsclDNSRequestAO::iSocketError<code> [protected]</code>
521      </table>
522    </td>
523  </tr>
524</table>
525<table cellspacing=5 cellpadding=0 border=0>
526  <tr>
527    <td>
528      &nbsp;
529    </td>
530    <td>
531
532<p>
533    </td>
534  </tr>
535</table>
536<hr>The documentation for this class was generated from the following file:<ul>
537<li><a class="el" href="oscl__dns__method_8h-source.html">oscl_dns_method.h</a></ul>
538<hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small>
539<address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small>
540</small></address>
541</body>
542</html>
543