Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/class_d_driver1_channel.html
Week 12 contribution of SDK documentation_content. See release notes for details. Fixes Bug 1892, Bug 1522, Bug 1520, Bug 394, Bug 1319, Bug 344, Bug 1897
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>TB10.1 Example Applications: DDriver1Channel Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.3 -->
<h1>DDriver1Channel Class Reference</h1><!-- doxytag: class="DDriver1Channel" -->
<p>
<a href="class_d_driver1_channel-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_driver1_channel.html#d8a91a9260da7cfc7ee245a77b853d6e">DDriver1Channel</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_driver1_channel.html#2739d21598133597f0ac408b20280049">~DDriver1Channel</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual TInt </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_driver1_channel.html#b06d988aab9e3c39aaf6e5dabe389f70">RequestUserHandle</a> (DThread *aThread, TOwnerType aType)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual TInt </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_driver1_channel.html#c08720a956dbae4e7127da92944c35ad">DoCreate</a> (TInt aUnit, const TDesC8 *anInfo, const TVersion &aVer)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_driver1_channel.html#dc1467b94ce109571581efa52f43e380">HandleMsg</a> (TMessageBase *aMsg)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_driver1_channel.html#4ddf64ba96fa2febc011034d3fcb46c8">SendDataComplete</a> (TInt aResult)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_driver1_channel.html#c5102a3cbbcb3fe11357481d8d204523">ReceiveDataComplete</a> (TInt aResult)</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Logical Channel class for 'Driver1'.
<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 & Destructor Documentation</h2>
<a class="anchor" name="d8a91a9260da7cfc7ee245a77b853d6e"></a><!-- doxytag: member="DDriver1Channel::DDriver1Channel" ref="d8a91a9260da7cfc7ee245a77b853d6e" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">DDriver1Channel::DDriver1Channel </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Constructor
<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><p>
<a class="anchor" name="2739d21598133597f0ac408b20280049"></a><!-- doxytag: member="DDriver1Channel::~DDriver1Channel" ref="2739d21598133597f0ac408b20280049" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">DDriver1Channel::~DDriver1Channel </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Destructor
<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><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="b06d988aab9e3c39aaf6e5dabe389f70"></a><!-- doxytag: member="DDriver1Channel::RequestUserHandle" ref="b06d988aab9e3c39aaf6e5dabe389f70" 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 * </td>
<td class="paramname"> <em>aThread</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">TOwnerType </td>
<td class="paramname"> <em>aType</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Called when a user thread requests a handle to this channel. <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>aThread</em> </td><td>Name of thread </td></tr>
<tr><td valign="top"></td><td valign="top"><em>aType</em> </td><td>Determines whether the requested handle is thread or process relative. </td></tr>
</table>
</dl>
<dl class="return" compact><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><p>
<a class="anchor" name="c08720a956dbae4e7127da92944c35ad"></a><!-- doxytag: member="DDriver1Channel::DoCreate" ref="c08720a956dbae4e7127da92944c35ad" args="(TInt aUnit, const TDesC8 *anInfo, const TVersion &aVer)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TInt DDriver1Channel::DoCreate </td>
<td>(</td>
<td class="paramtype">TInt </td>
<td class="paramname"> <em>aUnit</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const TDesC8 * </td>
<td class="paramname"> <em>anInfo</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const TVersion & </td>
<td class="paramname"> <em>aVer</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"><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. <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>aUnit</em> </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> </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> </td><td>The version argument supplied by the client to RBusLogicalChannel::DoCreate(). </td></tr>
</table>
</dl>
<dl class="return" compact><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><p>
<a class="anchor" name="dc1467b94ce109571581efa52f43e380"></a><!-- doxytag: member="DDriver1Channel::HandleMsg" ref="dc1467b94ce109571581efa52f43e380" 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 * </td>
<td class="paramname"> <em>aMsg</em> </td>
<td> ) </td>
<td width="100%"><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 compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>aMsg</em> </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>=0, a 'DoControl' message with function number equal to iValue iValue<0, a 'DoRequest' message with function number equal to ~iValue </td></tr>
</table>
</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><p>
<a class="anchor" name="4ddf64ba96fa2febc011034d3fcb46c8"></a><!-- doxytag: member="DDriver1Channel::SendDataComplete" ref="4ddf64ba96fa2febc011034d3fcb46c8" 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 </td>
<td class="paramname"> <em>aResult</em> </td>
<td> ) </td>
<td width="100%"><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>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><p>
<a class="anchor" name="c5102a3cbbcb3fe11357481d8d204523"></a><!-- doxytag: member="DDriver1Channel::ReceiveDataComplete" ref="c5102a3cbbcb3fe11357481d8d204523" 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 </td>
<td class="paramname"> <em>aResult</em> </td>
<td> ) </td>
<td width="100%"><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>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><p>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Jan 21 10:33:08 2010 for TB10.1 Example Applications by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
</body>
</html>