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

#if !defined(AFX_MANUFACTURINGTIME_H__990CD20C_469D_4250_9695_5FA8A0A1D278__INCLUDED_)
#define AFX_MANUFACTURINGTIME_H__990CD20C_469D_4250_9695_5FA8A0A1D278__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

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

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

   class MCCTRDLLCLASS CManufacturingTime*/
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
};

#endif // !defined(AFX_MANUFACTURINGTIME_H__990CD20C_469D_4250_9695_5FA8A0A1D278__INCLUDED_)
