//#
//#	File:		TypLsItr.idl
//#
//#	Contains:	Definition of ODTypeListIterator.
//#
//#	Written by:	Craig Carper
//#
//#	Copyright:	c 1994 by Apple Computer, Inc., all rights reserved.
//#
//#	Change History (most recent first):
//#
//#		 <2>	 6/23/94	CC		Added functionprefix.
//#		 <1>	  6/8/94	VL		first checked in
//#
//#	To Do:
//#

#ifndef _TYPLSITR_
#define _TYPLSITR_

#ifndef _ODOBJECT_
#include "ODObject.idl"
#endif

//=====================================================================================
// Classes defined in this interface
//=====================================================================================
interface  ODTypeListIterator;

//=====================================================================================
// Classes used by this interface
//=====================================================================================
interface  ODTypeList;
#ifdef __PRIVATE__
typedef somToken OrderedCollectionIterator;
#endif

//=====================================================================================
// Class ODTypeListIterator
//=====================================================================================

interface ODTypeListIterator : ODObject
{
	ODBoolean IsNotComplete();
	ODType First();
	ODType Next();
    
#ifdef __PRIVATE__
	void InitODTypeListIterator(in ODTypeList typeList);    
#endif
	
#ifdef __SOMIDL__
	implementation
	{
		functionprefix = ODTypeListIterator;
		override:
			somInit,
			somUninit;
		releaseorder:
			IsNotComplete,
			First,
			Next,
		#ifdef __PRIVATE__
			InitODTypeListIterator;
		#else
			reserved1;
		#endif
		#ifdef __PRIVATE__
			passthru C_xih = "class OrderedCollectionIterator;";
			ODTypeList					fTypeList;
			OrderedCollectionIterator*	fIterator;
		#endif
	};
#endif

};

#endif  // _TYPLSITR_
