#pragma once

#include "..\\global\\Block.h"

class CImpBlockConfig;
class CImpBlockAutoTrigger;

class CImpBlock : public CBlock
{
private:

	// pratelske tridy
	friend class CImpBlockConfig;
	friend class CImpBlockAutoTrigger;
	// rozhrani
	CImpBlockConfig *m_pxConfig;
	CImpBlockAutoTrigger *m_pxAutoTrigger;

public:
	void* GetInterface(REFIID riid);
	static HRESULT CreateInstance(REFIID riid, void **ppv);

	CImpBlock();
	~CImpBlock();

	////////////////////////////////////////////////////////////////

	STDMETHODIMP InitInstance();
	STDMETHODIMP ExitInstance();
	STDMETHODIMP ProcessRev(const DWORD dwProcessId, REVDATAMAP &rRevDataMap);
	STDMETHODIMP ClearRevMap(REVDATAMAP &rRevDataMapClean);
	STDMETHODIMP ProcessData(const LPBLOCKDATA pInputData);
	STDMETHODIMP_(void) Serialize(CArchive &ar);

	////////////////////////////////////////////////////////////////

	CString m_strName;
	BOOL m_bCheckFile;
	BOOL m_bSkipEmptyLayers;
	BOOL m_bDisableInput;
};