<!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>CPV2WayInterface 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>CPV2WayInterface Class Reference</h1><code>#include &lt;<a class="el" href="pv__2way__interface_8h-source.html">pv_2way_interface.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>virtual&nbsp;</td><td valign=bottom><a class="el" href="classCPV2WayInterface.html#a0">~CPV2WayInterface</a> ()</td></tr>
<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF PVCommandId&nbsp;</td><td valign=bottom><a class="el" href="classCPV2WayInterface.html#a1">GetSDKInfo</a> (PVSDKInfo &amp;aSDKInfo, OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF PVCommandId&nbsp;</td><td valign=bottom><a class="el" href="classCPV2WayInterface.html#a2">GetSDKModuleInfo</a> (PVSDKModuleInfo &amp;aSDKModuleInfo, OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF PVCommandId&nbsp;</td><td valign=bottom><a class="el" href="classCPV2WayInterface.html#a3">Init</a> (<a class="el" href="classPV2WayInitInfo.html">PV2WayInitInfo</a> &amp;aInitInfo, OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF PVCommandId&nbsp;</td><td valign=bottom><a class="el" href="classCPV2WayInterface.html#a4">Reset</a> (OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF PVCommandId&nbsp;</td><td valign=bottom><a class="el" href="classCPV2WayInterface.html#a5">AddDataSource</a> (<a class="el" href="pv__2way__basic__types_8h.html#a8">PVTrackId</a> aTrackId, PVMFNodeInterface &amp;aDataSource, OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF PVCommandId&nbsp;</td><td valign=bottom><a class="el" href="classCPV2WayInterface.html#a6">RemoveDataSource</a> (PVMFNodeInterface &amp;aDataSource, OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF PVCommandId&nbsp;</td><td valign=bottom><a class="el" href="classCPV2WayInterface.html#a7">AddDataSink</a> (<a class="el" href="pv__2way__basic__types_8h.html#a8">PVTrackId</a> aTrackId, PVMFNodeInterface &amp;aDataSink, OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF PVCommandId&nbsp;</td><td valign=bottom><a class="el" href="classCPV2WayInterface.html#a8">RemoveDataSink</a> (PVMFNodeInterface &amp;aDataSink, OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF PVCommandId&nbsp;</td><td valign=bottom><a class="el" href="classCPV2WayInterface.html#a9">Connect</a> (const <a class="el" href="classPV2WayConnectOptions.html">PV2WayConnectOptions</a> &amp;aOptions, PVMFNodeInterface *aCommServer=NULL, OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF PVCommandId&nbsp;</td><td valign=bottom><a class="el" href="classCPV2WayInterface.html#a10">Disconnect</a> (OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF PVCommandId&nbsp;</td><td valign=bottom><a class="el" href="classCPV2WayInterface.html#a11">GetState</a> (<a class="el" href="pv__2way__basic__types_8h.html#a48">PV2WayState</a> &amp;aState, OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF PVCommandId&nbsp;</td><td valign=bottom><a class="el" href="classCPV2WayInterface.html#a12">Pause</a> (<a class="el" href="pv__2way__basic__types_8h.html#a6">PV2WayDirection</a> aDirection, <a class="el" href="pv__2way__basic__types_8h.html#a8">PVTrackId</a> aTrackId, OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF PVCommandId&nbsp;</td><td valign=bottom><a class="el" href="classCPV2WayInterface.html#a13">Resume</a> (<a class="el" href="pv__2way__basic__types_8h.html#a6">PV2WayDirection</a> aDirection, <a class="el" href="pv__2way__basic__types_8h.html#a8">PVTrackId</a> aTrackId, OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF PVCommandId&nbsp;</td><td valign=bottom><a class="el" href="classCPV2WayInterface.html#a14">SetLogAppender</a> (const char *aTag, OsclSharedPtr&lt; PVLoggerAppender &gt; &amp;aAppender, OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF PVCommandId&nbsp;</td><td valign=bottom><a class="el" href="classCPV2WayInterface.html#a15">RemoveLogAppender</a> (const char *aTag, OsclSharedPtr&lt; PVLoggerAppender &gt; &amp;aAppender, OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF PVCommandId&nbsp;</td><td valign=bottom><a class="el" href="classCPV2WayInterface.html#a16">SetLogLevel</a> (const char *aTag, int32 aLevel, bool aSetSubtree=false, OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF PVCommandId&nbsp;</td><td valign=bottom><a class="el" href="classCPV2WayInterface.html#a17">GetLogLevel</a> (const char *aTag, int32 &amp;aLogInfo, OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF PVCommandId&nbsp;</td><td valign=bottom><a class="el" href="classCPV2WayInterface.html#a18">QueryUUID</a> (const PvmfMimeString &amp;aMimeType, Oscl_Vector&lt; PVUuid, BasicAlloc &gt; &amp;aUuids, bool aExactUuidsOnly=false, OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF PVCommandId&nbsp;</td><td valign=bottom><a class="el" href="classCPV2WayInterface.html#a19">QueryInterface</a> (const PVUuid &amp;aUuid, PVInterface *&amp;aInterfacePtr, OsclAny *aContext=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF PVCommandId&nbsp;</td><td valign=bottom><a class="el" href="classCPV2WayInterface.html#a20">CancelAllCommands</a> (OsclAny *aContextData=NULL)=0</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
CPV2WayInterface Class
<p>
CPV2WayInterface is the interface to the pv2way SDK, which allows initialization, control, and termination of a two-way (3g-324m, SIP) terminal. The application is expected to contain and maintain a pointer to the CPV2WayInterface instance at all times that a call is active. The CPV2WayFactory factory class is to be used to create and delete instances of this class 
<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="CPV2WayInterface::~CPV2WayInterface"></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 CPV2WayInterface::~CPV2WayInterface </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> [inline, virtual]</code></td>
        </tr>

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

<p>
Object destructor function Releases Resources prior to destruction     </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a name="a7" doxytag="CPV2WayInterface::AddDataSink"></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 OSCL_IMPORT_REF PVCommandId CPV2WayInterface::AddDataSink </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="pv__2way__basic__types_8h.html#a8">PVTrackId</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aTrackId</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>PVMFNodeInterface &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aDataSink</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

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

<p>
This function allows the user to specify the media sink for an incoming track. AddDataSinkL can be called only for established incoming tracks identified by a unique track id. Incoming tracks are initiated by the peer and their establishment is indicated using the PVT_INDICATION_INCOMING_TRACK notification which provides the media type and a unique track id. The format type is indicated using the PV2WayTrackInfoInterface extension interface in the PVAsyncInformationalEvent. Data sinks could be of the following types: a)raw media sinks like video display sinks for RGB and YUV formats, audio rendering sinks for PCM. b)sources of compressed data like file, combined decode and render devices.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aTrackId</em>&nbsp;</td><td>
Indicates the unique track id to be associated with this sink. </td></tr>
<tr><td valign=top><em>aDataSink</em>&nbsp;</td><td>
The data sink to be added </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data that will be passed back to the user with the command response</td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a5" doxytag="CPV2WayInterface::AddDataSource"></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 OSCL_IMPORT_REF PVCommandId CPV2WayInterface::AddDataSource </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="pv__2way__basic__types_8h.html#a8">PVTrackId</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aTrackId</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>PVMFNodeInterface &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aDataSource</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

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

<p>
This function allows the user to specify the media source for an outgoing track. Sources should be added after the PVT_INDICATION_OUTGOING_TRACK is received which specifies the format type and the unique track id. The format type is indicated using the PV2WayTrackInfoInterface extension interface in the PVAsyncInformationalEvent. Data sources could be of the following types: a)raw media sources like camera, microphone etc. b)sources of compressed data like file, combined capture and encode devices.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aTrackId</em>&nbsp;</td><td>
The outgoing track id </td></tr>
<tr><td valign=top><em>aDataSource</em>&nbsp;</td><td>
Reference to the data source for this track </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data that will be passed back to the user with the command response @leave This method can leave with one of the following error codes PVMFErrNotSupported if the format of the sources/sinks is incomtible with what the SDK can handle KPVErrInvalidState if invoked in the incorrect state KErrNoMemory if the SDK failed to allocate memory during this operation </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a20" doxytag="CPV2WayInterface::CancelAllCommands"></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 OSCL_IMPORT_REF PVCommandId CPV2WayInterface::CancelAllCommands </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">OsclAny *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>aContextData</em> = NULL          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [pure virtual]</code></td>
        </tr>

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

<p>
This API is to allow the user to cancel all pending requests. The current request being processed, if any, will also be aborted. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data that will be passed back to the user with the command response </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a9" doxytag="CPV2WayInterface::Connect"></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 OSCL_IMPORT_REF PVCommandId CPV2WayInterface::Connect </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classPV2WayConnectOptions.html">PV2WayConnectOptions</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aOptions</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>PVMFNodeInterface *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aCommServer</em> = NULL, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

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

<p>
This function can be invoked only in the ESetup state. The terminal starts connecting with the remote terminal based on the specified options and capabilities. Incoming tracks may be opened before ConnectL completes and will be indicated via the PVT_INDICATION_INCOMING_TRACK event.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aOptions</em>&nbsp;</td><td>
Optional additional information for call setup. </td></tr>
<tr><td valign=top><em>aCommServer</em>&nbsp;</td><td>
An optional pointer to a comm server to provide comm source and sink end-points. </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data that will be passed back to the user with the command response</td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a10" doxytag="CPV2WayInterface::Disconnect"></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 OSCL_IMPORT_REF PVCommandId CPV2WayInterface::Disconnect </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">OsclAny *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>aContextData</em> = NULL          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [pure virtual]</code></td>
        </tr>

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

<p>
The Disconnect call is valid only when invoked in the EConnecting, and EConnected states. It causes the terminal to transition to the EDisconnecting state. All the media tracks both incoming and outgoing will be closed on invoking Disconnect. On completion, the terminal goes to the ESetup state. The statistics of the previous call shall still be available until Connect is invoked again.
<p>
It is a no-op when called in any other state.
<p>
The post disconnect option specifies what this terminal wishes to do after the data call is terminated, whether it wants to disconnect the line or continue the call as a voice only call.
<p>
This is an asynchronous request.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data that will be passed back to the user with the command response</td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a17" doxytag="CPV2WayInterface::GetLogLevel"></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 OSCL_IMPORT_REF PVCommandId CPV2WayInterface::GetLogLevel </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aTag</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int32 &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aLogInfo</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

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

<p>
Allows the logging level to be queried for a particular logging tag. A larger log level will result in more messages being logged.
<p>
In the asynchronous response, this should return the log level along with an indication of where the level was inherited (i.e., the ancestor tag).<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aTag</em>&nbsp;</td><td>
Specifies the logger tree tag where the log level should be retrieved. </td></tr>
<tr><td valign=top><em>aLogInfo</em>&nbsp;</td><td>
an output parameter which will be filled in with the log level information. </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data that will be passed back to the user with the command response </td></tr>
</table>
</dl><dl compact><dt><b>Exceptions: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>memory_error</em>&nbsp;</td><td>
 leaves on memory allocation error.</td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a1" doxytag="CPV2WayInterface::GetSDKInfo"></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 OSCL_IMPORT_REF PVCommandId CPV2WayInterface::GetSDKInfo </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">PVSDKInfo &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aSDKInfo</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

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

<p>
Returns version information about the SDK<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aSDKInfo</em>&nbsp;</td><td>
A reference to a PVSDKInfo structure which contains the product label and date </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data that will be passed back to the user with the command response @leave This method can leave with one of the following error codes PVMFErrNoMemory if the SDK failed to allocate memory during this operation </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a2" doxytag="CPV2WayInterface::GetSDKModuleInfo"></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 OSCL_IMPORT_REF PVCommandId CPV2WayInterface::GetSDKModuleInfo </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">PVSDKModuleInfo &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aSDKModuleInfo</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

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

<p>
Returns information about all modules currently used by the SDK.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aSDKModuleInfo</em>&nbsp;</td><td>
A reference to a PVSDKModuleInfo structure which contains the number of modules currently used by pv2way SDK and the PV UID and description string for each module. The PV UID and description string for modules will be returned in one string buffer allocated by the client. If the string buffer is not large enough to hold the all the module's information, the information will be written up to the length of the buffer and truncated. </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data that will be passed back to the user with the command response @leave This method can leave with one of the following error codes PVMFErrNoMemory if the SDK failed to allocate memory during this operation </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a11" doxytag="CPV2WayInterface::GetState"></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 OSCL_IMPORT_REF PVCommandId CPV2WayInterface::GetState </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="pv__2way__basic__types_8h.html#a48">PV2WayState</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aState</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

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

<p>
This function returns the current state of the pv2way. Application may use this info for updating display or determine if the pv2way is ready for the next request.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aState</em>&nbsp;</td><td>
Reflects the state of the PV 2Way engine when the command was received. </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data that will be passed back to the user with the command response </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
value indicating the current pv2way state </dl>    </td>
  </tr>
</table>
<a name="a3" doxytag="CPV2WayInterface::Init"></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 OSCL_IMPORT_REF PVCommandId CPV2WayInterface::Init </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="classPV2WayInitInfo.html">PV2WayInitInfo</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aInitInfo</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

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

<p>
This function is valid only in the EIdle state. It is a no-op when invoked in any other state. It causes the pv2way to transition to the ESetup state. The terminal remains in the EInitializing state during the transition.
<p>
While initializing, the pv2way tries to allocate system resources needed for a two-way call. If it fails for some reason, and the pv2way reverts to the EIdle state. All the resources are de-allocated.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aInitInfo</em>&nbsp;</td><td>
A reference to a CPV2WayInitInfo structure which contains the capabilities of the applications sinks and sources to handle compressed and uncompressed formats. </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data that will be passed back to the user with the command response @leave This method can leave with one of the following error codes PVMFErrArgument if more tx and rx codecs are set than engine can handle, or the mandatory codecs are not in the list. PVMFErrNotSupported if the format of the sources/sinks is incomtible with what the SDK can handle PVMFErrInvalidState if invoked in the incorrect state PVMFErrNoMemory if the SDK failed to allocate memory during this operation </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a12" doxytag="CPV2WayInterface::Pause"></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 OSCL_IMPORT_REF PVCommandId CPV2WayInterface::Pause </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="pv__2way__basic__types_8h.html#a6">PV2WayDirection</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aDirection</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="pv__2way__basic__types_8h.html#a8">PVTrackId</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aTrackId</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

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

<p>
For an incoming track this function pauses sending media to the sink (output device) and stops the sink.
<p>
For outgoing, it pauses the sending of media from the source and stops the source.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aDirection</em>&nbsp;</td><td>
Specifies the direction of the track - incoming or outgoing </td></tr>
<tr><td valign=top><em>aTrackId</em>&nbsp;</td><td>
Specifies which track is to be paused. </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data that will be passed back to the user with the command response</td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a19" doxytag="CPV2WayInterface::QueryInterface"></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 OSCL_IMPORT_REF PVCommandId CPV2WayInterface::QueryInterface </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const PVUuid &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aUuid</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>PVInterface *&amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aInterfacePtr</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContext</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

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

<p>
This API is to allow for extensibility of the pv2way interface. It allows a caller to ask for an instance of a particular interface object to be returned. The mechanism is analogous to the COM IUnknown method. The interfaces are identified with an interface ID that is a UUID as in DCE and a pointer to the interface object is returned if it is supported. Otherwise the returned pointer is NULL. TBD: Define the UIID, InterfacePtr structures <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aUuid</em>&nbsp;</td><td>
The UUID of the desired interface </td></tr>
<tr><td valign=top><em>aInterfacePtr</em>&nbsp;</td><td>
The output pointer to the desired interface </td></tr>
</table>
</dl><dl compact><dt><b>Exceptions: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>not_supported</em>&nbsp;</td><td>
 leaves if the specified interface id is not supported. </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a18" doxytag="CPV2WayInterface::QueryUUID"></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 OSCL_IMPORT_REF PVCommandId CPV2WayInterface::QueryUUID </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const PvmfMimeString &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aMimeType</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>Oscl_Vector&lt; PVUuid, BasicAlloc &gt; &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aUuids</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>bool&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aExactUuidsOnly</em> = false, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

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

<p>
This API is to allow for extensibility of the pv2way interface. It allows a caller to ask for all UUIDs associated with a particular MIME type. If interfaces of the requested MIME type are found within the system, they are added to the UUIDs array.
<p>
Also added to the UUIDs array will be all interfaces which have the requested MIME type as a base MIME type. This functionality can be turned off.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aMimeType</em>&nbsp;</td><td>
The MIME type of the desired interfaces </td></tr>
<tr><td valign=top><em>aUuids</em>&nbsp;</td><td>
An array to hold the discovered UUIDs </td></tr>
<tr><td valign=top><em>aExactUuidsOnly</em>&nbsp;</td><td>
Turns on/off the retrival of UUIDs with aMimeType as a base type </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data that will be passed back to the user with the command response </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a8" doxytag="CPV2WayInterface::RemoveDataSink"></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 OSCL_IMPORT_REF PVCommandId CPV2WayInterface::RemoveDataSink </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">PVMFNodeInterface &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aDataSink</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

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

<p>
This function unbinds a previously added sink.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aDataSink</em>&nbsp;</td><td>
pointer to the media sink node </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data that will be passed back to the user with the command response</td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a6" doxytag="CPV2WayInterface::RemoveDataSource"></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 OSCL_IMPORT_REF PVCommandId CPV2WayInterface::RemoveDataSource </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">PVMFNodeInterface &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aDataSource</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

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

<p>
This function unbinds a previously added source.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aDataSource</em>&nbsp;</td><td>
pointer to the media source node</td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data that will be passed back to the user with the command response </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a15" doxytag="CPV2WayInterface::RemoveLogAppender"></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 OSCL_IMPORT_REF PVCommandId CPV2WayInterface::RemoveLogAppender </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aTag</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>OsclSharedPtr&lt; PVLoggerAppender &gt; &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aAppender</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

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

<p>
Allows a logging appender to be removed from the logger tree at the point specified by the input tag. The input tag cannot be NULL.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aTag</em>&nbsp;</td><td>
Specifies the logger tree tag where the appender should be removed. </td></tr>
<tr><td valign=top><em>aAppender</em>&nbsp;</td><td>
The log appender to remove. Must be a reference to the same object that was set. </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data that will be passed back to the user with the command response</td></tr>
</table>
</dl><dl compact><dt><b>Exceptions: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>memory_error</em>&nbsp;</td><td>
 leaves on memory allocation error.</td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a4" doxytag="CPV2WayInterface::Reset"></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 OSCL_IMPORT_REF PVCommandId CPV2WayInterface::Reset </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">OsclAny *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>aContextData</em> = NULL          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [pure virtual]</code></td>
        </tr>

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

<p>
This function is valid only in the ESetup and EInitializing state. It is a no-op when invoked in the EIdle state and returns PVMFErrInvalidState if invoked in any other state.
<p>
It causes the pv2way to transition back to the EIdle state. The terminal remains in the EResetting state during the transition.
<p>
While resetting, the pv2way de-allocates all resources resources that had been previously allocated. When it completes, ResetComplete is called and the pv2way reverts to the EIdle state.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data that will be passed back to the user with the command response @leave This method can leave with one of the following error codes PVMFErrInvalidState if invoked in the incorrect state PVMFErrNoMemory if the SDK failed to allocate memory during this operation </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a13" doxytag="CPV2WayInterface::Resume"></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 OSCL_IMPORT_REF PVCommandId CPV2WayInterface::Resume </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="pv__2way__basic__types_8h.html#a6">PV2WayDirection</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aDirection</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="pv__2way__basic__types_8h.html#a8">PVTrackId</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aTrackId</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

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

<p>
Resume a previously paused incoming or outgoing track. For incoming, this function starts resumes playing out the media to the appropriate sink based on the current settings. For outgoing it resumes encoding and sending media from the source.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aDirection</em>&nbsp;</td><td>
Specifies the direction of the track - incoming or outgoing </td></tr>
<tr><td valign=top><em>aTrackId</em>&nbsp;</td><td>
Specifies which track is to be paused. </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data that will be passed back to the user with the command response</td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a14" doxytag="CPV2WayInterface::SetLogAppender"></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 OSCL_IMPORT_REF PVCommandId CPV2WayInterface::SetLogAppender </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aTag</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>OsclSharedPtr&lt; PVLoggerAppender &gt; &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aAppender</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

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

<p>
Allows a logging appender to be attached at some point in the logger tag tree. The location in the tag tree is specified by the input tag string. A single appender can be attached multiple times in the tree, but it may result in duplicate copies of log messages if the appender is not attached in disjoint portions of the tree. A logging appender is responsible for actually writing the log message to its final location (e.g., memory, file, network, etc). This API can be called anytime after creation of the terminal.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aTag</em>&nbsp;</td><td>
Specifies the logger tree tag where the appender should be attached. </td></tr>
<tr><td valign=top><em>aAppender</em>&nbsp;</td><td>
The log appender to attach. </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data that will be passed back to the user with the command response</td></tr>
</table>
</dl><dl compact><dt><b>Exceptions: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>memory_error</em>&nbsp;</td><td>
 leaves on memory allocation error.</td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a16" doxytag="CPV2WayInterface::SetLogLevel"></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 OSCL_IMPORT_REF PVCommandId CPV2WayInterface::SetLogLevel </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aTag</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int32&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aLevel</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>bool&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aSetSubtree</em> = false, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

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

<p>
Allows the logging level to be set for the logging node specified by the tag. A larger log level will result in more messages being logged. A message will only be logged if its level is LESS THAN or equal to the current log level. The set_subtree flag will allow an entire subtree, with the specified tag as the root, to be reset to the specified value.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aTag</em>&nbsp;</td><td>
Specifies the logger tree tag where the log level should be set. </td></tr>
<tr><td valign=top><em>aLevel</em>&nbsp;</td><td>
Specifies the log level to set. </td></tr>
<tr><td valign=top><em>aSetSubtree</em>&nbsp;</td><td>
Specifies whether the entire subtree with aTag as the root should be reset to the log level. </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data that will be passed back to the user with the command response</td></tr>
</table>
</dl><dl compact><dt><b>Exceptions: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>memory_error</em>&nbsp;</td><td>
 leaves on memory allocation error.</td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="pv__2way__interface_8h-source.html">pv_2way_interface.h</a></ul>
<hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>PV2Way Engine</small>
<address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small>
</small></address>
</body>
</html>
