package blucat; /* * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ import java.io.IOException; import java.util.Date; import javax.bluetooth.LocalDevice; import javax.bluetooth.ServiceRecord; import javax.bluetooth.UUID; import javax.microedition.io.Connection; import javax.microedition.io.Connector; import javax.microedition.io.StreamConnectionNotifier; import com.intel.bluetooth.BluetoothConsts; /** * * @author Joseph Paul Cohen * */ public class BlucatServer { public static void startServerRFCOMM() throws IOException{ String url = "btspp://localhost:" + BluetoothConsts.RFCOMM_PROTOCOL_UUID + ";name=BlueCatPipe;authenticate=false;encrypt=false;master=true"; PrintUtil.verbose("#" + "Creating RFCOMM server"); StreamConnectionNotifier service = (StreamConnectionNotifier) Connector.open(url); ServiceRecord rec = LocalDevice.getLocalDevice().getRecord(service); //PrintUtil.out.println(rec.toString()); String remoteUrl = rec.getConnectionURL(ServiceRecord.NOAUTHENTICATE_NOENCRYPT, false); remoteUrl = remoteUrl.substring(0, remoteUrl.indexOf(";")); PrintUtil.verbose("#" + new Date() + " - Listening at " + remoteUrl); BlucatConnection.handle(service); } public static void startServerUuid(String uuidValue) throws IOException{ uuidValue = uuidValue.replace("-", ""); UUID uuid = new UUID(uuidValue, false); String url = "btspp://localhost:" + uuid.toString() + ";name=BlueCatPipe"; //;authenticate=false;authorize=false;encrypt=false;master=false"; PrintUtil.verbose("Creating server with UUID " + uuid); StreamConnectionNotifier service = (StreamConnectionNotifier) Connector.open(url); ServiceRecord rec = LocalDevice.getLocalDevice().getRecord(service); //PrintUtil.out.println(rec.toString()); String remoteUrl = rec.getConnectionURL(ServiceRecord.NOAUTHENTICATE_NOENCRYPT, false); remoteUrl = remoteUrl.substring(0, remoteUrl.indexOf(";")); PrintUtil.verbose("#" + new Date() + " - Listening at " + remoteUrl); BlucatConnection.handle(service); } public static void startServerChannel(String port) throws IOException{ String url = null; if (BlucatState.l2cap){ url = "btl2cap://localhost:" + port + ";name=BlueCatL2CAP"; }else{ url = "btspp://localhost:" + port + ";name=BlueCatRFCOM"; } PrintUtil.verbose("#" + "Creating server on channel " + port); Connection service = Connector.open(url); ServiceRecord rec = LocalDevice.getLocalDevice().getRecord(service); //PrintUtil.out.println(rec.toString()); String remoteUrl = rec.getConnectionURL(ServiceRecord.NOAUTHENTICATE_NOENCRYPT, false); remoteUrl = remoteUrl.substring(0, remoteUrl.indexOf(";")); PrintUtil.verbose("#" + new Date() + " - Listening at " + remoteUrl); BlucatConnection.handle(service); } }