001package jmri.jmrix.mrc;
002
003/**
004 * Layout interface, similar to command station
005 *
006 * @author Bob Jacobsen Copyright (C) 2001
007 */
008public interface MrcInterface {
009
010    void sendMrcMessage(MrcMessage msg);
011
012    void addTrafficListener(int Mask, MrcTrafficListener l);
013
014    void removeTrafficListener(int Mask, MrcTrafficListener l);
015
016    void changeTrafficListener(int Mask, MrcTrafficListener l);
017
018    boolean status();   // true if the implementation is operational
019
020    /**
021     * Mask value to request notification of all incoming messages
022     */
023    int ALL = ~0;
024
025    /**
026     * Mask value to request notification of messages effecting throttle changes
027     */
028    int THROTTLEINFO = 1;
029
030    /**
031     * (MrcInter Mask value to request notification of messages associated with
032     * programming
033     */
034    int PROGRAMMING = 2;
035
036    /**
037     * Mask value to request notification of messages indicating changes in
038     * turnout status
039     */
040    int TURNOUTS = 4;
041
042    /**
043     * Mask value to request notification of messages indicating changes in
044     * sensor status
045     */
046    int SENSORS = 8;
047
048    /**
049     * Mask value to request notification of messages associated with layout
050     * power
051     */
052    int POWER = 16;
053
054    /**
055     * Mask value to request notification of messages associated with layout
056     * power
057     */
058    int CLOCK = 32;
059
060    int POLL = 64;
061}
062
063
064