Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/class_d_driver1_channel.html
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 13 Aug 2010 16:47:46 +0100
changeset 14 578be2adaf3e
parent 6 43e37759235e
permissions -rw-r--r--
Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>TB9.2 Example Applications: DDriver1Channel Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.2 -->
<div class="contents">
<h1>DDriver1Channel Class Reference</h1><!-- doxytag: class="DDriver1Channel" -->
<p><a href="class_d_driver1_channel-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_driver1_channel.html#ad8a91a9260da7cfc7ee245a77b853d6e">DDriver1Channel</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_driver1_channel.html#a2739d21598133597f0ac408b20280049">~DDriver1Channel</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual TInt&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_driver1_channel.html#ab06d988aab9e3c39aaf6e5dabe389f70">RequestUserHandle</a> (DThread *aThread, TOwnerType aType)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual TInt&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_driver1_channel.html#ac08720a956dbae4e7127da92944c35ad">DoCreate</a> (TInt aUnit, const TDesC8 *anInfo, const TVersion &amp;aVer)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_driver1_channel.html#adc1467b94ce109571581efa52f43e380">HandleMsg</a> (TMessageBase *aMsg)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_driver1_channel.html#a4ddf64ba96fa2febc011034d3fcb46c8">SendDataComplete</a> (TInt aResult)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_driver1_channel.html#ac5102a3cbbcb3fe11357481d8d204523">ReceiveDataComplete</a> (TInt aResult)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Logical Channel class for 'Driver1'. </p>

<p>Definition at line <a class="el" href="driver1__dev_8h_source.html#l00046">46</a> of file <a class="el" href="driver1__dev_8h_source.html">driver1_dev.h</a>.</p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ad8a91a9260da7cfc7ee245a77b853d6e"></a><!-- doxytag: member="DDriver1Channel::DDriver1Channel" ref="ad8a91a9260da7cfc7ee245a77b853d6e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DDriver1Channel::DDriver1Channel </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Constructor </p>

<p>Definition at line <a class="el" href="driver1__ldd_8cpp_source.html#l00105">105</a> of file <a class="el" href="driver1__ldd_8cpp_source.html">driver1_ldd.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a2739d21598133597f0ac408b20280049"></a><!-- doxytag: member="DDriver1Channel::~DDriver1Channel" ref="a2739d21598133597f0ac408b20280049" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DDriver1Channel::~DDriver1Channel </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Destructor </p>

<p>Definition at line <a class="el" href="driver1__ldd_8cpp_source.html#l00168">168</a> of file <a class="el" href="driver1__ldd_8cpp_source.html">driver1_ldd.cpp</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ab06d988aab9e3c39aaf6e5dabe389f70"></a><!-- doxytag: member="DDriver1Channel::RequestUserHandle" ref="ab06d988aab9e3c39aaf6e5dabe389f70" args="(DThread *aThread, TOwnerType aType)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">TInt DDriver1Channel::RequestUserHandle </td>
          <td>(</td>
          <td class="paramtype">DThread *&nbsp;</td>
          <td class="paramname"> <em>aThread</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">TOwnerType&nbsp;</td>
          <td class="paramname"> <em>aType</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Called when a user thread requests a handle to this channel. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>aThread</em>&nbsp;</td><td>Name of thread </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>aType</em>&nbsp;</td><td>Determines whether the requested handle is thread or process relative. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>KErrNone if successful, otherwise one of the other system wide error codes. </dd></dl>

<p>Definition at line <a class="el" href="driver1__ldd_8cpp_source.html#l00183">183</a> of file <a class="el" href="driver1__ldd_8cpp_source.html">driver1_ldd.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="ac08720a956dbae4e7127da92944c35ad"></a><!-- doxytag: member="DDriver1Channel::DoCreate" ref="ac08720a956dbae4e7127da92944c35ad" args="(TInt aUnit, const TDesC8 *anInfo, const TVersion &amp;aVer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">TInt DDriver1Channel::DoCreate </td>
          <td>(</td>
          <td class="paramtype">TInt&nbsp;</td>
          <td class="paramname"> <em>aUnit</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const TDesC8 *&nbsp;</td>
          <td class="paramname"> <em>anInfo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const TVersion &amp;&nbsp;</td>
          <td class="paramname"> <em>aVer</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Second stage constructor called by the kernel's device driver framework. This is called in the context of the user thread (client) which requested the creation of a Logical Channel (e.g. through a call to RBusLogicalChannel::DoCreate()). The thread is in a critical section. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>aUnit</em>&nbsp;</td><td>The unit argument supplied by the client to RBusLogicalChannel::DoCreate(). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>aInfo</em>&nbsp;</td><td>The info argument supplied by the client to RBusLogicalChannel::DoCreate(). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>aVer</em>&nbsp;</td><td>The version argument supplied by the client to RBusLogicalChannel::DoCreate(). </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>KErrNone if successful, otherwise one of the other system wide error codes. </dd></dl>

<p>Definition at line <a class="el" href="driver1__ldd_8cpp_source.html#l00128">128</a> of file <a class="el" href="driver1__ldd_8cpp_source.html">driver1_ldd.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="adc1467b94ce109571581efa52f43e380"></a><!-- doxytag: member="DDriver1Channel::HandleMsg" ref="adc1467b94ce109571581efa52f43e380" args="(TMessageBase *aMsg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void DDriver1Channel::HandleMsg </td>
          <td>(</td>
          <td class="paramtype">TMessageBase *&nbsp;</td>
          <td class="paramname"> <em>aMsg</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Process a message for this logical channel. This function is called in the context of a DFC thread.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>aMsg</em>&nbsp;</td><td>The message to process. The iValue member of this distinguishes the message type: iValue==ECloseMsg, channel close message iValue==KMaxTInt, a 'DoCancel' message iValue&gt;=0, a 'DoControl' message with function number equal to iValue iValue&lt;0, a 'DoRequest' message with function number equal to ~iValue </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="driver1__ldd_8cpp_source.html#l00202">202</a> of file <a class="el" href="driver1__ldd_8cpp_source.html">driver1_ldd.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a4ddf64ba96fa2febc011034d3fcb46c8"></a><!-- doxytag: member="DDriver1Channel::SendDataComplete" ref="a4ddf64ba96fa2febc011034d3fcb46c8" args="(TInt aResult)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void DDriver1Channel::SendDataComplete </td>
          <td>(</td>
          <td class="paramtype">TInt&nbsp;</td>
          <td class="paramname"> <em>aResult</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Called by PDD from ISR to indicate that a SendData operation has completed. </p>

<p>Definition at line <a class="el" href="driver1__ldd_8cpp_source.html#l00445">445</a> of file <a class="el" href="driver1__ldd_8cpp_source.html">driver1_ldd.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="ac5102a3cbbcb3fe11357481d8d204523"></a><!-- doxytag: member="DDriver1Channel::ReceiveDataComplete" ref="ac5102a3cbbcb3fe11357481d8d204523" args="(TInt aResult)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void DDriver1Channel::ReceiveDataComplete </td>
          <td>(</td>
          <td class="paramtype">TInt&nbsp;</td>
          <td class="paramname"> <em>aResult</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Called by PDD from ISR to indicate that a ReceiveData operation has completed. </p>

<p>Definition at line <a class="el" href="driver1__ldd_8cpp_source.html#l00523">523</a> of file <a class="el" href="driver1__ldd_8cpp_source.html">driver1_ldd.cpp</a>.</p>

</div>
</div>
</div>
<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>