001package jmri.jmrit.throttle;
002
003/**
004 * A Listener for a function state change.
005 */
006public interface FunctionListener extends java.util.EventListener {
007
008    /**
009     * Receive notification that a function has changed state.
010     *
011     * @param functionNumber The id of the function
012     * @param isOn           True if the function is activated, false otherwise.
013     */
014    void notifyFunctionStateChanged(int functionNumber, boolean isOn);
015
016    /**
017     * Get notification that a function's lockable status has changed.
018     *
019     * @param functionNumber The function that has changed (0-9).
020     * @param isLockable     True if the function is now Lockable (continuously
021     *                       active).
022     */
023    void notifyFunctionLockableChanged(int functionNumber, boolean isLockable);
024}