javaextensions/bluetooth/bluecove/javasrc/javax/bluetooth/RemoteDevice.java
branchRCL_3
changeset 19 04becd199f91
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/javaextensions/bluetooth/bluecove/javasrc/javax/bluetooth/RemoteDevice.java	Tue Apr 27 16:30:29 2010 +0300
@@ -0,0 +1,161 @@
+/**
+ *  BlueCove - Java library for Bluetooth
+ *
+ *  Java docs licensed under the Apache License, Version 2.0
+ *  http://www.apache.org/licenses/LICENSE-2.0 
+ *   (c) Copyright 2001, 2002 Motorola, Inc.  ALL RIGHTS RESERVED.
+ *
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ *  
+ *  @version $Id: RemoteDevice.java 2530 2008-12-09 18:52:53Z skarzhevskyy $
+ */
+package javax.bluetooth;
+
+import java.io.IOException;
+
+import javax.microedition.io.Connection;
+
+import com.intel.bluetooth.DebugLog;
+import com.intel.bluetooth.RemoteDeviceHelper;
+import com.intel.bluetooth.UtilsJavaSE;
+
+/**
+ * Please refer JSR-82
+ */
+public class RemoteDevice {
+
+	/**
+	 * A bluetooth hex address
+	 */
+	private String addressStr;
+
+	/**
+	 * A bluetooth address for internal use
+	 */
+	private long addressLong;
+
+    /**
+     * Please refer JSR-82
+     */
+	protected RemoteDevice(String address) {
+		if (address == null) {
+			throw new NullPointerException("address is null");
+		}
+		if (address.length() != 12) {
+			throw new IllegalArgumentException("Malformed address: " + address + "; should be 12 characters");
+		}
+		if (address.startsWith("-")) {
+			throw new IllegalArgumentException("Malformed address: " + address + "; can't be negative");
+		}
+		DebugLog.debug("new RemoteDevice", address);
+		this.addressStr = RemoteDeviceHelper.formatBluetoothAddress(address);
+		try {
+			if (this.addressStr.equals(LocalDevice.getLocalDevice().getBluetoothAddress())) {
+				throw new IllegalArgumentException("can't use the LocalDevice address.");
+			}
+		} catch (BluetoothStateException e) {
+			throw (RuntimeException) UtilsJavaSE.initCause(new RuntimeException("Can't initialize bluetooth support"), e);
+		}
+		this.addressLong = RemoteDeviceHelper.getAddress(address);
+	}
+
+    /**
+     * Please refer JSR-82
+     */
+	public boolean isTrustedDevice() {
+		return RemoteDeviceHelper.isTrustedDevice(this);
+	}
+
+    /**
+     * Please refer JSR-82
+     */
+	public String getFriendlyName(boolean alwaysAsk) throws IOException {
+		return RemoteDeviceHelper.getFriendlyName(this, this.addressLong, alwaysAsk);
+	}
+
+    /**
+     * Please refer JSR-82
+     */
+	public final String getBluetoothAddress() {
+		return this.addressStr;
+	}
+
+    /**
+     * Please refer JSR-82
+     */
+	public boolean equals(Object obj) {
+		return obj != null && obj instanceof RemoteDevice && ((RemoteDevice) obj).addressLong == addressLong;
+	}
+
+    /**
+     * Please refer JSR-82
+     */
+	public int hashCode() {
+		return new Long(addressLong).hashCode();
+	}
+
+    /**
+     * Please refer JSR-82
+     */
+	public static RemoteDevice getRemoteDevice(Connection conn) throws IOException {
+		return RemoteDeviceHelper.getRemoteDevice(conn);
+	}
+
+    /**
+     * Please refer JSR-82
+     */
+	public boolean authenticate() throws IOException {
+		return RemoteDeviceHelper.authenticate(this);
+	}
+
+    /**
+     * Please refer JSR-82
+     */
+	public boolean authorize(javax.microedition.io.Connection conn) throws IOException {
+		return RemoteDeviceHelper.authorize(this, conn);
+	}
+
+    /**
+     * Please refer JSR-82
+     */
+	public boolean encrypt(javax.microedition.io.Connection conn, boolean on) throws IOException {
+		return RemoteDeviceHelper.encrypt(this, conn, on);
+	}
+
+    /**
+     * Please refer JSR-82
+     */
+	public boolean isAuthenticated() {
+		return RemoteDeviceHelper.isAuthenticated(this);
+	}
+
+    /**
+     * Please refer JSR-82
+     */
+	public boolean isAuthorized(javax.microedition.io.Connection conn) throws IOException {
+		return RemoteDeviceHelper.isAuthorized(this, conn);
+	}
+
+    /**
+     * Please refer JSR-82
+     */
+	public boolean isEncrypted() {
+		return RemoteDeviceHelper.isEncrypted(this);
+	}
+
+}