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