|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
totalcross.lang.Objecttotalcross.io.device.bluetooth.DiscoveryAgent
public class DiscoveryAgent
The DiscoveryAgent class provides methods to perform device and service discovery. A local device must
have only one DiscoveryAgent object. This object must be retrieved by a call to
getDiscoveryAgent() on the LocalDevice object.
| Field Summary | |
|---|---|
static int |
CACHED
Used with the retrieveDevices() method to return those devices that were found via a previous
inquiry. |
static int |
GIAC
The inquiry access code for General/Unlimited Inquiry Access Code (GIAC). |
static int |
LIAC
The inquiry access code for Limited Dedicated Inquiry Access Code (LIAC). |
static int |
NOT_DISCOVERABLE
Takes the device out of discoverable mode. |
static int |
PREKNOWN
Used with the retrieveDevices() method to return those devices that are defined to be pre-known
devices. |
| Method Summary | |
|---|---|
boolean |
cancelInquiry(DiscoveryListener listener)
Removes the device from inquiry mode. |
boolean |
cancelServiceSearch(int transID)
Cancels the service search transaction that has the specified transaction ID. |
RemoteDevice[] |
retrieveDevices(int option)
Returns an array of Bluetooth devices that have either been found by the local device during previous inquiry requests or been specified as a pre-known device depending on the argument. |
int |
searchServices(int[] attrSet,
UUID[] uuidSet,
RemoteDevice btDev,
DiscoveryListener discListener)
Searches for services on a remote Bluetooth device that have all the UUIDs specified in uuidSet. |
String |
selectService(UUID uuid,
int security,
boolean master)
Attempts to locate a service that contains uuid in the ServiceClassIDList of its service record. |
boolean |
startInquiry(int accessCode,
DiscoveryListener listener)
Places the device into inquiry mode. |
| Methods inherited from class totalcross.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final int CACHED
retrieveDevices() method to return those devices that were found via a previous
inquiry. If no inquiries have been started, this will cause the method to return null.
The value of CACHED is 0x00 (0).
public static final int GIAC
The value of GIAC is 0x9E8B33 (10390323). This value is defined in the Bluetooth Assigned Numbers
document.
public static final int LIAC
The value of LIAC is 0x9E8B00 (10390272). This value is defined in the Bluetooth Assigned Numbers
document.
public static final int NOT_DISCOVERABLE
The value of NOT_DISCOVERABLE is 0x00 (0).
public static final int PREKNOWN
retrieveDevices() method to return those devices that are defined to be pre-known
devices. Pre-known devices are specified in the BCC. These are devices that are specified by the user as devices
with which the local device will frequently communicate.
The value of PREKNOWN is 0x01 (1).
| Method Detail |
|---|
public boolean cancelInquiry(DiscoveryListener listener)
An inquiryCompleted() event will occur with a type of INQUIRY_TERMINATED as a result of
calling this method. After receiving this event, no further deviceDiscovered() events will occur as a
result of this inquiry.
This method will only cancel the inquiry if the listener provided is the listener that started the
inquiry.
listener - the listener that is receiving inquiry events
true if the inquiry was canceled; otherwise false if the inquiry was not
canceled or if the inquiry was not started using listener
totalcross.lang.NullPointerException - if listener is nullpublic boolean cancelServiceSearch(int transID)
searchServices(). A serviceSearchCompleted() event with a
discovery type of SERVICE_SEARCH_TERMINATED will occur when this method is called. After receiving
this event, no further servicesDiscovered() events will occur as a result of this search.
transID - the ID of the service search transaction to cancel; returned by searchServices()
true if the service search transaction is terminated, else false if the
transID does not represent an active service search transactionpublic RemoteDevice[] retrieveDevices(int option)
option - option - CACHED if previously found devices should be returned;
PREKNOWN if pre-known devices should be returned
option is
CACHED; an array of devices that are pre-known devices if option is
PREKNOWN; null if no devices meet the criteria
totalcross.lang.IllegalArgumentException - if option is not CACHED or PREKNOWN
public int searchServices(int[] attrSet,
UUID[] uuidSet,
RemoteDevice btDev,
DiscoveryListener discListener)
throws IOException
uuidSet. Once
the service is found, the attributes specified in attrSet and the default attributes are retrieved.
The default attributes are ServiceRecordHandle (0x0000), ServiceClassIDList (0x0001), ServiceRecordState (0x0002),
ServiceID (0x0003), and ProtocolDescriptorList (0x0004).If attrSet is null then only the
default attributes will be retrieved. attrSet does not have to be sorted in increasing order, but
must only contain values in the range [0 - (216-1)].
attrSet - indicates the attributes whose values will be retrieved on services which have the UUIDs specified in
uuidSetuuidSet - the set of UUIDs that are being searched for; all services returned will contain all the UUIDs specified
herebtDev - the remote Bluetooth device to search for services ondiscListener - the object that will receive events when services are discovered
totalcross.lang.NullPointerException - if uuidSet, btDev, or discListener is null; if an
element in uuidSet array is null
totalcross.lang.IllegalArgumentException - if attrSet has an illegal service attribute ID or exceeds the property
bluetooth.sd.attr.retrievable.max defined in the class LocalDevice; if
attrSet or uuidSet is of length 0; if attrSet or
uuidSet contains duplicates
IOException - if the number of concurrent service search transactions exceeds the limit specified by the
bluetooth.sd.trans.max property obtained from the class LocalDevice or the
system is unable to start one due to current conditions
public String selectService(UUID uuid,
int security,
boolean master)
throws IOException
uuid in the ServiceClassIDList of its service record. This
method will return a string that may be used in Connector.open() to establish a connection to the
service. How the service is selected if there are multiple services with uuid and which devices to
search is implementation dependent.
uuid - the UUID to search for in the ServiceClassIDListsecurity - specifies the security requirements for a connection to this service; must be one of
ServiceRecord.NOAUTHENTICATE_NOENCRYPT, ServiceRecord.AUTHENTICATE_NOENCRYPT,
or ServiceRecord.AUTHENTICATE_ENCRYPTmaster - determines if this client must be the master of the connection; true if the client must be
the master; false if the client can be the master or the slave
uuid; or
null if no service could be found with a UUID of uuid in the ServiceClassIDList
totalcross.lang.NullPointerException - if uuid is null
totalcross.lang.IllegalArgumentException - if security is not ServiceRecord.NOAUTHENTICATE_NOENCRYPT,
ServiceRecord.AUTHENTICATE_NOENCRYPT, or ServiceRecord.AUTHENTICATE_ENCRYPT
IOException - if the Bluetooth system cannot start the request due to the current state of the Bluetooth system
public boolean startInquiry(int accessCode,
DiscoveryListener listener)
throws IOException
deviceDiscovered() of the interface DiscoveryListener.
The cancelInquiry() method is called to stop the inquiry.
accessCode - the type of inquiry to completelistener - the event listener that will receive device discovery events
true if the inquiry was started; false if the inquiry was not started because
the accessCode is not supported
totalcross.lang.IllegalArgumentException - if the access code provided is not LIAC, GIAC, or in the range 0x9E8B00 to
0x9E8B3F
totalcross.lang.NullPointerException - if listener is null
IOException - if the Bluetooth device does not allow an inquiry to be started due to other operations that are being
performed by the device
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||