001package jmri.jmrit.ussctc;
002
003/**
004 * A Section is the base type for the pieces that make up and are referenced by a {@link jmri.jmrit.ussctc.Station}.
005 * <p>
006 * The type argument defines the communications from central to field and from field to central
007 * @author Bob Jacobsen Copyright (C) 2007, 2017
008 */
009public interface FieldSection<To extends Enum<To>, From extends Enum<From>> {
010
011    /**
012     * Provide the transferred value to the field unit at the end of the code-send operation.
013     * @param value transfer value.
014     */
015    void codeValueDelivered(To value);
016    
017    /**
018     * Inform field part of section that an indication operation (from field to machine)
019     * has started and obtain the value to be conveyed to the central CTC machine.
020     * @return The value to be conveyed to the central CTC machine.
021     */
022    From indicationStart();
023    
024}