// FoundDoc.h : MC2FoundDoc _xZkqqHx_iDeOiDiJiDfIiCmMjAoJiMlOiCkIiCoGiCnBiDeDiDjDiDfOiBfLiDhEiDeGiDeDiDfIiCmMjCoIiLgAiCpAiClFiCnMiClHiBeC_xHqqkZx_
//
/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_MOLIPDRAWDOC_H__0F2570EC_A510_11D2_AC0E_00C0F6B0E2D0__INCLUDED_)
#define AFX_MOLIPDRAWDOC_H__0F2570EC_A510_11D2_AC0E_00C0F6B0E2D0__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "2UtilVersion.h"	// For MC2HeaderInf.

class MC2ObjBase;
class MC2ObjIDTbl;
class MC2LinkManager;

/*************************************************************************
 * <_xZkqqHx_iDeOiDiJiDfI_xHqqkZx_>	MC2FoundDoc
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDgIiDeMiDiFiDiBiDjDiDgHiKmHjHjN_xHqqkZx_.
 *************************************************************************/
class MC2FoundDoc : public COleServerDoc
{
protected: // _xZkqqHx_iDfGiDiKiDeBiDiJiDeDiDfJiLeAjEfMiCmMiCnNiCkJiCoHiNoMjAkMiClFiCnMiClHiBeC_xHqqkZx_
	MC2FoundDoc();
	DECLARE_DYNCREATE(MC2FoundDoc)

public:

// _xZkqqHx_iDeBiDgHiDiKiDhCiDiFiBfLiDgH_xHqqkZx_
public:

// _xZkqqHx_iDiGiBfLiDfFiKnGjAjEiBeC_xHqqkZx_
public:
	virtual LPSTORAGE	SetRootStorage (LPSTORAGE pStorage);
	virtual void		SetFileType (FTDocumentFormat df);
	virtual void		InStreamCore (MC2ARCHIVE& ar, BOOL bIsFcore);
	virtual void		OutStreamCore (MC2ARCHIVE& ar, BOOL bIsFcore);
	virtual BOOL		LoadTemplate (const wchar_t* wcpFilePath);

	virtual void		SetHeaderLoadOnly (BOOL bHeaderLoadOnly);
	virtual const MC2HeaderInf*	GetHeaderInfo () const;

	//----- _xZkqqHx_jFjEjFgJ_xHqqkZx_ID_xZkqqHx_iCmMjDgPjIfOiKnGjAjE_xHqqkZx_ -----
	virtual void	RegisterObject (MC2ObjBase* pObj, DWORD dwID);
	virtual void	UnregisterObject (MC2ObjBase* pObj);
	virtual MC2ObjBase*	ObjID2Object (DWORD dwID) const;

	//----- _xZkqqHx_iDfIiDgHiDiKiBfLiDiAiKnGjAjE_xHqqkZx_ -----
	virtual void	OutStream (MC2ARCHIVE& ar) const;
	virtual void	InStream (MC2ARCHIVE& ar);


// _xZkqqHx_iDiGiBfLiDfFjFmPjAjEiBeC_xHqqkZx_
protected:
	BOOL				m_bHeaderLoadOnly;
	MC2HeaderInf		m_headerInf;		// _xZkqqHx_jDmHiCnNiNjOiCpBiClOiDhEiDeAiDeDiDiLiCmMiDhHiDgCiDfPiPoOjFpBiBeC_xHqqkZx_
	MC2ObjBaseVector	m_vZOrder;
	MC2ObjIDTbl*		m_oitpObjIDTbl;		// _xZkqqHx_jFfMiOkGjFjEjFgJ_xHqqkZx_ID_xZkqqHx_iCmMiKmHjHjNiDgFiBfLiDhFiDiL_xHqqkZx_.
	MC2LinkManager*		m_pLinkManager;		// _xZkqqHx_iDiKiDjDiDeOiDhNiDgMiBfLiDfHiDiDiBeC_xHqqkZx_

// _xZkqqHx_iDeJiDhJiDiMiBfLiDfGiDiHiDjD_xHqqkZx_
public:

//_xZkqqHx_iDeJiBfLiDgPiBfLiDiJiDeDiDgI_xHqqkZx_
	// ClassWizard _xZkqqHx_iCmNiJlMjBhKiKnGjAjEiCmMiDeJiBfLiDgPiBfLiDiJiDeDiDgIiCpAjAlGjAkMiClFiCnMiClHiBeC_xHqqkZx_
	//{{AFX_VIRTUAL(MC2FoundDoc)
	public:
	virtual void DeleteContents();
	virtual void Serialize(CArchive& ar);
	protected:
	virtual COleServerItem* OnGetEmbeddedItem();
	//}}AFX_VIRTUAL

// _xZkqqHx_iDeDiDjDiDhGiDiKiDiBiDjDiDgFiBfLiDfGiDiHiDjD_xHqqkZx_
public:
	virtual ~MC2FoundDoc();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

protected:

// _xZkqqHx_jAlGjAkMiClDiCoKiClNiDiBiDgCiDfKiBfLiDfH_xHqqkZx_ _xZkqqHx_iDhNiDgCiDhGiKnGjAjE_xHqqkZx_
protected:
	//{{AFX_MSG(MC2FoundDoc)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

	// _xZkqqHx_jAlGjAkMiClDiCoKiClN_xHqqkZx_ OLE _xZkqqHx_iDgGiDeCiDfIiDhAiDgCiDgA_xHqqkZx_ _xZkqqHx_iDhNiDgCiDhGiKnGjAjE_xHqqkZx_
	//{{AFX_DISPATCH(MC2FoundDoc)
	//}}AFX_DISPATCH
}; // class MC2FoundDoc.

// MC2FoundDoc_xZkqqHx_jFmPjAjEiBeC_xHqqkZx_
extern MC2FoundDoc* g_pDoc;

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

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ _xZkqqHx_iCmNjBePiNhDiCmMjClMjBePiCmJjCmHiJmBiCmMjAoJiMlOiCpAjBhNjDpMiClFiCnMiClHiBeC_xHqqkZx_

#endif // !defined(AFX_MOLIPDRAWDOC_H__0F2570EC_A510_11D2_AC0E_00C0F6B0E2D0__INCLUDED_)
