#pragma once
#include <windows.h>
#include <string>
using namespace std;

typedef string CString;

class CWar3FileException
{

public:
	void ReportError();
	void SetMessage(const CString &strMessage);
	CString GetMessage() const;
	enum
	{
		none,
		unknown,
		invalidFileID,
		unsupportedVersion,
		unknownVersion,
		unhandledData,
		erroneousData,
		missingData
	};
	int m_cause;
	CWar3FileException();
	CWar3FileException(int war3FileExceptionCause, LPCSTR szMessage = NULL);
	virtual ~CWar3FileException();

protected:
	CString m_strMessage;
};