namespace CareFusion.Mosaic.Interfaces.Messages.Input
{
    /// <summary>
    /// Defines the different supported states of an infeed input.
    /// </summary>
    public enum InfeedInputState
    {
        /// <summary>
        /// The infeed input has an unknown state.
        /// </summary>
        None,

        /// <summary>
        /// The infeed input has been accepted.
        /// </summary>
        InQueue,

        /// <summary>
        /// The infeed input is currently in running.
        /// </summary>
        InProgress,

        /// <summary>
        /// The infeed input is currently running and
        /// is waiting that a pack is placed on the feed.
        /// </summary>
        WaitingForPack,

        /// <summary>
        /// The infeed input finished successfully.
        /// </summary>
        Finished,

        /// <summary>
        /// The infeed input was denied by the storage system
        /// because all available input feeds are in use.
        /// </summary>
        QueueFull,

        /// <summary>
        /// The infeed input has been rejected by the it system.
        /// </summary>
        RejectedByItSystem,

        /// <summary>
        /// The infeed input has been rejected by the storage system.
        /// </summary>
        RejectedByMachine
    }
}
