001package jmri.jmrix.dccpp;
002
003/**
004 * interface for DCCppPortController objects.
005 *
006 * @author Paul Bender Copyright (C) 2010
007 * @author      Mark Underwood Copyright (C) 2015
008  *
009 * Based on XNetPortController by Paul Bender
010 */
011public interface DCCppPortController extends jmri.jmrix.PortAdapter {
012
013    /**
014     * Check that this object is ready to operate. This is a question of
015     * configuration, not transient hardware status.
016     */
017    @Override
018    boolean status();
019
020    /**
021     * Can the port accept additional characters? This might go false for short
022     * intervals, but it might also stick off if something goes wrong.
023     * @return true if OK to send, else false.
024     */
025    boolean okToSend();
026
027    /**
028     * We need a way to say if the output buffer is empty or not
029     * @param s true to set buffer empty, else false.
030     */
031    void setOutputBufferEmpty(boolean s);
032
033}
034
035
036