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