// NonScheduledTime.h: interface for the CNonScheduledTime class.
//
//////////////////////////////////////////////////////////////////////

#pragma once

#include "EquipState.h"

/*
   #ifdef   BUILD_MCCTRDLL
   #define      MCCTRDLLCLASS   __declspec(dllexport)
   #else
   #define      MCCTRDLLCLASS   __declspec(dllimport)
   #endif

   class MCCTRDLLCLASS CNonScheduledTime : public CEquipState*/
class CNonScheduledTime : public CEquipState
{
public:
//  default constructor
    CNonScheduledTime();

//  default destructor
    virtual ~CNonScheduledTime();

//  set all equipment state
    void SetEquipState(int iEvt, int iState);

//  get total equipment time
    LONGLONG GetTotalTime();

//  read all equipment SubState time span from file
    virtual void ReadTimeSpanFromFile();

    enum
    {
        UNWORK_SHIFT_DAYS,
        INSTALLATION_MODIFICATION_REBULID_UPGRADE,
        OFFLINE_TRAINING,
        SHUTDOWN_START_UP,
        MAX_NON_SCHEDULED_EQUIP,
    };

private:
/*
   //   Check open lot event
    virtual void CheckOpenLotEvt(int iEvt){};

   //   Check close lot event
    virtual void CheckCloseLotEvt(int iEvt){};

    int m_iLastEvt;
    int m_iLastState;
 */
    LONGLONG m_llExitTime;

/*  static const char *sLastNonScheduledEvt;
    static const char *sLastState;*/
    static const char *sExitTime;
};

