#pragma once

template <class T>
class ILotInfo
{
public:
    virtual ~ILotInfo() = default;

    virtual T& GetLotInfo() = 0;
    //
    virtual bool        IsLotOpened() = 0;
    virtual std::string LotName()     = 0;
    virtual int         LotQty()      = 0;
    virtual std::string OperatorID()  = 0;
    virtual std::string ShiftID()     = 0;
    virtual std::string StartTime()   = 0;
    virtual std::string Recipe()      = 0;
    virtual std::string Package()     = 0;
};