<!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>OsclDNSRequestAO 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>OsclDNSRequestAO Class Reference</h1><code>#include <<a class="el" href="oscl__dns__method_8h-source.html">oscl_dns_method.h</a>></code>
<p>
<p>Inheritance diagram for OsclDNSRequestAO:
<p><center><img src="classOsclDNSRequestAO.png" usemap="#OsclDNSRequestAO_map" border="0" alt=""></center>
<map name="OsclDNSRequestAO_map">
<area href="classOsclActiveObject.html" alt="OsclActiveObject" shape="rect" coords="91,112,264,136">
<area href="classHeapBase.html" alt="HeapBase" shape="rect" coords="0,56,173,80">
<area href="classPVActiveBase.html" alt="PVActiveBase" shape="rect" coords="183,56,356,80">
<area href="class__OsclHeapBase.html" alt="_OsclHeapBase" shape="rect" coords="0,0,173,24">
<area href="classOsclGetHostByNameRequest.html" alt="OsclGetHostByNameRequest" shape="rect" coords="91,224,264,248">
</map>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
<tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#b0">OsclDNSRequestAO</a> (const char *name)</td></tr>
<tr><td nowrap align=right valign=top>void </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>
<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#b2">Abort</a> ()</td></tr>
<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#b3">NewRequest</a> ()</td></tr>
<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#b4">RequestDone</a> ()</td></tr>
<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#b5">GetSocketError</a> ()</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="classOsclSocketServI.html">OsclSocketServI</a> * </td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#b6">Serv</a> ()</td></tr>
<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#b7">DoCancel</a> ()</td></tr>
<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#b8">Run</a> ()</td></tr>
<tr><td nowrap align=right valign=top>virtual void </td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#b9">Success</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="classOsclDNSI.html">OsclDNSI</a> * </td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#n0">iDNSI</a></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="classOsclDNSMethod.html">OsclDNSMethod</a> * </td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#n1">iDNSMethod</a></td></tr>
<tr><td nowrap align=right valign=top>int32 </td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#n2">iSocketError</a></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="classPVLogger.html">PVLogger</a> * </td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#n3">iLogger</a></td></tr>
<tr><td colspan=2><br><h2>Friends</h2></td></tr>
<tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#l0">OsclDNSI</a></td></tr>
<tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#l1">OsclDNSMethod</a></td></tr>
<tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#l2">OsclDNSRequest</a></td></tr>
<tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classOsclDNSRequestAO.html#l3">DNSRequestParam</a></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This is the base class for all requests to the socket server.
<p>
<hr><h2>Constructor & Destructor Documentation</h2>
<a name="b0" doxytag="OsclDNSRequestAO::OsclDNSRequestAO"></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"> OsclDNSRequestAO::OsclDNSRequestAO </td>
<td class="md" valign="top">( </td>
<td class="md" nowrap valign="top">const char * </td>
<td class="mdname1" valign="top" nowrap> <em>name</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>
<hr><h2>Member Function Documentation</h2>
<a name="b2" doxytag="OsclDNSRequestAO::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 OsclDNSRequestAO::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, 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="b1" doxytag="OsclDNSRequestAO::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 OsclDNSRequestAO::ConstructL </td>
<td class="md" valign="top">( </td>
<td class="md" nowrap valign="top"><a class="el" href="classOsclDNSI.html">OsclDNSI</a> * </td>
<td class="mdname" nowrap> <em>aDNS</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="classOsclDNSMethod.html">OsclDNSMethod</a> * </td>
<td class="mdname" nowrap> <em>aMethod</em></td>
</tr>
<tr>
<td></td>
<td class="md">) </td>
<td class="md" colspan="2"><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="b7" doxytag="OsclDNSRequestAO::DoCancel"></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 OsclDNSRequestAO::DoCancel </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>
Cancel 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.
<p>
Reimplemented from <a class="el" href="classOsclActiveObject.html#b0">OsclActiveObject</a>. </td>
</tr>
</table>
<a name="b5" doxytag="OsclDNSRequestAO::GetSocketError"></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"> int OsclDNSRequestAO::GetSocketError </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]</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="OsclDNSRequestAO::NewRequest"></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 OsclDNSRequestAO::NewRequest </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]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="b4" doxytag="OsclDNSRequestAO::RequestDone"></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 OsclDNSRequestAO::RequestDone </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]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="b8" doxytag="OsclDNSRequestAO::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 OsclDNSRequestAO::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="classOsclDNSRequestAO.html#b8">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="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.
<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="classOsclDNSRequestAO.html#b8">Run()</a> or <a class="el" href="classOsclActiveObject.html#b1">RunError()</a> functions.
<p>
Implements <a class="el" href="classPVActiveBase.html#a4">PVActiveBase</a>. </td>
</tr>
</table>
<a name="b6" doxytag="OsclDNSRequestAO::Serv"></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="classOsclSocketServI.html">OsclSocketServI</a>* OsclDNSRequestAO::Serv </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]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="b9" doxytag="OsclDNSRequestAO::Success"></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 void OsclDNSRequestAO::Success </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, 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>Friends And Related Function Documentation</h2>
<a name="l3" doxytag="OsclDNSRequestAO::DNSRequestParam"></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"> friend class DNSRequestParam<code> [friend]</code>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="l0" doxytag="OsclDNSRequestAO::OsclDNSI"></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"> friend class OsclDNSI<code> [friend]</code>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="l1" doxytag="OsclDNSRequestAO::OsclDNSMethod"></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"> friend class OsclDNSMethod<code> [friend]</code>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="l2" doxytag="OsclDNSRequestAO::OsclDNSRequest"></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"> friend class OsclDNSRequest<code> [friend]</code>
</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="n0" doxytag="OsclDNSRequestAO::iDNSI"></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="classOsclDNSI.html">OsclDNSI</a>* OsclDNSRequestAO::iDNSI<code> [protected]</code>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="n1" doxytag="OsclDNSRequestAO::iDNSMethod"></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="classOsclDNSMethod.html">OsclDNSMethod</a>* OsclDNSRequestAO::iDNSMethod<code> [protected]</code>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="n3" doxytag="OsclDNSRequestAO::iLogger"></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="classPVLogger.html">PVLogger</a>* OsclDNSRequestAO::iLogger<code> [protected]</code>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="n2" doxytag="OsclDNSRequestAO::iSocketError"></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"> int32 OsclDNSRequestAO::iSocketError<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__dns__method_8h-source.html">oscl_dns_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>