/** * Copyright (c) 2010-2016 by the respective copyright holders. * * 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 */ package org.openhab.binding.bluetooth; import org.openhab.binding.bluetooth.internal.BluetoothDevice; /** * This interface must be implemented in order to be notified about the results of the bluetooth discovery service. * Implementing classes must register themselves as a service in order to be taken into account. * * @author Kai Kreuzer * * @since 0.3.0 * */ public interface BluetoothEventHandler { /** * called, if a bluetooth device has just been discovered * * @param device the newly discovered device */ public void handleDeviceInRange(BluetoothDevice device); /** * called, if a bluetooth device cannot be found anymore * * @param device the device that is not in range anymore */ public void handleDeviceOutOfRange(BluetoothDevice device); /** * called, after each complete device discovery run, even * if no information has changed. * * @param a list of all devices that are currently in range */ public void handleAllDevicesInRange(Iterable<BluetoothDevice> devices); /** * tells, whether this handler will do anything at all, if being called. * If no handers are active, the bluetooth discovery service is halted, * so this method should always return a helpful value. * * @return true, if the handler will show activity if called. If it stays * idle for any kind of input, it should return false here. */ public boolean isActive(); }