// ManufacturingTime.h: interface for the CManufacturingTime class.
//
//////////////////////////////////////////////////////////////////////

#pragma once

#include "ProductiveTime.h"
#include "StandbyTime.h"

class CManufacturingTime
{
public:
    //  default constructor
    CManufacturingTime();

    //  default destructor
    virtual ~CManufacturingTime();

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

    //  save equipment substate time periodically to file
    void SaveTimeInfo();

    //  set ProductiveTime and StandbyTime equipment state
    void SetEquipState(int iEvt, int iState);

    //  get total ProductiveTime and StandbyTime equipment state time
    LONGLONG GetTotalTime();

    //  get productive time in counts
    LONGLONG GetProductiveTime();

    //  get standby time in counts
    LONGLONG GetStandbyTime();

    //  get equipment substate time
    LONGLONG GetEquipSubStateTime(int iEvt);

    //  check is equipment Substate timer started
    virtual bool IsTimerStarted(int iEvt);

private:
    CProductiveTime m_productiveTime; // productive time
    CStandbyTime m_standbyTime;       // standby time
};
