using System;

namespace Volpe.Cafe.Model
{
    /// <summary>
    /// Specifies the current state of the modeling process.
    /// </summary>
    [Serializable]
    public enum ModelingState
    {
        /// <summary>Specifies that the modeling process has not been initialized yet.</summary>
        Unstarted = 0,

        /// <summary>Specifies that the user has requested to start or resume the modeling process.</summary>
        StartRequested = 1,
        /// <summary>Specifies that the modeling process is currently running.</summary>
        Running = 2,

        /// <summary>Specifies that the user has requested to stop or cancel the modeling process.</summary>
        StopRequested = 3,
        /// <summary>
        /// Specifies that the modeling process has been stopped, but did not complete successfully. This typically
        /// indicates that the user has requested a stop or a modeling error has occurred.
        /// </summary>
        Stopped = 4,

        /// <summary>Specifies that the modeling process has completed successfully.</summary>
        Completed = 5,
        /// <summary>
        /// Specifies that the modeling process has entered a pre-completion state and is about to begin compressing
        /// outputs.
        /// </summary>
        CompressOutputs = 501

    }
}
