001package jmri.jmrix.sprog;
002
003/**
004 * Define interface for sending and receiving messages to the SPROG command
005 * station.
006 *
007 * @author Bob Jacobsen Copyright (C) 2001
008 */
009public interface SprogInterface {
010
011    void addSprogListener(SprogListener l);
012
013    void removeSprogListener(SprogListener l);
014
015    /**
016     * Test operational status of interface.
017     *
018     * @return true if interface implementation is operational.
019     */
020    boolean status();
021
022    /**
023     * Send a message through the interface.
024     *
025     * @param m Message to be sent.
026     * @param l Listener to be notified of reply.
027     */
028    void sendSprogMessage(SprogMessage m, SprogListener l);
029}
030
031
032