001package jmri.jmrit.withrottle;
002
003/**
004 * WiThrottle Interface to let a class know of device status changes.
005 *
006 * @author Brett Hoffman Copyright (C) 2009
007 * @author Created by Brett Hoffman on:
008 * @author 11/18/09.
009 */
010import java.util.EventListener;
011
012public interface DeviceListener extends EventListener {
013
014    /**
015     * A new device has connected.
016     *
017     * @param device the device that has connected.
018     */
019    void notifyDeviceConnected(DeviceServer device);
020
021    /**
022     * A device has quit and needs to be removed.
023     *
024     * @param device the device that has quit.
025     */
026    void notifyDeviceDisconnected(DeviceServer device);
027
028    /**
029     * A device has changed its address.
030     *
031     * @param device the device with changed address.
032     */
033    void notifyDeviceAddressChanged(DeviceServer device);
034
035    /**
036     * Some info (name, UDID) about the device has changed. Also used to detect
037     * duplicate of same device.
038     * @param device for which info has changed.
039     *
040     */
041    void notifyDeviceInfoChanged(DeviceServer device);
042
043}