Interface LocoNetInterface

All Known Implementing Classes:
IBLnPacketizer, LnMessageClient, LnOverTcpPacketizer, LnPacketizer, LnPacketizerStrict, LnPr2Packetizer, LnStreamPortPacketizer, LnTrafficController, LnTrafficRouter, LocoNetThrottledTransmitter, UhlenbrockPacketizer, Z21LnStreamPortPacketizer

public interface LocoNetInterface
LocoNetInterface defines the general connection to a LocoNet layout.

Use this interface to send messages to a LocoNet layout. Classes implementing the LocoNetListener interface can register here to receive incoming LocoNet messages as events.

The jmri.jrmix.loconet.LnTrafficController provides the first implementation of this interface.

How do you locate an implemenation of this interface? That's an interesting question. This is inherently LocoNet specific, so it would be inappropriate to put it in the jmri.InterfaceManager. And Java interfaces can't have static members, so we can't provide an implementation() member. For now, we use a static implementation member in the LnTrafficManager implementation to locate _any_ implementation; this clearly needs to be improved.

LocoNetListener implementations registering for traffic updates cannot assume that messages will be returned in any particular thread. See the LocoNetListener doc for more background.

See Also:
LocoNetListener, LnTrafficController
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static int ALL
    Mask value to request notification of all incoming messages
    static int POWER
    Mask value to request notification of messages associated with layout power
    static int PROGRAMMING
    Mask value to request notification of messages associated with programming
    static int SENSORS
    Mask value to request notification of messages indicating changes in sensor status
    static int SLOTINFO
    Mask value to request notification of messages effecting slot status, including the programming slot
    static int TURNOUTS
    Mask value to request notification of messages indicating changes in turnout status
  • Method Summary

    Modifier and Type Method Description
    void addLocoNetListener​(int mask, LocoNetListener listener)
    Request notification of things happening on the LocoNet.
    LocoNetSystemConnectionMemo getSystemConnectionMemo()
    Get the system connection memo associated with this connection.
    void removeLocoNetListener​(int mask, LocoNetListener listener)  
    void sendLocoNetMessage​(LocoNetMessage msg)  
    void setSystemConnectionMemo​(LocoNetSystemConnectionMemo m)
    Set the system connection memo associated with this connection.
    boolean status()
    Check whether an implementation is operational.