#pragma once

#include "resource.h"

#include "BKParseImage.h"
#include "BKFloppyImage_Prototype.h"
#include "BKFloppyImage_ANDos.h"
#include "BKFloppyImage_MKDos.h"
#include "BKFloppyImage_RT11.h"
#include "BKFloppyImage_Csidos3.h"
#include "BKFloppyImage_HCDos.h"
#include "BKFloppyImage_AODos.h"
#include "BKFloppyImage_NORD.h"
#include "BKFloppyImage_MicroDos.h"
#include "BKFloppyImage_MSDOS.h"

PaneInfo                m_PaneInfo;
std::vector<PaneInfo>   m_vSelItems;

CBKFloppyImage_Prototype *m_pFloppyImage;
std::vector<CBKFloppyImage_Prototype *> m_vpImages; // тут будут храниться объекты, когда мы заходим в лог.диски

struct CSV_Fields
{
	std::wstring strImagePath;
	std::wstring strImageName;
	std::wstring strOSType;
	bool bBootable;
	bool bLogDisk;
	std::wstring strInImgPath;
	std::wstring strInImgName;
	int nBlkSize;
	int nAddr;
	int nSize;
	std::wstring strAttr;
};

bool ScanDir(const std::wstring &strInPath);
void OutProgress(const std::wstring &strPath);
void Usage();

bool OutDir();

bool Open(PARSE_RESULT &pr, bool bLogDisk = false); // открыть файл по результатам парсинга
bool ReOpen(); // переинициализация уже открытого образа
void Close(); // закрыть текущий файл
UINT GetImgFormatName(IMAGE_TYPE nType = IMAGE_TYPE::UNKNOWN);
void ClearImgVector();
void PushCurrentImg();
bool PopCurrentImg();





