Re: Public API for Bluetooth Inquiry
On 11/16/02 2:29 PM, "Eric Brown" <esb@apple.com> 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 | bluetooth-dev@lists.apple.com Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/bluetooth-dev Do not post admin requests to the list. They will be ignored.
participants (1)
-
Paul Davis