Symbian3/PDK/Source/GUID-667C0481-2DEF-4618-9AA5-8DF528082061.dita
changeset 12 80ef3a206772
parent 9 59758314f811
child 14 578be2adaf3e
equal deleted inserted replaced
11:5072524fcc79 12:80ef3a206772
     7     Nokia Corporation - initial contribution.
     7     Nokia Corporation - initial contribution.
     8 Contributors: 
     8 Contributors: 
     9 -->
     9 -->
    10 <!DOCTYPE concept
    10 <!DOCTYPE concept
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
    12 <concept id="GUID-667C0481-2DEF-4618-9AA5-8DF528082061" xml:lang="en"><title>Accessory
    12 <concept id="GUID-667C0481-2DEF-4618-9AA5-8DF528082061" xml:lang="en"><title>Accessory Services Overview</title><shortdesc>Accessory Services abstract accessory-related services
    13 Services Overview</title><shortdesc>Accessory Services abstract accessory-related services for platform
    13 for platform and SDK clients and provides accessory-related APIs for
    14 and SDK clients and provides accessory-related APIs for adaptation (audio
    14 adaptation (audio and display) and accessory plug-ins.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
    15 and display) and accessory plug-ins.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
    15 <section id="GUID-6C29F2CD-6FBE-4805-957A-CB08163DFC00"><title>Purpose</title><p>Accessory Services is a group of components that support APIs
    16 <section id="GUID-6C29F2CD-6FBE-4805-957A-CB08163DFC00"><title>Purpose</title><p>Accessory Services is a group of components
    16 for platform clients to retrieve accessory connection status information,
    17 that support APIs for platform clients to retrieve accessory connection status
    17 and device and services type information. It also provides adaptation
    18 information, and device and services type information. It also provides adaptation
       
    19 APIs for the addition of new Accessory Services plug-in components. </p></section>
    18 APIs for the addition of new Accessory Services plug-in components. </p></section>
    20 <section id="GUID-9236506F-077D-4AB1-AE4C-9CE391F42F98"><title>Architecture</title><p>The architecture of Accessory Services
    19 <section id="GUID-9236506F-077D-4AB1-AE4C-9CE391F42F98"><title>Architecture</title><p>The architecture of Accessory Services revolves around the Accessory
    21 revolves around the Accessory and the Remote Control Framework. Accessory
    20 and the Remote Control Framework. Accessory Framework provides platform
    22 Framework provides platform clients with access to the accessory functionality
    21 clients with access to the accessory functionality on the device,
    23 on the device, while abstracting away accessory, hardware, bearer and protocol-specific
    22 while abstracting away accessory, hardware, bearer and protocol-specific
    24 details from the software layers. Accessory Framework also provides accessory
    23 details from the software layers. Accessory Framework also provides
    25 policy and adaptation APIs for the addition of new Accessory Framework plug-in
    24 accessory policy and adaptation APIs for the addition of new Accessory
    26 components (if required). The Remote Control Framework provides APIs required
    25 Framework plug-in components (if required). The Remote Control Framework
    27 to send and receive remote control commands to/from an accessory connected
    26 provides APIs required to send and receive remote control commands
    28 to a phone.</p><p>The core of the Accessory Framework is the Accessory Server.
    27 to/from an accessory connected to a phone.</p><p>The core of the Accessory
    29 Accessory Server has a central role in accessory-related connection/disconnection
    28 Framework is the Accessory Server. Accessory Server has a central
    30 handling on the Symbian platform. The Accessory Framework depends on the concepts,
    29 role in accessory-related connection/disconnection handling on the
    31 such as Generic ID, Accessory Policy, Accessory Handlers and Accessory Mode.
    30 Symbian platform. The Accessory Framework depends on the concepts,
    32 These concepts are described in the following section.</p><p>Remote Control
    31 such as Generic ID, Accessory Policy, Accessory Handlers and Accessory
    33 Framework exposes the Remote Control Server using the Remote Control Core
    32 Mode. These concepts are described in the following section.</p><p>Remote Control Framework exposes the Remote Control Server using
    34 APIs. The remote control commands are understood by the Key Event Converter
    33 the Remote Control Core APIs. The remote control commands are understood
    35 and passed on to the Target Selector Plug-in (TSP) Controller by the Remote
    34 by the Key Event Converter and passed on to the Target Selector Plug-in
    36 Control Framework. Then TSP decides which application must handle this request
    35 (TSP) Controller by the Remote Control Framework. Then TSP decides
    37 and passes that information to the Remote Control Server. Finally, the request
    36 which application must handle this request and passes that information
    38 is handled by that application. For more information about Remote Control
    37 to the Remote Control Server. Finally, the request is handled by that
    39 concepts, see the <b>Remote Control Framework</b> section.</p><p>The following
    38 application. For more information about Remote Control concepts, see
    40 figure illustrates the architecture of Accessory Services:</p><fig id="GUID-EF39A7CD-BA15-4F2D-96C6-C54672226E98">
    39 the <b>Remote Control Framework</b> section.</p><p>The following figure
       
    40 illustrates the architecture of Accessory Services:</p><fig id="GUID-EF39A7CD-BA15-4F2D-96C6-C54672226E98">
    41 <title>Accessory Services Architecture</title>
    41 <title>Accessory Services Architecture</title>
    42 <image href="GUID-5AE741A2-68C5-4219-8F2A-ECE0A819FCAA_d0e153742_href.jpg" scale="150" placement="inline"/>
    42 <image href="GUID-5AE741A2-68C5-4219-8F2A-ECE0A819FCAA_d0e159843_href.jpg" scale="150" placement="inline">
       
    43 </image>
    43 </fig></section>
    44 </fig></section>
    44 <section id="GUID-7AB78BEA-315A-4CC0-B5B6-A7A28568F2B2"><title>Description</title><p>This section describes the key concepts
    45 <section id="GUID-7AB78BEA-315A-4CC0-B5B6-A7A28568F2B2"><title>Description</title><p>This section describes the key concepts associated with Accessory
    45 associated with Accessory Services.</p><ul>
    46 Services.</p><ul>
    46 <li><p><b>Generic ID</b>: Generic ID provides the means to describe, detect,
    47 <li><p><b>Generic ID</b>: Generic ID provides the means to describe,
    47 connect, and control an enhancement without a need to use hardware or provider-specific
    48 detect, connect, and control an enhancement without a need to use
    48 definitions. Thus Generic ID must be a native concept for any accessory-related
    49 hardware or provider-specific definitions. Thus Generic ID must be
    49 platform software. For the platform purposes, Generic ID must be defined so
    50 a native concept for any accessory-related platform software. For
    50 that it covers all the enhancement device types, bearers, protocols, and accessory
    51 the platform purposes, Generic ID must be defined so that it covers
    51 feature profiles that the platform supports and for which information is needed.</p> </li>
    52 all the enhancement device types, bearers, protocols, and accessory
    52 <li><p><b>Accessory Policy:</b> Accessory Policy provides the Generic ID data
    53 feature profiles that the platform supports and for which information
    53 type for identifying an accessory on the basis of its features, instead of
    54 is needed.</p> </li>
    54 an accessory-specific ID. Accessory Server uses Accessory Policy through the
    55 <li><p><b>Accessory Policy:</b> Accessory Policy provides the Generic
    55 Accessory Policy API to get information about the connected accessories. A
    56 ID data type for identifying an accessory on the basis of its features,
    56 connected accessory is identified using an assigned Generic ID, which is a
    57 instead of an accessory-specific ID. Accessory Server uses Accessory
    57 data structure that describes the relevant physical and logical features of
    58 Policy through the Accessory Policy API to get information about the
    58 the accessory.</p> </li>
    59 connected accessories. A connected accessory is identified using an
    59 <li><p><b>Accessory Mode:</b> Accessory Mode describes the accessory connection
    60 assigned Generic ID, which is a data structure that describes the
    60 status of the devices connected to a phone and indicates whether the audio
    61 relevant physical and logical features of the accessory.</p> </li>
    61 is routed into the accessory or not. Accessory Mode typically affects the
    62 <li><p><b>Accessory Mode:</b> Accessory Mode describes the accessory
    62 vibra state, lights state, texts, some UI icons and menu items. </p><p><b>Note:</b> Accessory
    63 connection status of the devices connected to a phone and indicates
    63 Mode is a single-valued state, unlike the accessory connection status. Some
    64 whether the audio is routed into the accessory or not. Accessory Mode
    64 supported Accessory Modes include hand portable, wired headset, wireless headset,
    65 typically affects the vibra state, lights state, texts, some UI icons
    65 wired car kit, wireless car kit, headphones, text device, music stand and
    66 and menu items. </p><p><b>Note:</b> Accessory Mode is a single-valued
       
    67 state, unlike the accessory connection status. Some supported Accessory
       
    68 Modes include hand portable, wired headset, wireless headset, wired
       
    69 car kit, wireless car kit, headphones, text device, music stand and
    66 TV-out.</p> </li>
    70 TV-out.</p> </li>
    67 <li><p><b>Accessory Handlers:</b> Accessory Handlers (ASYs) form the Accessory
    71 <li><p><b>Accessory Handlers:</b> Accessory Handlers (ASYs) form the
    68 Framework adaptation layer. Accessory Server hosts multiple ASYs. For example,
    72 Accessory Framework adaptation layer. Accessory Server hosts multiple
    69 wired ASY, bluetooth ASY, plugged display ASY and so on. ASYs can be understood
    73 ASYs. For example, wired ASY, bluetooth ASY, plugged display ASY and
    70 as an accessory adaptation layer between the Accessory Framework and any other
    74 so on. ASYs can be understood as an accessory adaptation layer between
    71 Symbian platform or hardware-related software on the phone. Typical
    75 the Accessory Framework and any other Symbian platform or hardware-related
    72 task of an ASY is accessory detection (registering for hardware indications)
    76 software on the phone. Typical task of an ASY is accessory detection
    73 and providing the capabilities of the accessories to the Accessory framework.</p> </li>
    77 (registering for hardware indications) and providing the capabilities
    74 <li><p><b>Controller:</b> Controller is a device that sends a control message
    78 of the accessories to the Accessory framework.</p> </li>
    75 or command to a target device and is ready to capture responses.</p> </li>
    79 <li><p><b>Controller:</b> Controller is a device that sends a control
    76 <li><p><b>Target:</b> Target is a device that accepts the control message
    80 message or command to a target device and is ready to capture responses.</p> </li>
    77 or command from the controller, invokes necessary procedures and sends out
    81 <li><p><b>Target:</b> Target is a device that accepts the control
    78 responses to controller. </p> </li>
    82 message or command from the controller, invokes necessary procedures
    79 <li><p><b>Bearer:</b> The bearer is a carrier that acts like a vehicle of
    83 and sends out responses to controller. </p> </li>
    80 transmission for remote control messages. The bearer here is an ECom plug-in
    84 <li><p><b>Bearer:</b> The bearer is a carrier that acts like a vehicle
    81 to the Remote Control Server.</p> </li>
    85 of transmission for remote control messages. The bearer here is an
       
    86 ECom plug-in to the Remote Control Server.</p> </li>
    82 </ul><p/></section>
    87 </ul><p/></section>
    83 <section id="GUID-93D60E05-F086-46F4-A0A6-2B8227BBABED"><title>Components</title><p>Accessory Services consists of the following
    88 <section id="GUID-93D60E05-F086-46F4-A0A6-2B8227BBABED"><title>Components</title><p>Accessory Services consists of the following components: </p><ul>
    84 components: </p><ul>
    89 <li><p><b>Accessory Monitor:</b> Provides APIs to retrieve information
    85 <li><p><b>Accessory Monitor:</b> Provides APIs to retrieve information about
    90 about the connected accessories, such as a headset and car kit. </p></li>
    86 the connected accessories, such as a headset and car kit. </p></li>
    91 <li><p><b>Accessory Remote Control:</b> Provides APIs for clients
    87 <li><p><b>Accessory Remote Control:</b> Provides APIs for clients to communicate
    92 to communicate with remote targets in a terminal and remote targets
    88 with remote targets in a terminal and remote targets outside a terminal.</p> </li>
    93 outside a terminal.</p> </li>
    89 <li><p><b>Accessory Server:</b> This is a core component that exposes accessory-related
    94 <li><p><b>Accessory Server:</b> This is a core component that exposes
    90 client and adaptation APIs through the Accessory Framework. The Accessory
    95 accessory-related client and adaptation APIs through the Accessory
    91 Framework provides APIs to query accessory-related information, adjust accessory-related
    96 Framework. The Accessory Framework provides APIs to query accessory-related
    92 user settings and to request control for accessory-related functions. </p> </li>
    97 information, adjust accessory-related user settings and to request
    93 <li><p><b>Headset Status API:</b> Provides APIs for checking the headset status.
    98 control for accessory-related functions. </p> </li>
    94 For example, headset status change notifications.</p> </li>
    99 <li><p><b>Headset Status API:</b> Provides APIs for checking the headset
    95 <li><p><b>Target Selector Plug-in (TSP) Client Mapper:</b> Provides APIs to
   100 status. For example, headset status change notifications.</p> </li>
    96 create mappings between remote control clients.</p> </li>
   101 <li><p><b>Target Selector Plug-in (TSP) Client Mapper:</b> Provides
    97 <li><p><b>Plugged Display:</b> Plugged Display component is an ASY that enables
   102 APIs to create mappings between remote control clients.</p> </li>
    98 High-Definition Multimedia Interface (HDMI) and TV-out support. For more information
   103 <li><p><b>Plugged Display:</b> Plugged Display component is an ASY
    99 about HDMI, see <xref href="http://en.wikipedia.org/wiki/HDMI.dita">Wikipedia</xref>.</p> </li>
   104 that enables High-Definition Multimedia Interface (HDMI) and TV-out
   100 <li><p><b>Remote Control Framework:</b> Provides APIs needed to send and receive
   105 support. For more information about HDMI, see <xref href="http://en.wikipedia.org/wiki/HDMI" scope="external">Wikipedia</xref>.</p> </li>
   101 remote control commands to/from a Bluetooth enabled device.</p> </li>
   106 <li><p><b>Remote Control Framework:</b> Provides APIs needed to send
       
   107 and receive remote control commands to/from a Bluetooth enabled device.</p> </li>
   102 </ul></section>
   108 </ul></section>
   103 <section id="GUID-18563CE6-A880-48E4-96BA-3B50CA8A373F"><title>Using Accessory Services</title><p>You can use features provided
   109 <section id="GUID-18563CE6-A880-48E4-96BA-3B50CA8A373F"><title>Using
   104 by Accessory Services to perform the following tasks:</p><ul>
   110 Accessory Services</title><p>You can use features provided by Accessory
   105 <li><p>Retrieve accessory mode, connection status, accessory device and service
   111 Services to perform the following tasks:</p><ul>
   106 type information.</p></li>
   112 <li><p>Retrieve accessory mode, connection status, accessory device
       
   113 and service type information.</p></li>
   107 <li><p>Retrieve accessory control and connection-related functionality.</p></li>
   114 <li><p>Retrieve accessory control and connection-related functionality.</p></li>
   108 <li><p>Request for a protocol-specific connection handle for accessory audio
   115 <li><p>Request for a protocol-specific connection handle for accessory
   109 control.</p></li>
   116 audio control.</p></li>
   110 <li><p>Handle accessory-related key events.</p></li>
   117 <li><p>Handle accessory-related key events.</p></li>
   111 <li><p>Monitor accessories connected to a phone.</p></li>
   118 <li><p>Monitor accessories connected to a phone.</p></li>
   112 <li><p>Identify accessories connected based on its features, using Generic
   119 <li><p>Identify accessories connected based on its features, using
   113 IDs.</p></li>
   120 Generic IDs.</p></li>
   114 <li><p>Configure accessory-related settings.</p></li>
   121 <li><p>Configure accessory-related settings.</p></li>
   115 <li><p> Retrieve headset connection status.</p></li>
   122 <li><p> Retrieve headset connection status.</p></li>
   116 <li><p>Create mappings between remote control clients.</p></li>
   123 <li><p>Create mappings between remote control clients.</p></li>
   117 <li><p>Configure TV-out settings.</p></li>
   124 <li><p>Configure TV-out settings.</p></li>
   118 </ul></section>
   125 </ul></section>