//#
//#	File:		CMLkItr.idl
//#
//#	Contains:	Definition of CMLinkIterator class.
//#
//#	Written by:	Craig Carper
//#
//#	Copyright:	c 1994 by Apple Computer, Inc., all rights reserved.
//#
//#	Change History (most recent first):
//#
//#		 <1>	 8/11/94	CC		first checked in
//#
//#	To Do:
//#

#ifndef _CMLKITR_
#define _CMLKITR_

#ifndef _LINKITR_
#include "LinkItr.idl"
#endif

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

#ifdef __PRIVATE__

//==============================================================================
// Classes used by this interface
//==============================================================================

interface   CMDraft;
interface   ODLink;

//==============================================================================
// Implementation Types
//==============================================================================

typedef somToken CMObject;
typedef somToken CMContainer;
typedef somToken CMProperty;
typedef somToken CMType;

#endif

//=====================================================================================
// Class CMLinkIterator
//=====================================================================================

interface CMLinkIterator : ODLinkIterator
{
#ifdef __PRIVATE__
	void InitCMLinkIterator(in CMDraft draft);    
#endif
	
#ifdef __SOMIDL__
	implementation
	{
		functionprefix = CMLinkIterator;

		override:
			somInit,
			somUninit,
			IsNotComplete,
			First,
			Next;

		releaseorder:
		#ifdef __PRIVATE__
			InitCMLinkIterator;
		#else
			reserved1;
		#endif

		#ifdef __PRIVATE__
	
			passthru C_xh =
				""
				"#include <CMAPI.h>"
				"";

			CMDraft			fDraft;
			ODLink			fLink;
			CMObject		fCurrent;
			CMContainer		fContainer;
			CMProperty		fProperty;
			CMType			fType;
			ODULong			fSize;
			ODPtr			fBuffer;

		#endif
	};
#endif

};

#endif  // _CMLKITR_
