#include <string>
#include "ZZ_Types.h"
#pragma once
using namespace ZZ_MISCDEF;
using namespace ZZ_MISCDEF::IRIS::FS; 

class CIrisFSBase
{
public:
	//CIrisFSBase();
	//virtual ~CIrisFSBase()= 0;
public:
	//初始化设备
	//此处string为指明连接哪个ocean光谱仪的参数，可自行更换为其他c/c++标准类型
	//0为无错误，不同错误请返回不同值
	virtual int Initialize(bool bIsUSBMode,ZZ_U8 ucPortNumber,std::string strDeviceName) = 0;

	//关闭设备
	virtual void Close() = 0;

	//单次数据采集
	virtual int SingleShot(DataFrame &dfData) = 0;

	//设置曝光时间
	virtual int SetExposureTime(int iExposureTimeInMS) = 0;

	//获取曝光时间设置
	virtual int GetExposureTime(int &iExposureTimeInMS) = 0;

	//设置目标温度
	virtual int SetDeviceTemperature(float fTemperature) = 0;

	//获取温度设置
	virtual int GetDeviceTemperature(float &fTemperature) = 0;

	//获取设备信息
	virtual int GetDeviceInfo(DeviceInfo &Info) = 0;

	//获取设备特征数据
	virtual int GetDeviceAttribute(DeviceAttribute &Attr) = 0;
	
};
