/* @(#)Z 1.11 com/src/storage/idl/DgItmIt.idl, oddataxfer, od96nt, odnt9712d 97/03/21 16:48:46 (96/10/29 09:32:13) */
//#====START_GENERATED_PROLOG======================================
//#
//#
//#   COMPONENT_NAME: oddataxfer
//#
//#   CLASSES: none
//#
//#   ORIGINS: 82,27
//#
//#
//#   (C) COPYRIGHT International Business Machines Corp. 1995,1996
//#   All Rights Reserved
//#   Licensed Materials - Property of IBM
//#   US Government Users Restricted Rights - Use, duplication or
//#   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
//#   	
//#   IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
//#   ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
//#   PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR
//#   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
//#   USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
//#   OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
//#   OR PERFORMANCE OF THIS SOFTWARE.
//#
//#====END_GENERATED_PROLOG========================================
//#

#ifdef __PRIVATE__
//#
//#	File:	DgItmIt.idl	
//#
//#	Contains:	Definition for ODDragItemIterator.
//#
//#	Owned by:	Vincent Lo
//#
//#	Copyright:	(r) 1994 by Apple Computer, Inc., all rights reserved.
//#
//#	Change History (most recent first):
//#
//#		 <2>	  8/3/95	RR		#1257260: Collapse B classes. Remove
//#									somInit methods. Don't call IsInitialized
//#									or SubclassResponsibility
//#		 <1>	 6/28/94	VL		first checked in
//#
//#	To Do:
//#
#else
//#	Copyright:	(r) 1993 - 1995 by Apple Computer, Inc., all rights reserved.
#endif

#ifndef _DGITMIT_
#define _DGITMIT_

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

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

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

interface  ODStorageUnit;

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

#ifdef __PRIVATE__
//=====================================================================================
// Implementation Types
//=====================================================================================

#if defined(_PLATFORM_MACINTOSH_) || defined(_PLATFORM_WIN32_) || defined(_PLATFORM_OS2_) || defined(_PLATFORM_AIX_)
typedef somToken LinkedListIterator;
#endif //# _PLATFORM_MACINTOSH_ or _PLATFORM_WIN32_ or _PLATFORM_OS2_

#endif

//=====================================================================================
// ODDragItemIterator
//=====================================================================================

interface ODDragItemIterator : ODObject
{
 	ODStorageUnit   First();
	ODStorageUnit   Next();
	ODBoolean    	IsNotComplete();

#ifdef __PRIVATE__
#if defined(_PLATFORM_MACINTOSH_) || defined(_PLATFORM_WIN32_) || defined(_PLATFORM_OS2_) || defined(_PLATFORM_AIX_)
		void InitDragItemIterator(in LinkedListIterator* dragItemListIter); 
#endif //# _PLATFORM_MACINTOSH_ or _PLATFORM_WIN32_ or _PLATFORM_OS2_
#endif

#ifdef __SOMIDL__
#if defined(_PLATFORM_MACINTOSH_) || defined(_PLATFORM_WIN32_) || defined(_PLATFORM_OS2_) || defined(_PLATFORM_AIX_)
  implementation
  {
  	functionprefix = ODDragItemIterator;
	
    override:
		somUninit;
		
    releaseorder:
        First,
        Next,
        IsNotComplete,
#ifdef __PRIVATE__
		InitDragItemIterator;
#else
		reserved1;
#endif
		
    #ifdef __PRIVATE__
		passthru C_xh = "class LinkedListIterator;";
		LinkedListIterator*  fDragItemListIter;
    #endif //# __PRIVATE__
  };
#endif //# _PLATFORM_MACINTOSH_ or _PLATFORM_WIN32_ or _PLATFORM_OS2_
#endif //# __SOMIDL__
};

#endif  // _DGITMIT_
