<!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>OsclDNSMethod 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> &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>
<hr><h1>OsclDNSMethod Class Reference</h1><code>#include &lt;<a class="el" href="oscl__dns__method_8h-source.html">oscl_dns_method.h</a>&gt;</code>
<p>
<p>Inheritance diagram for OsclDNSMethod:
<p><center><img src="classOsclDNSMethod.png" usemap="#OsclDNSMethod_map" border="0" alt=""></center>
<map name="OsclDNSMethod_map">
<area href="classOsclTimerObject.html" alt="OsclTimerObject" shape="rect" coords="90,112,261,136">
<area href="classHeapBase.html" alt="HeapBase" shape="rect" coords="0,56,171,80">
<area href="classPVActiveBase.html" alt="PVActiveBase" shape="rect" coords="181,56,352,80">
<area href="class__OsclHeapBase.html" alt="_OsclHeapBase" shape="rect" coords="0,0,171,24">
<area href="classOsclGetHostByNameMethod.html" alt="OsclGetHostByNameMethod" shape="rect" coords="90,224,261,248">
</map>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSMethod.html#a0">OsclDNSMethod</a> (<a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a> &amp;a, const char *name, <a class="el" href="group__osclio.html#a24">TPVDNSFxn</a> fxn)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSMethod.html#a1">Abort</a> ()</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSMethod.html#a2">AbortAll</a> ()</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSMethod.html#a3">CancelMethod</a> ()</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSMethod.html#a4">Run</a> ()</td></tr>
<tr><td colspan=2><br><h2>Data Fields</h2></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="classOsclDNSObserver.html">OsclDNSObserver</a> *&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSMethod.html#m0">iDNSObserver</a></td></tr>
<tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSMethod.html#m1">iId</a></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSMethod.html#m2">iAlloc</a></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="group__osclio.html#a24">TPVDNSFxn</a>&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSMethod.html#m3">iDNSFxn</a></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="classPVLogger.html">PVLogger</a> *&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSMethod.html#m4">iLogger</a></td></tr>
<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSMethod.html#b0">ConstructL</a> (<a class="el" href="classOsclDNSObserver.html">OsclDNSObserver</a> *aObserver, <a class="el" href="classOsclDNSRequestAO.html">OsclDNSRequestAO</a> *aAO, uint32 aId)</td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSMethod.html#b1">StartMethod</a> (int32 aTimeoutMsec)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSMethod.html#b2">MethodDone</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="classOsclDNSRequestAO.html">OsclDNSRequestAO</a> *&nbsp;</td><td valign=bottom><a class="el" href="classOsclDNSMethod.html#n0">iDNSRequestAO</a></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This is the base class for all socket methods. It provides the timeout on socket requests. 
<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="OsclDNSMethod::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"> OsclDNSMethod::OsclDNSMethod </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>a</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>name</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group__osclio.html#a24">TPVDNSFxn</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>fxn</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a name="a1" doxytag="OsclDNSMethod::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 OsclDNSMethod::Abort </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a2" doxytag="OsclDNSMethod::AbortAll"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void OsclDNSMethod::AbortAll </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a3" doxytag="OsclDNSMethod::CancelMethod"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void OsclDNSMethod::CancelMethod </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="b0" doxytag="OsclDNSMethod::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 OsclDNSMethod::ConstructL </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="classOsclDNSObserver.html">OsclDNSObserver</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aObserver</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="classOsclDNSRequestAO.html">OsclDNSRequestAO</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aAO</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>uint32&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aId</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [protected]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="b2" doxytag="OsclDNSMethod::MethodDone"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void OsclDNSMethod::MethodDone </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [protected]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a4" doxytag="OsclDNSMethod::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 OsclDNSMethod::Run </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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="classOsclDNSMethod.html#a4">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="classOsclDNSMethod.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.
<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="classOsclDNSMethod.html#a4">Run()</a> or <a class="el" href="classOsclTimerObject.html#b1">RunError()</a> functions. 
<p>
Implements <a class="el" href="classPVActiveBase.html#a4">PVActiveBase</a>.    </td>
  </tr>
</table>
<a name="b1" doxytag="OsclDNSMethod::StartMethod"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> bool OsclDNSMethod::StartMethod </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">int32&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>aTimeoutMsec</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [protected]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<hr><h2>Field Documentation</h2>
<a name="m2" doxytag="OsclDNSMethod::iAlloc"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a>&amp; OsclDNSMethod::iAlloc
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="m3" doxytag="OsclDNSMethod::iDNSFxn"></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="group__osclio.html#a24">TPVDNSFxn</a> OsclDNSMethod::iDNSFxn
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="m0" doxytag="OsclDNSMethod::iDNSObserver"></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="classOsclDNSObserver.html">OsclDNSObserver</a>* OsclDNSMethod::iDNSObserver
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="n0" doxytag="OsclDNSMethod::iDNSRequestAO"></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="classOsclDNSRequestAO.html">OsclDNSRequestAO</a>* OsclDNSMethod::iDNSRequestAO<code> [protected]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="m1" doxytag="OsclDNSMethod::iId"></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"> uint32 OsclDNSMethod::iId
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="m4" doxytag="OsclDNSMethod::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>* OsclDNSMethod::iLogger
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>