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 xml:lang="en" id="GUID-5E1C24CA-2F82-5E30-8981-0F343FF2BD89"><title>Bluetooth Client Library (Bluetooth User) Overview</title><shortdesc>The Bluetooth Client Library component (Bluetooth User) provides APIs for configuring and managing Bluetooth® connections. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section id="GUID-9C5228B8-0D60-5107-96D5-6BAF1143EED5"><title>Purpose</title> <p>The Symbian OS Bluetooth subsystem provides developer support for creating Bluetooth aware applications. Bluetooth User is a collection of components and their corresponding DLLs that set up, configure and manage Bluetooth sockets, access the HCI, and configure Bluetooth AV sessions. </p> </section> <section><title>Key concepts and terms</title> <p>The following terms are used: </p> <dl><dlentry><dt>Bluetooth library</dt> <dd><p>Provides setup and configuration details such as device type, Bluetooth sockets and link management options. </p> </dd> </dlentry> <dlentry><dt>Bluetooth sockets</dt> <dd><p>Sockets provided by <xref href="GUID-3C8F56AE-2C48-3DC5-83E8-7B3EC8E80D50.dita"><apiname>CBluetoothSocket</apiname></xref> instead of <xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita"><apiname>RSocket</apiname></xref>. <xref href="GUID-3C8F56AE-2C48-3DC5-83E8-7B3EC8E80D50.dita#GUID-3C8F56AE-2C48-3DC5-83E8-7B3EC8E80D50/GUID-0628C20E-815E-351D-82DB-BC19CF01BC5C"><apiname>CBluetoothSocket::Connect()</apiname></xref> takes a <xref href="GUID-DFE19A3C-9E18-3B27-8748-FA0DB48A599C.dita"><apiname>TBTSockAddr</apiname></xref>, whose constructor <xref href="GUID-DFE19A3C-9E18-3B27-8748-FA0DB48A599C.dita#GUID-DFE19A3C-9E18-3B27-8748-FA0DB48A599C/GUID-5FD02D4D-902F-36C2-9B46-DEAAF302D0F1"><apiname>TBTSockAddr::TBTSockAddr()</apiname></xref> takes a <xref href="GUID-66228064-B6E7-3CE9-8F5E-5DED4CD9A49B.dita"><apiname>TSockAddr</apiname></xref>. </p> </dd> </dlentry> <dlentry><dt>Audio / Visual library</dt> <dd><p>Provides useful setup, configuration and error handling for Audio / Video applications. </p> </dd> </dlentry> <dlentry><dt>HCI direct access</dt> <dd><p>Used by licensees to customise HCI functionality. See <xref href="GUID-A5B36AF0-D335-3627-9142-27860325DE1F.dita"><apiname>RHCIDirectAccess</apiname></xref>. </p> </dd> </dlentry> </dl> </section> <section><title>Bluetooth Client Library Summary</title> <p>Bluetooth Client Library (Bluetooth User) is a collection of helper APIs. </p> <ul><li id="GUID-E5700CC0-A71F-50C7-9EE2-15C1D8331D97"><p>Bluetooth library </p> </li> <li id="GUID-20A70C47-E00E-5485-A6E4-1461B36BCC24"><p>Audio / Video library </p> </li> <li id="GUID-6B1C07B3-FE21-5526-B0FD-D552FB3D9BD0"><p>HCI commands </p> </li> </ul> <p>We will briefly look at each of the above components below. </p> <p><b>Bluetooth library</b> </p> <p>Primarily this component provides Bluetooth sockets. There are two kinds of sockets, they are: </p> <ol id="GUID-CA38EFFF-0198-521C-BE33-2B1E1825F4A0"><li id="GUID-C0351EE7-A66F-57DF-9FB1-19F1FFA74713"><p>ACL (<xref href="GUID-3C8F56AE-2C48-3DC5-83E8-7B3EC8E80D50.dita"><apiname>CBluetoothSocket</apiname></xref>) and </p> </li> <li id="GUID-A9FB715D-98A8-5AC7-8EDC-7548FD622154"><p>SCO (<xref href="GUID-31DE8DB6-1562-3C53-8B03-BCA82DA32E35.dita"><apiname>CBluetoothSynchronousLink</apiname></xref>) sockets. </p> </li> </ol> <table id="GUID-DE681FA8-0F5D-572F-88CC-4EAA0BA4D136"><tgroup cols="1"><colspec colname="col0"/><thead><row><entry>DLL</entry> </row> <row><entry> Library </entry> </row> <row><entry> Profile </entry> </row> <row><entry> Protocol </entry> </row> </thead> <tbody><row><entry><p> <filepath>bluetooth.dll</filepath> </p> </entry> </row> <row><entry><p> <filepath>bluetooth.lib</filepath> </p> </entry> </row> <row><entry><p> <xref href="GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7.dita#GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7/GUID-BCA99FAB-1825-56A0-9D06-926B30C0FFBA">GAP</xref>, <xref href="GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7.dita#GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7/GUID-74CDD0F3-3901-5F23-8FE8-B23FEB6DB243">SPP</xref>, <xref href="GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7.dita#GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7/GUID-C7894668-B9C0-5C31-BD24-8A3753DF1F6C">GOEP</xref>, <xref href="GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7.dita#GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7/GUID-85C0DABF-1EC0-5B25-9E36-72C42E5D4A97">PAN</xref> </p> </entry> </row> <row><entry><p> <xref href="GUID-7640F878-2D99-52C8-ACBE-8B77A714E081.dita">Bluetooth protocol stack</xref> </p> </entry> </row> </tbody> </tgroup> </table> <p><b>Bluetooth library classes </b> </p> <p>Bluetooth library provides classes to handle: </p> <ol id="GUID-C5A70630-D0AD-5D28-B0E7-D37965DC52B6"><li id="GUID-A524F934-C64F-5845-9A0B-5BF9ADA1B57C"><p>Bluetooth Sockets </p> <ul><li id="GUID-8A553351-A8F5-5C14-B824-D844E4CA62AF"><p> <xref href="GUID-3C8F56AE-2C48-3DC5-83E8-7B3EC8E80D50.dita"><apiname>CBluetoothSocket</apiname></xref> </p> </li> <li id="GUID-A4EB20A6-9AC9-59CA-9BD2-F3FCFD68AA69"><p> <xref href="GUID-31DE8DB6-1562-3C53-8B03-BCA82DA32E35.dita"><apiname>CBluetoothSynchronousLink</apiname></xref> </p> </li> <li id="GUID-49F0218F-A590-5B5C-AA38-0BA2706A82A7"><p> <xref href="GUID-4F2C6762-8FB1-31B2-BB6A-280BCF75F935.dita"><apiname>CBluetoothPhysicalLinks</apiname></xref> </p> </li> </ul> </li> <li id="GUID-8413E26F-D666-5CCF-A859-776022F8E674"><p>Notifiers </p> <ul><li id="GUID-BB7D2901-9A51-521D-99E8-B0F8BA93F971"><p> <xref href="GUID-13D8E197-DFC3-3382-B8B5-C730D9FCED7A.dita"><apiname>MBluetoothPhysicalLinksNotifier</apiname></xref> </p> </li> <li id="GUID-944C3FD5-6B7E-562F-A929-1760CB1295B2"><p> <xref href="GUID-9C1D6AA1-7006-3D2C-8B44-909E67C1655B.dita"><apiname>MBluetoothSocketNotifier</apiname></xref> </p> </li> <li id="GUID-03732B85-0F1A-5617-8C0B-88666716002D"><p> <xref href="GUID-88678886-6677-32F2-844D-3390B6BDF2F3.dita"><apiname>MBluetoothSynchronousLinkNotifier</apiname></xref> </p> </li> </ul> </li> <li id="GUID-280291A5-8D21-5829-9D4D-F6F4596F8452"><p>Utility classes </p> <ul><li id="GUID-5EE7CB25-3094-5528-BE04-E229BAB27341"><p> <xref href="GUID-BC537778-EFAA-358F-B0A0-1291B0DDE9C0.dita"><apiname>RBTPhysicalLinkAdapter</apiname></xref> </p> </li> <li id="GUID-422C7839-31C2-5555-88D8-8B64D2D7C922"><p> <xref href="GUID-AB95F67F-EAC6-311B-AFE8-A21EFD811DF2.dita"><apiname>RBluetoothPowerSwitch</apiname></xref> </p> </li> <li id="GUID-D6A543BA-27F0-53A1-A8BD-B1B358FF2850"><p> <xref href="GUID-A5B36AF0-D335-3627-9142-27860325DE1F.dita"><apiname>RHCIDirectAccess</apiname></xref> </p> </li> </ul> </li> </ol> <p><b>Audio / Video library</b> </p> <p>The Bluetooth Audio / Video library provides API classes to configure a system as defined by the AV profile. </p> <table id="GUID-23E688FF-FF72-57B5-8553-FC65C854F04C"><tgroup cols="1"><colspec colname="col0"/><thead><row><entry>DLL</entry> </row> <row><entry> Library </entry> </row> <row><entry> Profile </entry> </row> <row><entry> Protocol </entry> </row> </thead> <tbody><row><entry><p> <filepath>bluetoothav.dll</filepath> </p> </entry> </row> <row><entry><p> <filepath>bluetoothav.lib</filepath> </p> </entry> </row> <row><entry><p> <xref href="GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7.dita#GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7/GUID-7251B0E5-D6B1-524B-9714-6A469F8E1CB3">AVRCP</xref> and <xref href="GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7.dita#GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7/GUID-3ABC26C2-D65A-5577-B9B2-0A613D48D49B">GAVDP</xref> </p> </entry> </row> <row><entry><p> <xref href="GUID-7640F878-2D99-52C8-ACBE-8B77A714E081.dita#GUID-7640F878-2D99-52C8-ACBE-8B77A714E081/GUID-306539D4-B048-5A73-8ABF-A2617462ACDC">AVCTP</xref> and <xref href="GUID-7640F878-2D99-52C8-ACBE-8B77A714E081.dita#GUID-7640F878-2D99-52C8-ACBE-8B77A714E081/GUID-9AED70E1-E5B5-537C-ADB6-BEDB7F798D99">AVDTP</xref> </p> </entry> </row> </tbody> </tgroup> </table> <p><b>Audio / Video library namespaces </b> </p> <p>The Bluetooth AV library provides the following namespaces: </p> <ul><li id="GUID-C44FB716-D52A-5C0E-A65B-281F10F141C6"><p> <xref href="GUID-5BC30072-02EC-30DA-A698-965AE4AB5A67.dita"><apiname>SymbianAvctp</apiname></xref> </p> </li> <li id="GUID-C7F8DD0E-63B4-5EEB-A9A4-43F1CF8CD480"><p> <xref href="GUID-1A71EE7B-8A52-3903-A8F7-DBA5550A5E49.dita"><apiname>SymbianBluetoothAV</apiname></xref> </p> </li> <li id="GUID-89567141-EAE2-5EFB-B0F9-0679CD9C6A65"><p> <xref href="GUID-DA7F0412-14E2-3E44-9D2C-FC5913FEB056.dita"><apiname>SymbianSBC</apiname></xref> </p> </li> </ul> </section> <section><title>Typical uses</title> <p>We will look at common tasks associated with some of the Bluetooth User APIs here. </p> <p><b>Task backgrounder</b> </p> <p>Before setting up a Bluetooth connection you need to think about the kind of connection needed and how best to go about setting up the connection. These topics will get you started. </p> <ol id="GUID-59D9340C-3250-5D4F-8F0D-1AFC66A9BD1C"><li id="GUID-F05DEDC5-D414-5B3D-AC44-24E6FCB989CD"><p> <xref href="GUID-58F65411-CF08-5F46-8222-3FDB9E571FCC.dita"> Connecting to Remote Devices</xref> </p> <p>This is a set of tutorial documents, the contents of which have been split up here according to main functionality grouping. </p> <ul><li id="GUID-68D85D8A-D947-5444-A657-335E9CB373D4"><p> <xref href="GUID-301488F8-B6D8-569A-B05E-19B740FE4C00.dita">Selecting a Remote Device</xref> </p> <p>Discusses some of the issues about selecting a remote device that should be considered before writing any code. </p> </li> </ul> </li> </ol> <p><b>Socket tasks</b> </p> <p>The following tutorial guides deal mainly with sockets. </p> <ol id="GUID-9CF35DD6-055D-5F26-ADF3-CC5C9DCDA514"><li id="GUID-27B6B551-B004-5D6D-9A18-2A4BAF21AF19"><p> <b>Connecting to Remote Devices</b> </p> <ul><li id="GUID-1761A972-2C81-56E9-80EB-35F666E11200"><p> <xref href="GUID-CED041C8-D68D-55D1-957E-1A48EEFFF851.dita">Inquiring About Remote Devices</xref> </p> <p>This tutorial shows you how to create a Bluetooth socket, make an inquiry for a remote device address and establish a connection to the remote device. </p> </li> </ul> </li> <li id="GUID-5D33C242-D8DA-59E6-9D47-0BF9AD8FEB92"><p> <xref href="GUID-70339E6A-63CD-5A74-846C-50771FDAC763.dita">Listening for Incoming Bluetooth Connections</xref> </p> <p>This tutorial shows you how to set up a Bluetooth socket to listen for a connect attempt by remote devices. </p> </li> </ol> <p><b>Notifier tasks</b> </p> <p>Notifiers are used to manage aspects of a Bluetooth connection. </p> <ol id="GUID-14C342DA-7EAC-5479-831D-B12141AF6D1E"><li id="GUID-12B970D9-57B0-5621-A79E-25E540FF1DEC"><p> <b>Connecting to Remote Devices</b> </p> <ul><li id="GUID-70CE1084-5ED6-540C-947C-43BB35D55E06"><p> <xref href="GUID-A24D2CEF-88C9-5C63-A14D-85EFFBEF3C92.dita">Connecting and Transferring Data to a Remote Device</xref> </p> <p>This tutorial shows you how to work with a remote device over Bluetooth once the connection is established. </p> </li> </ul> </li> </ol> <p><b>Utility tasks</b> </p> <p>These tasks show you how to do things like configure a local or remote device, access protocol level data and send HCI commands. </p> <ol id="GUID-7548657E-2617-55FD-B707-1008656F58CE"><li id="GUID-BBBB4630-3486-5407-9DD2-8DB92552562D"><p> <b>Connecting to Remote Devices</b> </p> <ul><li id="GUID-EBF38981-0A1B-5EA1-AD62-506DFB171E3B"><p> <xref href="GUID-A13494B9-C1E4-506A-B236-8AE0A6D6D557.dita">Inquiring About Services on a Remote Device</xref> </p> <p>This tutorial shows you how to inspect remote devices for suitability before connecting to them. </p> </li> <li id="GUID-928A85EC-A947-5A6D-A21D-3ED175769A9C"><p> <xref href="GUID-783D0B50-0E8A-5199-A07E-749D4A71E671.dita">Processing an Extended Inquiry Response</xref> </p> <p>This tutorial shows you how to retrieve and process the data from a Bluetooth Extended Inquiry Response (EIR). </p> </li> <li id="GUID-54DEF2FF-C003-5E36-8EB8-930BDE5E876F"><p> <xref href="GUID-4F0C4B9D-AA42-59C4-900A-7045FEAAF2F4.dita">Using Security on Outgoing Sockets </xref> </p> <p>This tutorial shows you how to configure the Bluetooth sockets for authentication or encryption based security. </p> </li> </ul> </li> <li id="GUID-9D6FF0EE-7B9E-5618-B3FE-00625C2BFDDC"><p> <xref href="GUID-834BD3BB-B39C-5EE9-8A62-9DC435930F95.dita">Handling the Local Device Name</xref> </p> <p>This code shows you how to set and get the local device name. </p> </li> <li id="GUID-FFF19593-1341-5FC0-BFCC-C2EDC4723B91"><p> <xref href="GUID-FDA7B932-B9C6-502D-8699-C18C8D86BCC6.dita">Performing Low-level Configuration</xref> </p> <p>This tutorial introduces you to HCI, L2CAP and RFCOMM commands and options and shows you how to read the Class of device attribute on an L2CAP socket. </p> </li> <li id="GUID-BFD12613-7CCC-5CAA-B092-D132517016CF"><p> <xref href="GUID-5C63EF5C-826D-5838-BB7E-12FF4EA1DFCE.dita">Debugging the Host Controller</xref> </p> <p>This tutorial shows you how to issue vendor specific HCI commands via the stack. </p> </li> <li id="GUID-EBC45771-E3EA-5A94-BACE-22FF731D1700"><p> <xref href="GUID-01A0682A-50B1-57AB-9939-6CC8FCCD782D.dita">Disconnecting ACL links</xref> </p> <p>This tutorial shows you how to drop a remote device from a connection while leaving the socket up. </p> </li> </ol> <p><b>Audio / Video tasks</b> </p> <p>Currently there are no tutorials for the Audio / Video profiles. </p> </section> </conbody><related-links><link href="GUID-7F2C1C45-43FA-5F19-81E3-4DBC0328E4A7.dita"><linktext>Bluetooth Sockets |
12 <concept id="GUID-5E1C24CA-2F82-5E30-8981-0F343FF2BD89" xml:lang="en"><title>Bluetooth |
13 Overview</linktext> </link> <link href="GUID-F2A793F1-A5B5-526B-B147-771D440B13A2.dita"><linktext>Bluetooth Extended Inquiry |
13 Client Library (Bluetooth User) Overview</title><shortdesc>The Bluetooth Client Library component (Bluetooth User) provides |
14 Response</linktext> </link> </related-links></concept> |
14 APIs for configuring and managing Bluetooth® connections. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
15 <section id="GUID-9C5228B8-0D60-5107-96D5-6BAF1143EED5"><title>Purpose</title> <p>The |
|
16 Symbian platform Bluetooth subsystem provides developer support |
|
17 for creating Bluetooth aware applications. Bluetooth User is a collection |
|
18 of components and their corresponding DLLs that set up, configure and manage |
|
19 Bluetooth sockets, access the HCI, and configure Bluetooth AV sessions. </p> </section> |
|
20 <section id="GUID-5BF1DC2C-64D3-4A51-9E7D-6F14BB250762"><title>Key concepts and terms</title> <p>The following terms are |
|
21 used: </p> <dl> |
|
22 <dlentry> |
|
23 <dt>Bluetooth library</dt> |
|
24 <dd><p>Provides setup and configuration details such as device type, Bluetooth |
|
25 sockets and link management options. </p> </dd> |
|
26 </dlentry> |
|
27 <dlentry> |
|
28 <dt>Bluetooth sockets</dt> |
|
29 <dd><p>Sockets provided by <xref href="GUID-3C8F56AE-2C48-3DC5-83E8-7B3EC8E80D50.dita"><apiname>CBluetoothSocket</apiname></xref> instead of <xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita"><apiname>RSocket</apiname></xref>. <xref href="GUID-3C8F56AE-2C48-3DC5-83E8-7B3EC8E80D50.dita#GUID-3C8F56AE-2C48-3DC5-83E8-7B3EC8E80D50/GUID-0628C20E-815E-351D-82DB-BC19CF01BC5C"><apiname>CBluetoothSocket::Connect()</apiname></xref> takes a <xref href="GUID-DFE19A3C-9E18-3B27-8748-FA0DB48A599C.dita"><apiname>TBTSockAddr</apiname></xref>, whose constructor <xref href="GUID-DFE19A3C-9E18-3B27-8748-FA0DB48A599C.dita#GUID-DFE19A3C-9E18-3B27-8748-FA0DB48A599C/GUID-5FD02D4D-902F-36C2-9B46-DEAAF302D0F1"><apiname>TBTSockAddr::TBTSockAddr()</apiname></xref> takes |
|
30 a <xref href="GUID-66228064-B6E7-3CE9-8F5E-5DED4CD9A49B.dita"><apiname>TSockAddr</apiname></xref>. </p> </dd> |
|
31 </dlentry> |
|
32 <dlentry> |
|
33 <dt>Audio / Visual library</dt> |
|
34 <dd><p>Provides useful setup, configuration and error handling for Audio / |
|
35 Video applications. </p> </dd> |
|
36 </dlentry> |
|
37 <dlentry> |
|
38 <dt>HCI direct access</dt> |
|
39 <dd><p>Used by licensees to customise HCI functionality. See <xref href="GUID-A5B36AF0-D335-3627-9142-27860325DE1F.dita"><apiname>RHCIDirectAccess</apiname></xref>. </p> </dd> |
|
40 </dlentry> |
|
41 </dl> </section> |
|
42 <section id="GUID-81831526-F14D-4610-9772-D9F60739E041"><title>Bluetooth Client Library Summary</title> <p>Bluetooth Client |
|
43 Library (Bluetooth User) is a collection of helper APIs. </p> <ul> |
|
44 <li id="GUID-E5700CC0-A71F-50C7-9EE2-15C1D8331D97"><p>Bluetooth library </p> </li> |
|
45 <li id="GUID-20A70C47-E00E-5485-A6E4-1461B36BCC24"><p>Audio / Video library </p> </li> |
|
46 <li id="GUID-6B1C07B3-FE21-5526-B0FD-D552FB3D9BD0"><p>HCI commands </p> </li> |
|
47 </ul> <p>We will briefly look at each of the above components below. </p> <p><b>Bluetooth library</b> </p> <p>Primarily this component provides Bluetooth |
|
48 sockets. There are two kinds of sockets, they are: </p> <ol id="GUID-CA38EFFF-0198-521C-BE33-2B1E1825F4A0"> |
|
49 <li id="GUID-C0351EE7-A66F-57DF-9FB1-19F1FFA74713"><p>ACL (<xref href="GUID-3C8F56AE-2C48-3DC5-83E8-7B3EC8E80D50.dita"><apiname>CBluetoothSocket</apiname></xref>) |
|
50 and </p> </li> |
|
51 <li id="GUID-A9FB715D-98A8-5AC7-8EDC-7548FD622154"><p>SCO (<xref href="GUID-31DE8DB6-1562-3C53-8B03-BCA82DA32E35.dita"><apiname>CBluetoothSynchronousLink</apiname></xref>) |
|
52 sockets. </p> </li> |
|
53 </ol> <table id="GUID-DE681FA8-0F5D-572F-88CC-4EAA0BA4D136"> |
|
54 <tgroup cols="1"><colspec colname="col0"/> |
|
55 <thead> |
|
56 <row> |
|
57 <entry>DLL</entry> |
|
58 </row> |
|
59 <row> |
|
60 <entry> Library </entry> |
|
61 </row> |
|
62 <row> |
|
63 <entry> Profile </entry> |
|
64 </row> |
|
65 <row> |
|
66 <entry> Protocol </entry> |
|
67 </row> |
|
68 </thead> |
|
69 <tbody> |
|
70 <row> |
|
71 <entry><p> <filepath>bluetooth.dll</filepath> </p> </entry> |
|
72 </row> |
|
73 <row> |
|
74 <entry><p> <filepath>bluetooth.lib</filepath> </p> </entry> |
|
75 </row> |
|
76 <row> |
|
77 <entry><p> <xref href="GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7.dita#GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7/GUID-BCA99FAB-1825-56A0-9D06-926B30C0FFBA">GAP</xref>, <xref href="GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7.dita#GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7/GUID-74CDD0F3-3901-5F23-8FE8-B23FEB6DB243">SPP</xref>, <xref href="GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7.dita#GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7/GUID-C7894668-B9C0-5C31-BD24-8A3753DF1F6C">GOEP</xref>, <xref href="GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7.dita#GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7/GUID-85C0DABF-1EC0-5B25-9E36-72C42E5D4A97">PAN</xref> </p> </entry> |
|
78 </row> |
|
79 <row> |
|
80 <entry><p> <xref href="GUID-7640F878-2D99-52C8-ACBE-8B77A714E081.dita">Bluetooth |
|
81 protocol stack</xref> </p> </entry> |
|
82 </row> |
|
83 </tbody> |
|
84 </tgroup> |
|
85 </table> <p><b>Bluetooth library classes </b> </p> <p>Bluetooth library provides classes |
|
86 to handle: </p> <ol id="GUID-C5A70630-D0AD-5D28-B0E7-D37965DC52B6"> |
|
87 <li id="GUID-A524F934-C64F-5845-9A0B-5BF9ADA1B57C"><p>Bluetooth Sockets </p> <ul> |
|
88 <li id="GUID-8A553351-A8F5-5C14-B824-D844E4CA62AF"><p> <xref href="GUID-3C8F56AE-2C48-3DC5-83E8-7B3EC8E80D50.dita"><apiname>CBluetoothSocket</apiname></xref> </p> </li> |
|
89 <li id="GUID-A4EB20A6-9AC9-59CA-9BD2-F3FCFD68AA69"><p> <xref href="GUID-31DE8DB6-1562-3C53-8B03-BCA82DA32E35.dita"><apiname>CBluetoothSynchronousLink</apiname></xref> </p> </li> |
|
90 <li id="GUID-49F0218F-A590-5B5C-AA38-0BA2706A82A7"><p> <xref href="GUID-4F2C6762-8FB1-31B2-BB6A-280BCF75F935.dita"><apiname>CBluetoothPhysicalLinks</apiname></xref> </p> </li> |
|
91 </ul> </li> |
|
92 <li id="GUID-8413E26F-D666-5CCF-A859-776022F8E674"><p>Notifiers </p> <ul> |
|
93 <li id="GUID-BB7D2901-9A51-521D-99E8-B0F8BA93F971"><p> <xref href="GUID-13D8E197-DFC3-3382-B8B5-C730D9FCED7A.dita"><apiname>MBluetoothPhysicalLinksNotifier</apiname></xref> </p> </li> |
|
94 <li id="GUID-944C3FD5-6B7E-562F-A929-1760CB1295B2"><p> <xref href="GUID-9C1D6AA1-7006-3D2C-8B44-909E67C1655B.dita"><apiname>MBluetoothSocketNotifier</apiname></xref> </p> </li> |
|
95 <li id="GUID-03732B85-0F1A-5617-8C0B-88666716002D"><p> <xref href="GUID-88678886-6677-32F2-844D-3390B6BDF2F3.dita"><apiname>MBluetoothSynchronousLinkNotifier</apiname></xref> </p> </li> |
|
96 </ul> </li> |
|
97 <li id="GUID-280291A5-8D21-5829-9D4D-F6F4596F8452"><p>Utility classes </p> <ul> |
|
98 <li id="GUID-5EE7CB25-3094-5528-BE04-E229BAB27341"><p> <xref href="GUID-BC537778-EFAA-358F-B0A0-1291B0DDE9C0.dita"><apiname>RBTPhysicalLinkAdapter</apiname></xref> </p> </li> |
|
99 <li id="GUID-422C7839-31C2-5555-88D8-8B64D2D7C922"><p> <xref href="GUID-AB95F67F-EAC6-311B-AFE8-A21EFD811DF2.dita"><apiname>RBluetoothPowerSwitch</apiname></xref> </p> </li> |
|
100 <li id="GUID-D6A543BA-27F0-53A1-A8BD-B1B358FF2850"><p> <xref href="GUID-A5B36AF0-D335-3627-9142-27860325DE1F.dita"><apiname>RHCIDirectAccess</apiname></xref> </p> </li> |
|
101 </ul> </li> |
|
102 </ol> <p><b>Audio |
|
103 / Video library</b> </p> <p>The Bluetooth Audio / Video library provides API |
|
104 classes to configure a system as defined by the AV profile. </p> <table id="GUID-23E688FF-FF72-57B5-8553-FC65C854F04C"> |
|
105 <tgroup cols="1"><colspec colname="col0"/> |
|
106 <thead> |
|
107 <row> |
|
108 <entry>DLL</entry> |
|
109 </row> |
|
110 <row> |
|
111 <entry> Library </entry> |
|
112 </row> |
|
113 <row> |
|
114 <entry> Profile </entry> |
|
115 </row> |
|
116 <row> |
|
117 <entry> Protocol </entry> |
|
118 </row> |
|
119 </thead> |
|
120 <tbody> |
|
121 <row> |
|
122 <entry><p> <filepath>bluetoothav.dll</filepath> </p> </entry> |
|
123 </row> |
|
124 <row> |
|
125 <entry><p> <filepath>bluetoothav.lib</filepath> </p> </entry> |
|
126 </row> |
|
127 <row> |
|
128 <entry><p> <xref href="GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7.dita#GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7/GUID-7251B0E5-D6B1-524B-9714-6A469F8E1CB3">AVRCP</xref> and <xref href="GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7.dita#GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7/GUID-3ABC26C2-D65A-5577-B9B2-0A613D48D49B">GAVDP</xref> </p> </entry> |
|
129 </row> |
|
130 <row> |
|
131 <entry><p> <xref href="GUID-7640F878-2D99-52C8-ACBE-8B77A714E081.dita#GUID-7640F878-2D99-52C8-ACBE-8B77A714E081/GUID-306539D4-B048-5A73-8ABF-A2617462ACDC">AVCTP</xref> and <xref href="GUID-7640F878-2D99-52C8-ACBE-8B77A714E081.dita#GUID-7640F878-2D99-52C8-ACBE-8B77A714E081/GUID-9AED70E1-E5B5-537C-ADB6-BEDB7F798D99">AVDTP</xref> </p> </entry> |
|
132 </row> |
|
133 </tbody> |
|
134 </tgroup> |
|
135 </table> <p><b>Audio / Video library namespaces </b> </p> <p>The Bluetooth AV library |
|
136 provides the following namespaces: </p> <ul> |
|
137 <li id="GUID-C44FB716-D52A-5C0E-A65B-281F10F141C6"><p> <xref href="GUID-5BC30072-02EC-30DA-A698-965AE4AB5A67.dita"><apiname>SymbianAvctp</apiname></xref> </p> </li> |
|
138 <li id="GUID-C7F8DD0E-63B4-5EEB-A9A4-43F1CF8CD480"><p> <xref href="GUID-1A71EE7B-8A52-3903-A8F7-DBA5550A5E49.dita"><apiname>SymbianBluetoothAV</apiname></xref> </p> </li> |
|
139 <li id="GUID-89567141-EAE2-5EFB-B0F9-0679CD9C6A65"><p> <xref href="GUID-DA7F0412-14E2-3E44-9D2C-FC5913FEB056.dita"><apiname>SymbianSBC</apiname></xref> </p> </li> |
|
140 </ul> </section> |
|
141 <section id="GUID-70BBCA60-1BB8-4787-9AF0-5C7606A5B5D5"><title>Typical uses</title> <p>We will look at common tasks associated |
|
142 with some of the Bluetooth User APIs here. </p> <p><b>Task |
|
143 backgrounder</b> </p> <p>Before setting up a Bluetooth connection you need |
|
144 to think about the kind of connection needed and how best to go about setting |
|
145 up the connection. These topics will get you started. </p> <ol id="GUID-59D9340C-3250-5D4F-8F0D-1AFC66A9BD1C"> |
|
146 <li id="GUID-F05DEDC5-D414-5B3D-AC44-24E6FCB989CD"><p> <xref href="GUID-58F65411-CF08-5F46-8222-3FDB9E571FCC.dita"> Connecting |
|
147 to Remote Devices</xref> </p> <p>This is a set of tutorial documents, the |
|
148 contents of which have been split up here according to main functionality |
|
149 grouping. </p> <ul> |
|
150 <li id="GUID-68D85D8A-D947-5444-A657-335E9CB373D4"><p> <xref href="GUID-301488F8-B6D8-569A-B05E-19B740FE4C00.dita">Selecting |
|
151 a Remote Device</xref> </p> <p>Discusses some of the issues about selecting |
|
152 a remote device that should be considered before writing any code. </p> </li> |
|
153 </ul> </li> |
|
154 </ol> <p><b>Socket |
|
155 tasks</b> </p> <p>The following tutorial guides deal mainly with sockets. </p> <ol id="GUID-9CF35DD6-055D-5F26-ADF3-CC5C9DCDA514"> |
|
156 <li id="GUID-27B6B551-B004-5D6D-9A18-2A4BAF21AF19"><p> <b>Connecting to Remote |
|
157 Devices</b> </p> <ul> |
|
158 <li id="GUID-1761A972-2C81-56E9-80EB-35F666E11200"><p> <xref href="GUID-CED041C8-D68D-55D1-957E-1A48EEFFF851.dita">Inquiring |
|
159 About Remote Devices</xref> </p> <p>This tutorial shows you how to create |
|
160 a Bluetooth socket, make an inquiry for a remote device address and establish |
|
161 a connection to the remote device. </p> </li> |
|
162 </ul> </li> |
|
163 <li id="GUID-5D33C242-D8DA-59E6-9D47-0BF9AD8FEB92"><p> <xref href="GUID-70339E6A-63CD-5A74-846C-50771FDAC763.dita">Listening |
|
164 for Incoming Bluetooth Connections</xref> </p> <p>This tutorial shows you |
|
165 how to set up a Bluetooth socket to listen for a connect attempt by remote |
|
166 devices. </p> </li> |
|
167 </ol> <p><b>Notifier |
|
168 tasks</b> </p> <p>Notifiers are used to manage aspects of a Bluetooth connection. </p> <ol id="GUID-14C342DA-7EAC-5479-831D-B12141AF6D1E"> |
|
169 <li id="GUID-12B970D9-57B0-5621-A79E-25E540FF1DEC"><p> <b>Connecting to Remote |
|
170 Devices</b> </p> <ul> |
|
171 <li id="GUID-70CE1084-5ED6-540C-947C-43BB35D55E06"><p> <xref href="GUID-A24D2CEF-88C9-5C63-A14D-85EFFBEF3C92.dita">Connecting |
|
172 and Transferring Data to a Remote Device</xref> </p> <p>This tutorial shows |
|
173 you how to work with a remote device over Bluetooth once the connection is |
|
174 established. </p> </li> |
|
175 </ul> </li> |
|
176 </ol> <p><b>Utility |
|
177 tasks</b> </p> <p>These tasks show you how to do things like configure a local |
|
178 or remote device, access protocol level data and send HCI commands. </p> <ol id="GUID-7548657E-2617-55FD-B707-1008656F58CE"> |
|
179 <li id="GUID-BBBB4630-3486-5407-9DD2-8DB92552562D"><p> <b>Connecting to Remote |
|
180 Devices</b> </p> <ul> |
|
181 <li id="GUID-EBF38981-0A1B-5EA1-AD62-506DFB171E3B"><p> <xref href="GUID-A13494B9-C1E4-506A-B236-8AE0A6D6D557.dita">Inquiring |
|
182 About Services on a Remote Device</xref> </p> <p>This tutorial shows you |
|
183 how to inspect remote devices for suitability before connecting to them. </p> </li> |
|
184 <li id="GUID-928A85EC-A947-5A6D-A21D-3ED175769A9C"><p> <xref href="GUID-783D0B50-0E8A-5199-A07E-749D4A71E671.dita">Processing |
|
185 an Extended Inquiry Response</xref> </p> <p>This tutorial shows you how to |
|
186 retrieve and process the data from a Bluetooth Extended Inquiry Response (EIR). </p> </li> |
|
187 <li id="GUID-54DEF2FF-C003-5E36-8EB8-930BDE5E876F"><p> <xref href="GUID-4F0C4B9D-AA42-59C4-900A-7045FEAAF2F4.dita">Using |
|
188 Security on Outgoing Sockets </xref> </p> <p>This tutorial shows you how |
|
189 to configure the Bluetooth sockets for authentication or encryption based |
|
190 security. </p> </li> |
|
191 </ul> </li> |
|
192 <li id="GUID-9D6FF0EE-7B9E-5618-B3FE-00625C2BFDDC"><p> <xref href="GUID-834BD3BB-B39C-5EE9-8A62-9DC435930F95.dita">Handling |
|
193 the Local Device Name</xref> </p> <p>This code shows you how to set and get |
|
194 the local device name. </p> </li> |
|
195 <li id="GUID-FFF19593-1341-5FC0-BFCC-C2EDC4723B91"><p> <xref href="GUID-FDA7B932-B9C6-502D-8699-C18C8D86BCC6.dita">Performing |
|
196 Low-level Configuration</xref> </p> <p>This tutorial introduces you to HCI, |
|
197 L2CAP and RFCOMM commands and options and shows you how to read the Class |
|
198 of device attribute on an L2CAP socket. </p> </li> |
|
199 <li id="GUID-BFD12613-7CCC-5CAA-B092-D132517016CF"><p> <xref href="GUID-5C63EF5C-826D-5838-BB7E-12FF4EA1DFCE.dita">Debugging |
|
200 the Host Controller</xref> </p> <p>This tutorial shows you how to issue vendor |
|
201 specific HCI commands via the stack. </p> </li> |
|
202 <li id="GUID-EBC45771-E3EA-5A94-BACE-22FF731D1700"><p> <xref href="GUID-01A0682A-50B1-57AB-9939-6CC8FCCD782D.dita">Disconnecting |
|
203 ACL links</xref> </p> <p>This tutorial shows you how to drop a remote device |
|
204 from a connection while leaving the socket up. </p> </li> |
|
205 </ol> <p><b>Audio |
|
206 / Video tasks</b> </p> <p>Currently there are no tutorials for the Audio / |
|
207 Video profiles. </p> </section> |
|
208 </conbody><related-links> |
|
209 <link href="GUID-7F2C1C45-43FA-5F19-81E3-4DBC0328E4A7.dita"><linktext>Bluetooth |
|
210 Sockets Overview</linktext></link> |
|
211 <link href="GUID-F2A793F1-A5B5-526B-B147-771D440B13A2.dita"><linktext>Bluetooth |
|
212 Extended Inquiry Response</linktext></link> |
|
213 </related-links></concept> |