#pragma once
class CImageFileManager
{
public:
	CImageFileManager();
	~CImageFileManager();
public:
	typedef struct _image_file_info_
	{
		CString strFileName;
		BYTE*   pImageBuffer;
		LONGLONG    lImageBufferLength;
		int     nImageWidth;
		int     nImageHeight;

		long    lImageIdx;
		_image_file_info_()
		{
			pImageBuffer = NULL;
			nImageWidth = 0;
			nImageHeight = 0;
			lImageBufferLength = 0;
			lImageIdx = -1;
		}
	}stFileInfo;

public:
	long  AddFile(CString strFileName);
	void  DeleteFile(long lImageIdx);
	CImageFileManager::stFileInfo* GetFileByIdx(long lIdx);
	void  GetAllFileInfo(CArray<CImageFileManager::stFileInfo*, CImageFileManager::stFileInfo*>& _out);
	void  Clear();
private:
	
	CArray<stFileInfo*, stFileInfo*> m_fileInfo;

	long  m_lImageIdx;
    
};

