Re: Public API for Bluetooth Inquiry
Re: Public API for Bluetooth Inquiry
- Subject: Re: Public API for Bluetooth Inquiry
- From: Paul Davis <email@hidden>
- Date: Sun, 17 Nov 2002 18:33:28 -0500
On 11/16/02 2:29 PM, "Eric Brown" <email@hidden> wrote:
>
>
On Saturday, November 16, 2002, at 07:29 AM, Paul Davis wrote:
>
>
> To whom it may concern:
>
>
>
> I know you have discussed this topic in recent threads but I would
>
> like to
>
> add my 2 cents. I spent 2 days reading your Bluetooth API documentation
>
> trying to figure out how to do an inquiry without the GUI.
>
>
>
> The application I am working on will involve using an OBEX connection
>
> to
>
> send data between client and server. I absolutely do not want the user
>
> to
>
> have to choose the device/service record in order for this to work. I
>
> will
>
> probably require the user to pair devices initially. However, after
>
> this my
>
> design requirement is to simply find the device and verify the service
>
> I
>
> need is available using SDP query. The user will not be aware of this
>
> activity.
>
>
>
>
If you do require the user to pair, you can easily use the pairing
>
panel we provide (IOBluetoothPairingController) and then save off the
>
user's selection. We're also adding API to access the list of paired
>
devices so once that is in place, you could still find the device you
>
are interested in if the user used the pairing panel in the pref pane.
>
>
One problem with attempting to dynamically detect devices is that
>
performing an inquiry is a somewhat expensive and intrusive process.
>
Depending on what hardware is in use, connections can be completely
>
interrupted while the inquiry is in progress. Doing one while the user
>
isn't expecting it could be annoying at best.
>
>
Even if you have the user initiate the discovery process and then
>
perform SDP queries on each device to find the one (more than one?)
>
that has the service you are interested in, that process could be
>
rather lengthy if there are many discoverable devices around. It gets
>
even longer if any of the devices don't respond to the page/connection
>
process. With failed connections taking anywhere from 15 to 45
>
seconds, a discovery process like this in a dense environment could
>
easily run into several minutes.
>
>
> In summary, the quicker I can have access to the inquiry API, the
>
> better.
>
> Any chance you can give a more definitive date addressing when the
>
> stack
>
> will be released with the inquiry API?
>
>
>
>
Unfortunately I can't comment on upcoming releases at this time.
>
>
- Eric
>
Eric,
I put some time into this and would like your opinion on my conclusions:
1. I looked into using the IOBluetoothPairingController class as a means for
obtaining the device name. The runPanelWithAttributes works fine however it
returns nothing. Therefore, it's not very useful.
2. Next I used IOBluetoothDeviceSelector class. The runPanelWithAttributes
returns a pointer to an IOBluetoothDevice with all the salient information
pertaining to the selected device from the GUI. This is extremely useful.
I'm having some trouble extracting the details of the Service Record but I
won't burden you with questions until I have spent more time on this.
3. After thinking more about this, the API Apple is working on that will
give access to the list of paired devices would be useful. Probably a better
method in lieu of public inquiry API.
4. I can't get the getRFCOMMChannelID method in the
IOBluetoothSDPServiceRecord class method to work. It always bombs and was
hoping you could comment. Are there are issues with this method?
Thanks,
Paul Davis
_______________________________________________
bluetooth-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/bluetooth-dev
Do not post admin requests to the list. They will be ignored.