#pragma once
#include "pch.h"
#include "ZZ_Types.h"
using namespace ZZ_MISCDEF::ZZ_DATAFILE;
using namespace ZZ_MISCDEF::ZZ_RUNPARAMS;
using namespace ZZ_MISCDEF::IRIS::FS;
class DataFileProcessor :public QObject
{
	Q_OBJECT
public:
	DataFileProcessor(QObject* parent = nullptr);
	virtual ~DataFileProcessor();
public:
public:
	void GenerateFilePath();
	int  WriteWavelengthInfo(float *pfWaveLength, int iLength);
	int  WriteData(DataFrame dfDataFrame);

	void LoadWaveLengthFile(QString qstrFileName);
	void LoadSingleDataFile(QString qstrFileName);
	void RecoverBackground(QString qstrDataFileName, QString qstrBackgroundFileName);
	//void SetEnvironmentContex(EContext struEC);
	//void SetManmadeEnviromentalContext(MEContext struMEC);
	//void SetDeviceInfo(FSContext struDeviceContext);
	//void SetData(std::vector<std::vector<DataFrame>> vecData);
	//bool WriteDataFile();
private:
	
	//bool WriteEnvironmentInfo();
	//void WriteDeviceInfo();
	//bool WriteData();


public:
private:
	QString m_qstrWavelengthInfoFileName;
	QString m_qstrFullFileName;
	QString m_qstrFileName;
	QString m_qstrFilePath;
	QDateTime m_qdtTime;


};