//#
//#	File:		CMLkSItr.idl
//#
//#	Contains:	Definition of CMLinkSourceIterator 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 _CMLKSITR_
#define _CMLKSITR_

#ifndef _LKSRCITR_
#include "LkSrcItr.idl"
#endif

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

#ifdef __PRIVATE__

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

interface   CMDraft;
interface   ODLinkSource;

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

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

#endif

//=====================================================================================
// Class CMLinkSourceIterator
//=====================================================================================

interface CMLinkSourceIterator : ODLinkSourceIterator
{
#ifdef __PRIVATE__
	void InitCMLinkSourceIterator(in CMDraft draft);    
#endif
	
#ifdef __SOMIDL__
	implementation
	{
		functionprefix = CMLinkSourceIterator;

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

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

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

			CMDraft			fDraft;
			ODLinkSource	fLinkSource;
			CMObject		fCurrent;
			CMContainer		fContainer;
			CMProperty		fProperty;
			CMType			fType;
			ODULong			fSize;
			ODPtr			fBuffer;

		#endif
	};
#endif

};

#endif  // _CMLKSITR_
