Symbian3/SDK/Source/GUID-95493C3D-58C6-5EBF-85E1-167D58E68658.dita
changeset 8 ae94777fff8f
parent 7 51a74ef9ed63
child 13 48780e181b38
--- a/Symbian3/SDK/Source/GUID-95493C3D-58C6-5EBF-85E1-167D58E68658.dita	Wed Mar 31 11:11:55 2010 +0100
+++ b/Symbian3/SDK/Source/GUID-95493C3D-58C6-5EBF-85E1-167D58E68658.dita	Fri Jun 11 12:39:03 2010 +0100
@@ -1,131 +1,131 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"Eclipse Public License v1.0" which accompanies this distribution, 
-and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
-<!-- Initial Contributors:
-    Nokia Corporation - initial contribution.
-Contributors: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept id="GUID-95493C3D-58C6-5EBF-85E1-167D58E68658" xml:lang="en"><title>Bluetooth
-Remote Control Framework</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section><title>Purpose</title> <p>The Bluetooth Remote Control Framework
-provides the APIs needed to send (<xref href="GUID-45209316-9B3A-3384-8345-63638CA55705.dita"><apiname>CRemConCoreApiController</apiname></xref>)
-and receive (<xref href="GUID-723FC8F2-DB48-3C70-976F-D027E19F480B.dita"><apiname>CRemConCoreApiTarget</apiname></xref>) remote control commands
-to/from a Bluetooth enabled device. </p> <p><b>In this overview </b> </p> <p>You
-will learn about the Bluetooth Remote Control Framework. Several tutorials
-are provided, links are at the end of the overview, to help get you started
-writing remote control applications. </p> </section>
-<section><title>Architectural relationships</title> <p>The Bluetooth subsystem
-provides a number of APIs that you will use to establish a connection to a
-Bluetooth device that provides the required services. The APIs you need to
-know about include: </p> <ul>
-<li id="GUID-2CE04B62-CBF3-5051-808A-ED69036ED66A"><p><xref href="GUID-5FE7D4DB-B853-57C4-8A90-16DF92F6231A.dita">Bluetooth
-User</xref>  </p> <p>Establishing a Bluetooth connection. </p> </li>
-<li id="GUID-4677DB2E-5D9F-5FBC-A2A6-5C0C909C84C7"><p><xref href="GUID-EC7A9299-4272-5C1E-8A10-8267E154D56A.dita">Bluetooth
-SDP</xref>  </p> <p>Finding a device that can provide the necessary services. </p> </li>
-<li id="GUID-9990C09D-EEFA-5F00-B6E8-85BD96BFB685"><p><xref href="GUID-9B83CDD4-FC94-51A0-AC67-CD04BCAFEF08.dita">Serial
-Comms C32</xref>  </p> <p>The serial communications framework. </p> </li>
-<li id="GUID-6D927D93-DD66-507A-99C6-4301CAA9F9D7"><p><xref href="GUID-61E0CD76-A2E3-5066-84A8-146EECA8ADCD.dita">Socket
-Server</xref>  </p> <p>The interface to protocols. </p> </li>
-</ul> <p>The <xref href="GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7.dita#GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7/GUID-7251B0E5-D6B1-524B-9714-6A469F8E1CB3">Audio
-Video Remote Control Profile</xref> (AVRCP) is implemented by the Remote Control
-Framework. A remote control bearer plug-in is required, which uses socket
-APIs internally to send and receive Audio Video Control Transport Protocol
-(AVCTP) data over ESock. </p> </section>
-<section><title>Key Concepts</title><dl>
-<dlentry>
-<dt>Controller</dt>
-<dd><p>The controller is a device that sends a control message or command
-to a target device and is ready to capture responses. </p> </dd>
-</dlentry>
-<dlentry>
-<dt>Target</dt>
-<dd><p>The target is a device that accepts the control message or command
-from the controller, invokes necessary procedures and sends out responses
-to controller. </p> </dd>
-</dlentry>
-<dlentry>
-<dt>Bearer</dt>
-<dd><p>The bearer is a carrier that acts like a vehicle of transmission for
-remote control messages. The bearer here is an Ecom plugin to the RemCon server. </p> </dd>
-</dlentry>
-<dlentry>
-<dt> Audio Video Remote Control Profile (AVRCP)</dt>
-<dd><p>The bearer that plugs into the RemCon server and transmits remote control
-messages (commands) and status responses. </p> </dd>
-</dlentry>
-<dlentry>
-<dt>Converter</dt>
-<dd><p>This is an ECom plug-in that converts the message format from the Client
-side API to the bearer format and vice versa. </p> </dd>
-</dlentry>
-<dlentry>
-<dt>Audio Video Control Transport Protocol (AVCTP)</dt>
-<dd><p>The protocol that defines the methods and messages used for controlling
-Audio/Video devices. </p> </dd>
-</dlentry>
-<dlentry>
-<dt>Audio Video Distribution Transport Protocol (AVDTP)</dt>
-<dd><p>The AVDTP is used to send frames of encoded multimedia data over Bluetooth. </p> </dd>
-</dlentry>
-</dl></section>
-<section><title>Description</title> <p>The Bluetooth Remote Control Framework
-provides APIs that make it possible for a device to participate in remote
-control relationship. The framework can be used to create an application with
-one of three behavior sets, they are: </p> <ul>
-<li id="GUID-B46D2342-789A-5503-B208-8685A07BEB3C"><p>Device acts as a remote
-controller </p> </li>
-<li id="GUID-85E8A346-1EAC-5A7C-A976-26E3ADC0FEDD"><p>Device is controlled
-remotely </p> </li>
-<li id="GUID-901A5D9A-B7A0-5429-A8EA-0D4E6B458CF6"><p>Combination of the above
-in a single device / application. </p> </li>
-</ul> <p><b>Remote Controller</b> </p> <p>As a controller the device will
-send commands to a target device. A controller can be connection-orientated,
-meaning it identifies a specific device to control and maintains a connection
-with that device, or connectionless, meaning remote control commands are sent
-out into the air for any receptive device to accept. </p> <p>The Controller
-APIs allow an application to send commands to a remote controlled device. </p> <p>Controller
-APIs include: </p> <ol id="GUID-C467E8F2-446E-5FFA-8703-81D1F8329C98">
-<li id="GUID-9D5A6982-FA04-5AC9-A0AE-D38CBC6A2E34"><p> <xref href="GUID-45209316-9B3A-3384-8345-63638CA55705.dita"><apiname>CRemConCoreApiController</apiname></xref>  </p> </li>
-<li id="GUID-E26F43AD-B427-57AB-B2AE-9E38C39B3F28"><p> <xref href="GUID-73C622B9-A91F-35B2-82D5-4D0AFCE0E220.dita"><apiname>CRemConTargetSelectorPlugin</apiname></xref>  </p> </li>
-<li id="GUID-DDDCFAFE-FD7D-5DB4-98A8-CD958048CC12"><p> <xref href="GUID-E11AC4F0-EFBF-3AED-9FB5-EE3974A54768.dita"><apiname>CRemConBearerPlugin</apiname></xref>  </p> </li>
-<li id="GUID-FB5D8C52-CCF2-52A4-8184-CF5E96C0FE17"><p> <xref href="GUID-AB5FFF47-430A-3F2D-AA0F-CA6D33FC3DB3.dita"><apiname> CRemConInterfaceBase</apiname></xref>  </p> </li>
-<li id="GUID-D6069C5A-2693-59E7-90B1-39EFD170D734"><p> <xref href="GUID-81EE9382-D501-3FCE-ACD9-7BC5236FC462.dita"><apiname>CRemConInterfaceSelector</apiname></xref>  </p> </li>
-</ol> <p><b>Controlled Remotely</b> </p> <p>Known as the target device, this
-device receives commands from a controller. Target devices may only be connectionless,
-meaning they will always respond to valid remote control commands, regardless
-of the source of said commands. </p> <p>The Target API enables applications
-to receive commands and to query for information from the controller. </p> <p>Target
-APIs include: </p> <ol id="GUID-B773F2C2-D2BE-5B86-94BE-536C7A1FB903">
-<li id="GUID-FD6A5629-FC0A-5BA1-A7FD-F2237DBB5883"><p> <xref href="GUID-723FC8F2-DB48-3C70-976F-D027E19F480B.dita"><apiname>CRemConCoreApiTarget</apiname></xref>  </p> </li>
-<li id="GUID-2E055556-D061-5993-95FB-66FA9DDAF0A8"><p> <xref href="GUID-7750ED3F-322E-3933-A3F7-6BB8AEE3F627.dita"><apiname>MRemConInterfaceIf</apiname></xref>  </p> </li>
-<li id="GUID-FCA09A7B-5DBB-50BB-92F9-B10706C3AC06"><p> <xref href="GUID-AB5FFF47-430A-3F2D-AA0F-CA6D33FC3DB3.dita"><apiname> CRemConInterfaceBase</apiname></xref>  </p> </li>
-</ol> <p><b>How Remote Control Works</b> </p> <p>The following diagram shows
-how the Remote Control Framework works for a handsfree headset example. </p> <fig id="GUID-C42AEF1A-3E1E-5CD1-84AE-80657ACEA1E1">
-<title>                 Bluetooth Remote Control Headset               </title>
-<desc><p>The controller application uses the Controller API, which is connected
-to the RemCon Server. The ECom plugin or AVRCP in this case is plugged into
-the RemCon server. The message format from the Controller API is converted
-into AVRCP format by the Converter plugin which in turn converts it into target
-API format at the other end. The target APIs invoke the necessary actions
-on the application and update the RemCon server of the status. The applicable
-Audio Video Distribution Transport Protocol (AVDTP) is used to deliver the
-output stream from the multimedia application to the controller device. The
-RemCon Server status is updated to the Controller through the AVRCP bearer. </p> </desc>
-<image href="GUID-8E759F53-8DA7-5AA3-B004-7D989CCF8755_d0e130266_href.jpg" placement="inline"/>
-</fig> </section>
-<section><title>What's next?</title> <p>The following tutorial series has
-been provided to make writing remote control applications easier. </p> <ul>
-<li id="GUID-5C8E6A29-4F25-58FD-9622-D23F81670953"><p><xref href="GUID-C4A072E1-4385-5C98-98C1-56F297132F11.dita">Remote
-Control Basics</xref>  </p> </li>
-<li id="GUID-27F6911B-0072-5324-9645-D9BDA3ABA7F3"><p><xref href="GUID-E25A5C1E-83D7-51D5-8F11-9C44C6CEEDCE.dita">Starting
-as Controller</xref>  </p> </li>
-<li id="GUID-25FD58EC-A89C-5C25-A9BB-37A305BA0084"><p><xref href="GUID-8E25E84C-E8F3-50B2-82E5-0611A341ED27.dita">Starting
-as Target</xref>  </p> </li>
-<li id="GUID-567F3EF0-B3CD-5482-A7C8-7CDEBDF4F034"><p><xref href="GUID-7DDF477A-1744-589A-82CB-3CB32D56D7CE.dita">Commands
-and Responses</xref>  </p> </li>
-</ul> </section>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"Eclipse Public License v1.0" which accompanies this distribution, 
+and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
+<!-- Initial Contributors:
+    Nokia Corporation - initial contribution.
+Contributors: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-95493C3D-58C6-5EBF-85E1-167D58E68658" xml:lang="en"><title>Bluetooth
+Remote Control Framework</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section><title>Purpose</title> <p>The Bluetooth Remote Control Framework
+provides the APIs needed to send (<xref href="GUID-45209316-9B3A-3384-8345-63638CA55705.dita"><apiname>CRemConCoreApiController</apiname></xref>)
+and receive (<xref href="GUID-723FC8F2-DB48-3C70-976F-D027E19F480B.dita"><apiname>CRemConCoreApiTarget</apiname></xref>) remote control commands
+to/from a Bluetooth enabled device. </p> <p><b>In this overview </b> </p> <p>You
+will learn about the Bluetooth Remote Control Framework. Several tutorials
+are provided, links are at the end of the overview, to help get you started
+writing remote control applications. </p> </section>
+<section><title>Architectural relationships</title> <p>The Bluetooth subsystem
+provides a number of APIs that you will use to establish a connection to a
+Bluetooth device that provides the required services. The APIs you need to
+know about include: </p> <ul>
+<li id="GUID-2CE04B62-CBF3-5051-808A-ED69036ED66A"><p><xref href="GUID-5FE7D4DB-B853-57C4-8A90-16DF92F6231A.dita">Bluetooth
+User</xref>  </p> <p>Establishing a Bluetooth connection. </p> </li>
+<li id="GUID-4677DB2E-5D9F-5FBC-A2A6-5C0C909C84C7"><p><xref href="GUID-EC7A9299-4272-5C1E-8A10-8267E154D56A.dita">Bluetooth
+SDP</xref>  </p> <p>Finding a device that can provide the necessary services. </p> </li>
+<li id="GUID-9990C09D-EEFA-5F00-B6E8-85BD96BFB685"><p><xref href="GUID-9B83CDD4-FC94-51A0-AC67-CD04BCAFEF08.dita">Serial
+Comms C32</xref>  </p> <p>The serial communications framework. </p> </li>
+<li id="GUID-6D927D93-DD66-507A-99C6-4301CAA9F9D7"><p><xref href="GUID-61E0CD76-A2E3-5066-84A8-146EECA8ADCD.dita">Socket
+Server</xref>  </p> <p>The interface to protocols. </p> </li>
+</ul> <p>The <xref href="GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7.dita#GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7/GUID-7251B0E5-D6B1-524B-9714-6A469F8E1CB3">Audio
+Video Remote Control Profile</xref> (AVRCP) is implemented by the Remote Control
+Framework. A remote control bearer plug-in is required, which uses socket
+APIs internally to send and receive Audio Video Control Transport Protocol
+(AVCTP) data over ESock. </p> </section>
+<section><title>Key Concepts</title><dl>
+<dlentry>
+<dt>Controller</dt>
+<dd><p>The controller is a device that sends a control message or command
+to a target device and is ready to capture responses. </p> </dd>
+</dlentry>
+<dlentry>
+<dt>Target</dt>
+<dd><p>The target is a device that accepts the control message or command
+from the controller, invokes necessary procedures and sends out responses
+to controller. </p> </dd>
+</dlentry>
+<dlentry>
+<dt>Bearer</dt>
+<dd><p>The bearer is a carrier that acts like a vehicle of transmission for
+remote control messages. The bearer here is an Ecom plugin to the RemCon server. </p> </dd>
+</dlentry>
+<dlentry>
+<dt> Audio Video Remote Control Profile (AVRCP)</dt>
+<dd><p>The bearer that plugs into the RemCon server and transmits remote control
+messages (commands) and status responses. </p> </dd>
+</dlentry>
+<dlentry>
+<dt>Converter</dt>
+<dd><p>This is an ECom plug-in that converts the message format from the Client
+side API to the bearer format and vice versa. </p> </dd>
+</dlentry>
+<dlentry>
+<dt>Audio Video Control Transport Protocol (AVCTP)</dt>
+<dd><p>The protocol that defines the methods and messages used for controlling
+Audio/Video devices. </p> </dd>
+</dlentry>
+<dlentry>
+<dt>Audio Video Distribution Transport Protocol (AVDTP)</dt>
+<dd><p>The AVDTP is used to send frames of encoded multimedia data over Bluetooth. </p> </dd>
+</dlentry>
+</dl></section>
+<section><title>Description</title> <p>The Bluetooth Remote Control Framework
+provides APIs that make it possible for a device to participate in remote
+control relationship. The framework can be used to create an application with
+one of three behavior sets, they are: </p> <ul>
+<li id="GUID-B46D2342-789A-5503-B208-8685A07BEB3C"><p>Device acts as a remote
+controller </p> </li>
+<li id="GUID-85E8A346-1EAC-5A7C-A976-26E3ADC0FEDD"><p>Device is controlled
+remotely </p> </li>
+<li id="GUID-901A5D9A-B7A0-5429-A8EA-0D4E6B458CF6"><p>Combination of the above
+in a single device / application. </p> </li>
+</ul> <p><b>Remote Controller</b> </p> <p>As a controller the device will
+send commands to a target device. A controller can be connection-orientated,
+meaning it identifies a specific device to control and maintains a connection
+with that device, or connectionless, meaning remote control commands are sent
+out into the air for any receptive device to accept. </p> <p>The Controller
+APIs allow an application to send commands to a remote controlled device. </p> <p>Controller
+APIs include: </p> <ol id="GUID-C467E8F2-446E-5FFA-8703-81D1F8329C98">
+<li id="GUID-9D5A6982-FA04-5AC9-A0AE-D38CBC6A2E34"><p> <xref href="GUID-45209316-9B3A-3384-8345-63638CA55705.dita"><apiname>CRemConCoreApiController</apiname></xref>  </p> </li>
+<li id="GUID-E26F43AD-B427-57AB-B2AE-9E38C39B3F28"><p> <xref href="GUID-73C622B9-A91F-35B2-82D5-4D0AFCE0E220.dita"><apiname>CRemConTargetSelectorPlugin</apiname></xref>  </p> </li>
+<li id="GUID-DDDCFAFE-FD7D-5DB4-98A8-CD958048CC12"><p> <xref href="GUID-E11AC4F0-EFBF-3AED-9FB5-EE3974A54768.dita"><apiname>CRemConBearerPlugin</apiname></xref>  </p> </li>
+<li id="GUID-FB5D8C52-CCF2-52A4-8184-CF5E96C0FE17"><p> <xref href="GUID-AB5FFF47-430A-3F2D-AA0F-CA6D33FC3DB3.dita"><apiname> CRemConInterfaceBase</apiname></xref>  </p> </li>
+<li id="GUID-D6069C5A-2693-59E7-90B1-39EFD170D734"><p> <xref href="GUID-81EE9382-D501-3FCE-ACD9-7BC5236FC462.dita"><apiname>CRemConInterfaceSelector</apiname></xref>  </p> </li>
+</ol> <p><b>Controlled Remotely</b> </p> <p>Known as the target device, this
+device receives commands from a controller. Target devices may only be connectionless,
+meaning they will always respond to valid remote control commands, regardless
+of the source of said commands. </p> <p>The Target API enables applications
+to receive commands and to query for information from the controller. </p> <p>Target
+APIs include: </p> <ol id="GUID-B773F2C2-D2BE-5B86-94BE-536C7A1FB903">
+<li id="GUID-FD6A5629-FC0A-5BA1-A7FD-F2237DBB5883"><p> <xref href="GUID-723FC8F2-DB48-3C70-976F-D027E19F480B.dita"><apiname>CRemConCoreApiTarget</apiname></xref>  </p> </li>
+<li id="GUID-2E055556-D061-5993-95FB-66FA9DDAF0A8"><p> <xref href="GUID-7750ED3F-322E-3933-A3F7-6BB8AEE3F627.dita"><apiname>MRemConInterfaceIf</apiname></xref>  </p> </li>
+<li id="GUID-FCA09A7B-5DBB-50BB-92F9-B10706C3AC06"><p> <xref href="GUID-AB5FFF47-430A-3F2D-AA0F-CA6D33FC3DB3.dita"><apiname> CRemConInterfaceBase</apiname></xref>  </p> </li>
+</ol> <p><b>How Remote Control Works</b> </p> <p>The following diagram shows
+how the Remote Control Framework works for a handsfree headset example. </p> <fig id="GUID-C42AEF1A-3E1E-5CD1-84AE-80657ACEA1E1">
+<title>                 Bluetooth Remote Control Headset               </title>
+<desc><p>The controller application uses the Controller API, which is connected
+to the RemCon Server. The ECom plugin or AVRCP in this case is plugged into
+the RemCon server. The message format from the Controller API is converted
+into AVRCP format by the Converter plugin which in turn converts it into target
+API format at the other end. The target APIs invoke the necessary actions
+on the application and update the RemCon server of the status. The applicable
+Audio Video Distribution Transport Protocol (AVDTP) is used to deliver the
+output stream from the multimedia application to the controller device. The
+RemCon Server status is updated to the Controller through the AVRCP bearer. </p> </desc>
+<image href="GUID-8E759F53-8DA7-5AA3-B004-7D989CCF8755_d0e123728_href.jpg" placement="inline"/>
+</fig> </section>
+<section><title>What's next?</title> <p>The following tutorial series has
+been provided to make writing remote control applications easier. </p> <ul>
+<li id="GUID-5C8E6A29-4F25-58FD-9622-D23F81670953"><p><xref href="GUID-C4A072E1-4385-5C98-98C1-56F297132F11.dita">Remote
+Control Basics</xref>  </p> </li>
+<li id="GUID-27F6911B-0072-5324-9645-D9BDA3ABA7F3"><p><xref href="GUID-E25A5C1E-83D7-51D5-8F11-9C44C6CEEDCE.dita">Starting
+as Controller</xref>  </p> </li>
+<li id="GUID-25FD58EC-A89C-5C25-A9BB-37A305BA0084"><p><xref href="GUID-8E25E84C-E8F3-50B2-82E5-0611A341ED27.dita">Starting
+as Target</xref>  </p> </li>
+<li id="GUID-567F3EF0-B3CD-5482-A7C8-7CDEBDF4F034"><p><xref href="GUID-7DDF477A-1744-589A-82CB-3CB32D56D7CE.dita">Commands
+and Responses</xref>  </p> </li>
+</ul> </section>
 </conbody></concept>
\ No newline at end of file