// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _CDF_StoreList_HeaderFile
#define _CDF_StoreList_HeaderFile

#include <Standard.hxx>
#include <Standard_DefineHandle.hxx>
#include <Handle_CDF_StoreList.hxx>

#include <CDM_MapOfDocument.hxx>
#include <CDM_ListOfDocument.hxx>
#include <CDM_MapIteratorOfMapOfDocument.hxx>
#include <Handle_CDM_Document.hxx>
#include <Standard_Transient.hxx>
#include <Standard_Boolean.hxx>
#include <PCDM_StoreStatus.hxx>
#include <Handle_CDM_MetaData.hxx>
class CDM_Document;
class Standard_NoSuchObject;
class CDM_MetaData;
class TCollection_ExtendedString;



class CDF_StoreList : public Standard_Transient
{

public:

  
  Standard_EXPORT CDF_StoreList(const Handle(CDM_Document)& aDocument);
  
  Standard_EXPORT   Standard_Boolean IsConsistent()  const;
  
  //! stores each object of the storelist in the reverse
  //! order of which they had been added.
  Standard_EXPORT   PCDM_StoreStatus Store (Handle(CDM_MetaData)& aMetaData, TCollection_ExtendedString& aStatusAssociatedText) ;
  
  Standard_EXPORT   void Init() ;
  
  Standard_EXPORT   Standard_Boolean More()  const;
  
  Standard_EXPORT   void Next() ;
  
  Standard_EXPORT   Handle(CDM_Document) Value()  const;




  DEFINE_STANDARD_RTTI(CDF_StoreList)

protected:




private: 

  
  Standard_EXPORT   void Add (const Handle(CDM_Document)& aDocument) ;

  CDM_MapOfDocument myItems;
  CDM_ListOfDocument myStack;
  CDM_MapIteratorOfMapOfDocument myIterator;
  Handle(CDM_Document) myMainDocument;


};







#endif // _CDF_StoreList_HeaderFile
