001package jmri.jmrit.throttle;
002
003import java.util.EventListener;
004import jmri.DccThrottle;
005import jmri.LocoAddress;
006
007/**
008 * Interface for classes that wish to get notification that a new decoder
009 * address has been selected.
010 *
011 * @author glen Copyright (C) 2002
012 */
013public interface AddressListener extends EventListener {
014
015    /**
016     * Receive notification that a new address has been selected.
017     *
018     * @param address The address that is now selected.
019     */
020    void notifyAddressChosen(jmri.LocoAddress address);
021
022    /**
023     * Receive notification that an address has been released/dispatched
024     *
025     * @param address The address released/dispatched
026     */
027    void notifyAddressReleased(LocoAddress address);
028
029    /**
030     * Receive notification that a throttle has been found
031     *
032     * @param throttle The throttle
033     */
034    void notifyAddressThrottleFound(DccThrottle throttle);
035
036    /**
037     * Receive notification that a new Consist address has been selected.
038     *
039     * @param address The address that is now selected.
040     */
041    void notifyConsistAddressChosen(jmri.LocoAddress address);
042
043    /**
044     * Receive notification that a consist address has been released/dispatched.
045     *
046     * @param address The address that is now selected.
047     */
048    void notifyConsistAddressReleased(jmri.LocoAddress address);
049
050    /**
051     * Receive notification that a throttle has been found
052     *
053     * @param throttle The throttle
054     */
055    void notifyConsistAddressThrottleFound(DccThrottle throttle);
056}