/*******************************************************************************
* Copyright (c) 2011, 2016 Eurotech and/or its affiliates
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Eurotech
*******************************************************************************/
package org.eclipse.kura.bluetooth;
/**
* BluetoothDevice represents a Bluetooth device to which connections
* may be made. The type of Bluetooth device will determine the
* communications mechanism. Standard Bluetooth devices will use
* the {@link BluetoothConnector} and Bluetooth LE devices will use
* {@link BluetoothGatt}.
* <br>
* When using {@link BluetoothConnector}, A default connector is not provided
* and will need to be implemented.
*
*/
public interface BluetoothDevice {
/**
* Returns the the name of the Bluetooth device.
*
* @return The devices name
*/
public String getName();
/**
* Returns the physical address of the device.
*
* @return The physical address of the device
*/
public String getAdress();
/**
* The type of devices, name whether the device supports
* Bluetooth LE or not.
*
* @return The device type
*/
public int getType();
/**
* Return a connector for communicating with a standard
* Bluetooth device. A default connector is not provided
* and will need to be implemented.
*
* @return Standard Bluetooth connector
*/
public BluetoothConnector getBluetoothConnector();
/**
* Return an instance of a Bluetooth GATT server to be
* used in communicating with Bluetooth LE devices.
*
* @return BluetoothGatt
*/
public BluetoothGatt getBluetoothGatt();
}