class CSdpAgent : public CBase |
Makes Bluetooth service discovery protocol (SDP) requests to a remote device.
To make SDP requests,
Construct a CSdpAgent object with the Bluetooth address of the remote device to query.
Set the classes of service that you want to query for. The classes have predefined UUIDs, which you specify with SetRecordFilterL().
Get results through NextRecordRequestL(). Information on services is stored as records, which can be queried in turn for attribute values for the service through AttributeRequestL().
A user of this class must implement MSdpAgentNotifier to receive the responses to queries.
Note that queries are asynchronous, although this is hidden in the API. The implication is that the interface functions that receive responses are only called when the thread's active scheduler can schedule handling of the completion of the query.
Public Member Functions | |
---|---|
~CSdpAgent() | |
IMPORT_C void | AttributeRequestL(TSdpServRecordHandle, TSdpAttributeID) |
IMPORT_C void | AttributeRequestL(TSdpServRecordHandle, const CSdpAttrIdMatchList &) |
IMPORT_C void | AttributeRequestL(MSdpElementBuilder *, TSdpServRecordHandle, TSdpAttributeID) |
IMPORT_C void | AttributeRequestL(MSdpElementBuilder *, TSdpServRecordHandle, const CSdpAttrIdMatchList &) |
IMPORT_C void | Cancel() |
IMPORT_C CSdpAgent * | NewL(MSdpAgentNotifier &, const TBTDevAddr &) |
IMPORT_C CSdpAgent * | NewLC(MSdpAgentNotifier &, const TBTDevAddr &) |
IMPORT_C void | NextRecordRequestL() |
IMPORT_C void | SetAttributePredictorListL(const CSdpAttrIdMatchList &) |
IMPORT_C void | SetRecordFilterL(const CSdpSearchPattern &) |
Private Member Functions | |
---|---|
CSdpAgent() | |
void | ConstructL(MSdpAgentNotifier &, TBTDevAddr) |
Private Attributes | |
---|---|
CSdpAgentEng * | iAgentEngine |
IMPORT_C void | AttributeRequestL | ( | TSdpServRecordHandle | aHandle, |
TSdpAttributeID | aAttrID | |||
) |
Gets the specified attribute for a remote service.
The function is asynchronous: on completion, it calls MSdpAgentNotifier::AttributeRequestComplete().
If the attribute is found, the function passes it by also calling MSdpAgentNotifier::AttributeRequestResult().
TSdpServRecordHandle aHandle | The service for which to get the attribute, specified by its record handle |
TSdpAttributeID aAttrID | The ID of the attribute to get |
IMPORT_C void | AttributeRequestL | ( | TSdpServRecordHandle | aHandle, |
const CSdpAttrIdMatchList & | aMatchList | |||
) |
Gets the specified attributes for a remote service.
The function is asynchronous: on completion, it calls MSdpAgentNotifier::AttributeRequestComplete().
The function also calls MSdpAgentNotifier::AttributeRequestResult() for each attribute found.
TSdpServRecordHandle aHandle | The service for which to get the attribute, specified by its record handle |
const CSdpAttrIdMatchList & aMatchList | A list of attributes to get |
IMPORT_C void | AttributeRequestL | ( | MSdpElementBuilder * | aBuilder, |
TSdpServRecordHandle | aHandle, | |||
TSdpAttributeID | aAttrID | |||
) |
Gets the specified attribute for a remote service.
The function is asynchronous: on completion, it calls MSdpAgentNotifier::AttributeRequestComplete().
If the attribute is found, the function calls aBuilder's interface to set the attribute ID and value.
MSdpElementBuilder * aBuilder | Object implementing the MSdpElementBuilder interface. It will be called with each type found in the response. |
TSdpServRecordHandle aHandle | The service for which to get the attribute, specified by its record handle |
TSdpAttributeID aAttrID | The ID of the attribute to get |
IMPORT_C void | AttributeRequestL | ( | MSdpElementBuilder * | aBuilder, |
TSdpServRecordHandle | aHandle, | |||
const CSdpAttrIdMatchList & | aMatchList | |||
) |
Gets the specified attributes for a remote service.
The function is asynchronous: on completion, it calls MSdpAgentNotifier::AttributeRequestComplete().
As each attribute is found, the function calls aBuilder's interface to set the attribute ID and value.
MSdpElementBuilder * aBuilder | Object implementing the MSdpElementBuilder interface. It will be called with each type found in the response. |
TSdpServRecordHandle aHandle | The service for which to get the attribute, specified by its record handle |
const CSdpAttrIdMatchList & aMatchList | A list of attributes to get |
IMPORT_C void | Cancel | ( | ) |
Attempts to cancel an SDP Agent request.
Calls cancel on active objects making request. Resets all variables associated with a request and its state.
void | ConstructL | ( | MSdpAgentNotifier & | aNotifier, |
TBTDevAddr | aDevAddr | |||
) | [private] |
MSdpAgentNotifier & aNotifier | |
TBTDevAddr aDevAddr |
IMPORT_C CSdpAgent * | NewL | ( | MSdpAgentNotifier & | aNotifier, |
const TBTDevAddr & | aDevAddr | |||
) | [static] |
Creates a new SDP Agent object.
MSdpAgentNotifier & aNotifier | Interface implemented by the query requester, which the agent calls asynchronously to pass responses to queries |
const TBTDevAddr & aDevAddr | The Bluetooth address of the remote device to query |
IMPORT_C CSdpAgent * | NewLC | ( | MSdpAgentNotifier & | aNotifier, |
const TBTDevAddr & | aDevAddr | |||
) | [static] |
Creates a new SDP Agent object.
Allocate and construct a service discovery agent, leaving the object on the cleanup stack.
MSdpAgentNotifier & aNotifier | Interface implemented by the query requester, which the agent calls asynchronously to pass responses to queries |
const TBTDevAddr & aDevAddr | The Bluetooth address of the remote device to query |
IMPORT_C void | NextRecordRequestL | ( | ) |
Gets a handle to the record for the next (or first) service on the remote device that matches the service class filter previously set.
The function is asynchronous: on completion, it calls NextRecordRequestComplete() on the MSdpAgentNotifier interface passed in the NewL().
IMPORT_C void | SetAttributePredictorListL | ( | const CSdpAttrIdMatchList & | aMatchList | ) |
This does nothing! (It used to create a copy of an attribute match list supplied, and place it in the CSdpAgentEng object.)
const CSdpAttrIdMatchList & aMatchList | Attribute - now unused |
IMPORT_C void | SetRecordFilterL | ( | const CSdpSearchPattern & | aUUIDFilter | ) |
Sets the classes of service to query for on the remote device.
Responses from the agent will only contain records for services that belong to the classes listed in aUUIDFilter. Service classes are represented as unique identifiers (UUIDs).
const CSdpSearchPattern & aUUIDFilter | A list of UUIDs that will be matched in SDP Service Search Requests. The function takes a copy of the object. Any previous UUID list is deleted. |
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.