// Created with MonoDevelop
//
//    QuickStep: Acquire, view and identify spectra 
//    Copyright (C) 2022, Hiperscan GmbH Dresden, Germany
//
//    This program is free software: you can redistribute it and/or modify
//    it under the terms of the GNU General Public License as published by
//    the Free Software Foundation, either version 3 of the License, or
//    (at your option) any later version.
//
//    This program is distributed in the hope that it will be useful,
//    but WITHOUT ANY WARRANTY; without even the implied warranty of
//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//    GNU General Public License for more details.
//
//    You should have received a copy of the GNU General Public License
//    along with this program.  If not, see <http://www.gnu.org/licenses/>.


using System;

namespace Hiperscan.ApoIdentCore.Enums
{
    public enum ProgramState : long
    {
        None = 0,
        Working,

        ReadyForSubstanceInput,
        NoSubstances,
        ReadyForProtocolInput,
        ReadyForProtocolCreation,
        Saved,

        MeasuringInternalRecalibration,
        MeasuringTransflectance,
        MeasuringTransflectanceAu,
        MeasuringFluid,
        MeasuringSolid,
        MeasuringCannabis,
        MeasuringInsert,
        MeasuringWhiteReference,
        MeasuringWhiteInsertReference,
        MeasuringBlackReference,

        NotMeasurable,

        Failure,
        ServerConnectionFailed,
        DeviceConnectionFailed,
        DeviceRegistratopnFailed,

        ConnectionLost,
        SavingFailed,
        MeasuringFailed,
        TransflectanceFailed,
        BlackFailed,
        WhiteFailed,
        IdentificationFluidFailed,
        IdentificationSolidFailed,
        QuantificationFailed,
        PrintingFailed,
        LabelPrintingFailed,
        PdfShowingFailed,
    }
}
