Class MqttConsistManager

All Implemented Interfaces:
ConsistManager

  • Field Details

  • Constructor Details

    • MqttConsistManager

      Constructor - call the constructor for the superclass, and initialize the consist reader thread, which retrieves consist information from the command station.
      Parameters:
      memo - the associated connection memo
  • Method Details

    • setSendTopic

      public void setSendTopic(@Nonnull String sendTopicPrefix)
    • isCommandStationConsistPossible

      This implementation does support advanced consists, so return true.
      Returns:
      true if command station consists are supported; false otherwise
    • csConsistNeedsSeperateAddress

      Does a CS consist require a separate consist address? CS consist addresses are assigned by the user, so return true.
      Returns:
      true is command station consist requires separate address; false otherwise
    • addConsist

      public Consist addConsist(LocoAddress address)
      Add a new MQTT Consist with the given address to consistTable/consistList.
      Specified by:
      addConsist in class AbstractConsistManager
      Parameters:
      address - consist address
      Returns:
      a consist at address; this will be the existing consist if a consist is already known to exist at address
    • requestUpdateFromLayout

      public void requestUpdateFromLayout()
      Description copied from interface: ConsistManager
      Request an update from the layout, loading Consists from the command station.
      Specified by:
      requestUpdateFromLayout in interface ConsistManager
      Overrides:
      requestUpdateFromLayout in class AbstractConsistManager
    • shouldRequestUpdateFromLayout

      protected boolean shouldRequestUpdateFromLayout()
      Description copied from class: AbstractConsistManager
      Allow a request for consist updates from the layout. If not overridden by a concrete subclass, this method always returns true.
      Overrides:
      shouldRequestUpdateFromLayout in class AbstractConsistManager
      Returns:
      true if the request can be made, false if not
    • activateConsist

      public void activateConsist(LocoAddress address)
      Consist is activated on the controller for the specified LocoAddress This is used by MqttThrottle to either publish an existing consist or clear an old one upon opening the new throttle.
      Parameters:
      address - Consist address to be activated
    • deactivateConsist

      public void deactivateConsist(LocoAddress address)
      If a consist exists with the given address, the consist is deactivated on the controller, otherwise it does nothing. This is used by a throttle in case it is controlling a consist.
      Parameters:
      address - Consist address to be deactivated