Symbian3/SDK/Source/GUID-8451102A-8E68-5C86-9E40-D53183E32261.dita
changeset 7 51a74ef9ed63
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/SDK/Source/GUID-8451102A-8E68-5C86-9E40-D53183E32261.dita	Wed Mar 31 11:11:55 2010 +0100
@@ -0,0 +1,142 @@
+<?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-8451102A-8E68-5C86-9E40-D53183E32261" xml:lang="en"><title>Bluetooth
+SDP Overview</title><shortdesc>The Bluetooth Service Discovery Protocol (SDP) component enables
+you to register services to the SDP database and query the database for available
+services. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-C24E4D4D-7A0A-4BC6-A16F-6D4DDFFF17E7"><title>Purpose</title> <p>The Symbian platform Bluetooth Service
+Discovery Protocol (SDP) component provides APIs that allow you to register
+services to the SDP database or query the database for available services.
+This functionality is provided by the two SDP APIs: </p> <ul>
+<li id="GUID-F5D35BDC-9FEC-5C29-9DB0-BAF1BF8F44B8"><p><xref href="GUID-756D831F-F302-594C-8116-144358DD8442.dita">SDP
+Database</xref>  </p> </li>
+<li id="GUID-A153C7B6-0B8C-5DA6-B765-8B60C1D39227"><p><xref href="GUID-8D5E17DA-8EF1-52B4-9706-9836B8D6CE43.dita">SDP
+Agent</xref>  </p> </li>
+</ul> <p> </p> </section>
+<section id="GUID-EE776EBD-D97F-4037-8E1D-ADB1F7CC17DA"><title>Required background</title> <p>You need to be familiar with
+the following: </p> <ul>
+<li id="GUID-26920C05-C124-5276-A73B-952078316D88"><p><xref href="GUID-5FE7D4DB-B853-57C4-8A90-16DF92F6231A.dita">Symbian
+platform Bluetooth User</xref>  </p> </li>
+<li id="GUID-89FB4CCE-8A1A-5ACA-AE34-57EA9DDFE6B5"><p><xref href="GUID-7640F878-2D99-52C8-ACBE-8B77A714E081.dita">Symbian
+platform Bluetooth Protocols</xref>  </p> </li>
+<li id="GUID-1623B937-2D45-5092-8A66-416FF2E930C2"><p>The Bluetooth Service
+Discovery Protocol specification, Volume 3 Part C of the Specification of
+the Bluetooth System, available at <xref href="http://www.bluetooth.com/" scope="external">www.bluetooth.com/</xref>  </p> </li>
+<li id="GUID-DDA0875F-0256-5454-907A-D52B33AAA613"><p>UUID Values for SDP
+services. </p> </li>
+</ul> <p> </p> </section>
+<section id="GUID-520ED67C-25D2-472E-9686-EB86B74E7ADB"><title>Key concepts and terms</title> <p>The following terms are
+used frequently throughout the SDP Overviews and Tutorials. </p> <dl>
+<dlentry>
+<dt>Service Discovery Database</dt>
+<dd><p>This is the database that stores information about available services.
+If you are writing an application to advertise a specific service you will
+use the SDP Database APIs to register your service and if you are writing
+an application that needs to search for available services on other devices
+you will use the SDP Agent APIs. </p> </dd>
+</dlentry>
+<dlentry>
+<dt>Service Record</dt>
+<dd><p>A data record for an individual service in the service discovery database. </p> </dd>
+</dlentry>
+<dlentry>
+<dt>Service Record Attribute</dt>
+<dd><p>An attribute of the service that is stored in the service record. We
+will discuss service record attributes in greater detail in "<xref href="GUID-ED342E6B-A4A3-576B-8934-7E7C049837F0.dita">SDP
+Service records and attributes</xref> ". </p> </dd>
+</dlentry>
+<dlentry>
+<dt>UUID</dt>
+<dd><p>Universally Unique Identifier - See the Service Discovery Protocol
+Assigned Numbers listing from the Bluetooth SIG for a current list of default
+UUIDs. </p> </dd>
+</dlentry>
+<dlentry>
+<dt>DEA</dt>
+<dd><p>Data element alternative - A sequence of data elements of which one
+must be selected. </p> </dd>
+</dlentry>
+<dlentry>
+<dt>DES</dt>
+<dd><p>Data element sequence - A sequence of data elements. </p> </dd>
+</dlentry>
+</dl> </section>
+<section id="GUID-6F36EC26-5A7B-411D-8F27-3A4A00FAE184"><title>Architecture</title> <p>A service wishing to advertise on
+the SDP server must create a session with the SDP server using <xref href="GUID-0879B4D7-A6FA-382F-A124-0234BA89D33D.dita"><apiname>RSdp</apiname></xref>.
+A subsession must be created through <xref href="GUID-FC133F0F-C9E8-30CB-B2FE-8AC9F7F802AC.dita"><apiname>RSdpDatabase</apiname></xref> to access
+the database. A subsession allows service records and their attributes to
+be added, deleted and updated in the database. The application uses <xref href="GUID-6A33D6A1-63C8-3A15-A2BC-5D08F07C5AB6.dita"><apiname>CSdpAgent</apiname></xref> to
+query the services and has to implement <xref href="GUID-AD76DB7F-CD45-3903-A07A-E94BE583CDB0.dita"><apiname>MSdpAgentNotifier</apiname></xref> or <xref href="GUID-3DC9CB25-E55D-38E6-8940-B3320EF7E9DD.dita"><apiname>MSdpElementBuilder</apiname></xref> interfaces
+to handle and organize responses from the server. </p> <p><b>SDP Database </b> </p> <p>The SDP database maintains a list of service
+records that describe the characteristics of services on the local device
+that may be used by a remote device via Bluetooth. Each service record contains
+information about a single service. </p> <p><b>SDP Agent </b> </p> <p>The SDP agent retrieves information from a service
+record in the SDP database by issuing an SDP request. If an application chooses
+to use a service, it opens a separate connection with the service provider.
+For example; </p> <p>if you need to print a document on your Symbian platform
+phone you could: </p> <ol id="GUID-CC0974A0-26EA-599B-A624-1CCAA8CF218E">
+<li id="GUID-7C120CC4-EAC2-5F9F-A086-336F42554403"><p>do an SDP search for
+devices offering a print service. </p> </li>
+<li id="GUID-FCD7AD1B-CA98-53E2-99F2-77C6E9FC9A36"><p>Should a device be found
+offering the print service you would further query it for connection details. </p> </li>
+<li id="GUID-0ADFC4F6-810B-566F-A611-6A21784B9CCC"><p>With that information
+your application would then create a Bluetooth connection to the device in
+question using the connection configuration required and print the document. </p> </li>
+</ol> </section>
+<section id="GUID-E968CA22-FBD7-48F1-B538-D19CF84F1F80"><title>SDP library details</title> <p>The Bluetooth SDP component
+has two published libraries. The DLLs that provides the functionality and
+the libraries to which your code must link are identified below. </p> <table id="GUID-22CB200C-4F18-59DC-8F6F-2F8BE70B4CF9">
+<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
+<thead>
+<row>
+<entry>DLL</entry>
+<entry>LIB</entry>
+<entry>Short description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p> <filepath>sdpdatabase.dll</filepath>  </p> </entry>
+<entry><p> <filepath>sdpdatabase.lib</filepath>  </p> </entry>
+<entry><p>Allows a local service to register itself to a local Bluetooth service
+database. </p> </entry>
+</row>
+<row>
+<entry><p> <filepath>sdpagent.dll</filepath>  </p> </entry>
+<entry><p> <filepath>sdpagent.lib</filepath>  </p> </entry>
+<entry><p>Enables a Bluetooth device to discover the Bluetooth services, and
+the attributes of those services, that are available on a remote Bluetooth
+device. </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> </section>
+<section id="GUID-9033AE9C-0C92-4B5C-BBDD-51ACF8707B1D"><title>Typical uses</title> <p>The following are typical uses for
+the SDP Database and SDP Agent APIs: </p> <p><b>SDP
+Database</b> </p> <p>The SDP Database API provides access to the database
+for creating and maintaining records of services and setting the service attributes. </p> <p>For
+more information see: </p> <ul>
+<li id="GUID-EA5A4019-2F62-534A-8795-FD7873462DD5"><p><xref href="GUID-756D831F-F302-594C-8116-144358DD8442.dita">SDP
+Database Overview</xref>  </p> </li>
+<li id="GUID-D336C6C6-55A6-5007-BD7C-A18408EAE150"><p><xref href="GUID-ED342E6B-A4A3-576B-8934-7E7C049837F0.dita">SDP
+Service records and attributes</xref>  </p> </li>
+</ul> <p>The typical uses for the SDP Database are: </p> <ul>
+<li id="GUID-F88F0267-8BFA-52F1-88CB-A436CB0CBC33"><p><xref href="GUID-B75BD3DE-9C2E-5429-B55B-891462B92795.dita">Connecting
+to the service discovery database</xref>  </p> </li>
+<li id="GUID-BF5ABE0A-0329-5C72-8445-C169102485D6"><p><xref href="GUID-E2A2FA2A-5D9A-56FE-B7E5-69CCBC656BB9.dita">Handling
+SDP attributes</xref>  </p> </li>
+<li id="GUID-1EFA60F1-B700-52A5-BB25-A118167D93CE"><p><xref href="GUID-2373A158-C18A-51B5-BE9A-6B8F7FC63A35.dita">Registering
+Services</xref>  </p> </li>
+<li id="GUID-AA370FC4-E2EE-5C0C-B199-DB187AEC9582"><p><xref href="GUID-33210C48-3198-51BC-9970-8B29F711A8E2.dita">Setting
+service record attributes</xref>  </p> </li>
+</ul> </section>
+</conbody></concept>
\ No newline at end of file