001package jmri.jmrix.qsi; 002 003/** 004 * Define interface for sending and receiving messages to the QSI command 005 * station. 006 * 007 * @author Bob Jacobsen Copyright (C) 2001 008 */ 009public interface QsiInterface { 010 011 void addQsiListener(QsiListener l); 012 013 void removeQsiListener(QsiListener l); 014 015 /** 016 * Test operational status of interface. 017 * 018 * @return true is 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 sendQsiMessage(QsiMessage m, QsiListener l); 029 030}