00001 00007 package org.jaebi.midlet.bt; 00008 00009 00010 import java.io.IOException; 00011 import java.io.InputStream; 00012 import java.io.OutputStream; 00013 import javax.bluetooth.ServiceRecord; 00014 import javax.bluetooth.UUID; 00015 import javax.microedition.io.Connector; 00016 import javax.microedition.io.StreamConnection; 00017 import org.jaebi.midlet.bt.btException.BtIOException; 00018 import org.jaebi.midlet.bt.btException.BtInitException; 00019 import org.jaebi.midlet.bt.btException.ConnectionException; 00020 import org.jaebi.midlet.bt.discoveryHandling.DiscoveryEventHandler; 00021 00033 public class BtClient { 00034 00035 private Discoverer discoverer; 00036 private DiscovererObserver discovererObserver; 00037 private DiscoveryEventHandler eventHandler; 00038 00039 public BtClient(UUID UUIDset[], int attrset[], DiscoveryEventHandler eventHandler) throws BtInitException { 00040 this.eventHandler = eventHandler; 00041 this.discovererObserver = new DiscovererObserver(eventHandler); 00042 this.discoverer = new Discoverer(discovererObserver, UUIDset, attrset); 00043 } 00044 00045 00046 public void startDiscovery(){ 00047 discoverer.scanDevicesServices(); 00048 } 00049 00050 00051 public void cancelDiscovery(){ 00052 discoverer.destroy(); 00053 } 00054 00059 public StreamConnection getConnection(ServiceRecord record, int requiredSecurity, boolean mustBeMaster) throws ConnectionException{ 00060 String url = record.getConnectionURL(requiredSecurity, mustBeMaster); 00061 try{ 00062 return (StreamConnection)Connector.open(url); 00063 } catch (IOException e){ 00064 throw new ConnectionException("Impossibile connettersi al servizio desiderato"); 00065 } 00066 } 00067 00068 00069 }