#pragma once

#include <string>
#include <memory>

#include "ILotInfo.h"
#include "LotInfoStruct.h"

class CRuntimeLotInfoFactory
{
public:
    // ctor
    explicit CRuntimeLotInfoFactory(const std::string& strType = "ini");
    virtual ~CRuntimeLotInfoFactory();

    void Create();

    ILotInfo<nsLotInfo::stLotInfo>& Get();

private:
    std::string getEnv(const std::string& strVarName);

    //
    std::string m_strType{ "ini" };

    std::unique_ptr<ILotInfo<nsLotInfo::stLotInfo>> m_fty;
};
