<!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>PVCmdResponse 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="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>PVCmdResponse Class Reference</h1><code>#include &lt;<a class="el" href="pv__engine__observer__message_8h-source.html">pv_engine_observer_message.h</a>&gt;</code>
<p>
<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="classPVCmdResponse.html#a0">PVCmdResponse</a> (<a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a> aId, OsclAny *aContext, PVMFStatus aStatus, OsclAny *aEventData=NULL, int32 aEventDataSize=0)</td></tr>
<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classPVCmdResponse.html#a1">PVCmdResponse</a> (<a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a> aId, OsclAny *aContext, PVMFStatus aStatus, PVInterface *aEventExtInterface=NULL, OsclAny *aEventData=NULL, int32 aEventDataSize=0)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="pv__engine__types_8h.html#a3">PVResponseType</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVCmdResponse.html#a2">GetResponseType</a> () const</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVCmdResponse.html#a3">GetCmdId</a> () const</td></tr>
<tr><td nowrap align=right valign=top>OsclAny *&nbsp;</td><td valign=bottom><a class="el" href="classPVCmdResponse.html#a4">GetContext</a> () const</td></tr>
<tr><td nowrap align=right valign=top>PVMFStatus&nbsp;</td><td valign=bottom><a class="el" href="classPVCmdResponse.html#a5">GetCmdStatus</a> () const</td></tr>
<tr><td nowrap align=right valign=top>OsclAny *&nbsp;</td><td valign=bottom><a class="el" href="classPVCmdResponse.html#a6">GetResponseData</a> () const</td></tr>
<tr><td nowrap align=right valign=top>int32&nbsp;</td><td valign=bottom><a class="el" href="classPVCmdResponse.html#a7">GetResponseDataSize</a> () const</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
PVCmdResponse Class
<p>
PVCmdResponse class is used to pass completion status on previously issued commands 
<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="PVCmdResponse::PVCmdResponse"></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"> PVCmdResponse::PVCmdResponse </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aId</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContext</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>PVMFStatus&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aStatus</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aEventData</em> = NULL, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int32&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aEventDataSize</em> = 0</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>
Constructor for PVCmdResponse     </td>
  </tr>
</table>
<a name="a1" doxytag="PVCmdResponse::PVCmdResponse"></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"> PVCmdResponse::PVCmdResponse </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aId</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContext</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>PVMFStatus&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aStatus</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>PVInterface *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aEventExtInterface</em> = NULL, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aEventData</em> = NULL, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int32&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aEventDataSize</em> = 0</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>
Constructor with event extension interface     </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a name="a3" doxytag="PVCmdResponse::GetCmdId"></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="pv__engine__types_8h.html#a0">PVCommandId</a> PVCmdResponse::GetCmdId </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> const<code> [inline]</code></td>
        </tr>

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

<p>
<dl compact><dt><b>Returns: </b></dt><dd>
Returns the unique ID associated with a command of this type. </dl>    </td>
  </tr>
</table>
<a name="a5" doxytag="PVCmdResponse::GetCmdStatus"></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"> PVMFStatus PVCmdResponse::GetCmdStatus </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> const<code> [inline]</code></td>
        </tr>

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

<p>
<dl compact><dt><b>Returns: </b></dt><dd>
Returns the completion status of the command </dl>    </td>
  </tr>
</table>
<a name="a4" doxytag="PVCmdResponse::GetContext"></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"> OsclAny* PVCmdResponse::GetContext </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> const<code> [inline]</code></td>
        </tr>

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

<p>
<dl compact><dt><b>Returns: </b></dt><dd>
Returns the opaque data that was passed in with the command. </dl>    </td>
  </tr>
</table>
<a name="a6" doxytag="PVCmdResponse::GetResponseData"></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"> OsclAny* PVCmdResponse::GetResponseData </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> const<code> [inline]</code></td>
        </tr>

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

<p>
WILL BE DEPRECATED WHEN PVMFCmdResp REMOVES EVENT DATA <dl compact><dt><b>Returns: </b></dt><dd>
Returns additional data asociated with the command. This is to be interpreted based on the command issued and the return status </dl>    </td>
  </tr>
</table>
<a name="a7" doxytag="PVCmdResponse::GetResponseDataSize"></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 PVCmdResponse::GetResponseDataSize </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> const<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>
<a name="a2" doxytag="PVCmdResponse::GetResponseType"></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="pv__engine__types_8h.html#a3">PVResponseType</a> PVCmdResponse::GetResponseType </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> const<code> [inline]</code></td>
        </tr>

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

<p>
WILL BE DEPRECATED SINCE IT IS NOT BEING USED. CURRENTLY RETURNS 0 <dl compact><dt><b>Returns: </b></dt><dd>
Returns the type of Response we get </dl>    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="pv__engine__observer__message_8h-source.html">pv_engine_observer_message.h</a></ul>
<hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>PV Author Engine</small>
<address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small>
</small></address>
</body>
</html>
