Clients that make service and attribute queries through [[[ERROR: [NOKX000E] Unable to find definition for key reference 'MSdpAgentNotifier']]]CSdpAgent
must
implement the [[[ERROR: [NOKX000E] Unable to find definition for key reference 'MSdpAgentNotifier']]]MSdpAgentNotifier
interface
to handle the responses.
There are two kinds of results that require handling, they are:
We will examine a simple handling example for both kinds below.
Note: Queries are asynchronous.
When a service
search request completes, it calls the [[[ERROR: [NOKX000E] Unable to find definition for key reference 'MSdpAgentNotifier']]]NextRecordRequestComplete()
:
virtual void NextRecordRequestComplete(TInt aError, TSdpServRecordHandle aHandle, TInt aTotalRecordsCount)
aHandle
gives the service record handle of the matching
service, and can be used in a subsequent attribute query. aTotalRecordsCount
gives
the total number of matching records.
When an attribute
request completes, each single attribute is returned with its attribute ID
using [[[ERROR: [NOKX000E] Unable to find definition for key reference 'MSdpAgentNotifier']]]AttributeRequestResult()
.
virtual void AttributeRequestResult(TSdpServRecordHandle aHandle, TSdpAttributeID aAttrID, CSdpAttrValue* aAttrValue)
The ID of the attribute is given in aAttrID
, and the
attribute value itself in aAttrValue
. You can find the type
of the attribute through aAttrValue->Type()
, cast aAttrValue
on
this base to the correct subclass of [[[ERROR: [NOKX000E] Unable to find definition for key reference 'MSdpAgentNotifier']]]CSdpAttrValue
:
for example, if the type is [[[ERROR: [NOKX000E] Unable to find definition for key reference 'MSdpAgentNotifier']]]ETypeBoolean
,
you can cast aAttrValue
to a [[[ERROR: [NOKX000E] Unable to find definition for key reference 'MSdpAgentNotifier']]]CSdpAttrValueBoolean
.
When
there are no more attributes to be returned, [[[ERROR: [NOKX000E] Unable to find definition for key reference 'MSdpAgentNotifier']]]AttributeRequestComplete()
is
called.
The complete set of Service Discovery Agent tutorials are shown below:
Also refer to the Bluetooth Service Discovery Agent Overview and the Bluetooth SDP Overview for additional background information.