Mapping Salutation architecture APIs to Bluetooth Service Discovery Layer

SLM-API function accomplished slmRegisterCapability() Input Parameters ( Functional Unit Description Record; Callback Entry for Open Service Indication; Callback Entry for Close Service The slmRegisterCapability() function is called by Services to register their specific instances of Functional Units with the local Salutation Manager. The specific instance is described in a record called a Functional Unit Description Record. The calling Service passes a Functional Unit Description Record, which describes its capability, to the Salutation Manager. The Salutation Manager returns a Functional Unit Handle that uniquely identifies the Functional Unit among all the Functional Units registered with the Salutation Manager. 3 The Salutation Architecture defines the Functional Unit Description Record as a record that identifies the Functional Unit, and the capabilities of that instance of the Functional Unit. The Functional Unit maps to the Bluetooth Service and capabilities map to the Bluetooth Attributes. Mapping Salutation Architecture APIs to Bluetooth Service Discovery Layer Page 13 of 26 Salutation Architecture Summary 01 July 1999 13 Indication; Callback Entry for Receive Data Indication; Preferred Functional Unit Handle ) Output Parameter ( Functional Unit Handle ) While a Service has a Functional Unit registered with a local Salutation Manager, the Functional Unit’s capability may be included in the response to a Query Capability request. The Callback Entries are provided to provide an entry point into a Service when that service is to be used. Entry points are provided for opening and closing the Service as well as for receiving data. The Service may attempt to specify a handle for the functional unit instance being registered. This value will be assigned if it is not currently in use. Otherwise, the Salutation manager will assign a random, unused value for the handle. slmUnregisterCapability() Input Parameters ( Functional Unit Handle ) Output Parameter None The Service, which has registered itself with the local Salutation Manager by calling the slmRegisterCapability() function, calls this function to unregister itself from the local Salutation Manager. The Functional Unit Handle is the value returned by the slmRegisterCapability() used to register this Service. slmSearchCapability() Input Parameters ( SLM-ID; Service Description Record; Output Parameter ( List of SLM-IDs ) The Client calls this function to ask the local Salutation Manager to search for Salutation Managers having a registered Functional Unit with a specific capability. The local Salutation Manager returns the list of SLM-IDs to the Client. Salutation Manager(s) whose SLM-ID(s) are included in the list has(have) a Functional Unit(s) that can provide the Service requested by the Client. SLM-ID is NULL for version 2.0 of the Salutation Architecture Service Description Record describes the Service(s) and their capabilities that are of interest to the Client. A Service Description Record that contains a Functional Unit Description Record of "All Call" Functional Unit ID with no Attribute Records, may be specified to get the list of all the SLM-IDs of Salutation Managers known to the local Salutation Manager. slmQueryCapability() Input Parameters ( SLM-ID; Service Description Record ) The Client calls this function to discover registered Functional Units and their capabilities at a specific Salutation Manager. SLM-ID specifies the target Salutation Manager. If NULL is specified, the target Salutation Manager is the local Salutation Manager. The Input Service Description Record describes the Service(s) and their capabilities that are of interest to 4 The Salutation Architecture defines the Service Description Record as a collection of one or more Functional Unit Description Records. The Service Description Record describes all the services sought by a Client or all the services maintained by a Service. Mapping Salutation Architecture APIs to Bluetooth Service Discovery Layer Page 14 of 26 Salutation Architecture Summary 01 July 1999 14 Output Parameter Service Description Record ) the Client. The Output Service Description Record describes the Service(s) and their capabilities that match the Input Service Description Record. 3.3 Service Discovery Flow The flow of Remote Service Discovery messages and calls are depicted in Table 3-4. Salutation APIs are used by the Client and Functional Unit to access their respective Salutation Managers. Salutation Protocol flows between the Clientside and Server-side Salutation Managers. Client Client-side Salutation Manager Salutation Protocol Service-side Salutation Manager Functional Unit <== slmRegisterCapability() call slmRegisterCapability() return ==> slmSearchCapability() call ==> Query Capability call ==> <== Query Capability reply : (This step is repeated for each known SLM. The reply data maybe cached for the next step.) <== slmSearchCapability() return slmQueryCapability() call ==> Query Capability call ==> <== Query Capability reply : (This step is optional, depending on the caching capability of the Client’s Salutation Manager.) <== slmQueryCapability() return