#ifdef __PRIVATE__
//#							
//#	File:		DragDrpB.idl			** DO NOT REMERGE WITH APPLE CODE **
//#
//#	Contains:	Class definition for ODBaseDragAndDrop
//#
//#	Written by:	Vincent Lo
//#	Ported by:	Chris Andrew
//#
//#	Copyright:	c 1994 by Apple Computer, Inc., all rights reserved.
//#	          	c 1995 by Novell, Inc., all rights reserved.
//#
//#	Change History (most recent first):
//#
//#	To Do:
//#
#else
//#	Copyright:	c 1993-1994 by Apple Computer, Inc., all rights reserved.
//#	          	c 1995 by Novell, Inc., all rights reserved.
#endif

#ifndef _DRAGDRPB_
#define _DRAGDRPB_

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

//=====================================================================================
// Classes defined in this interface
//=====================================================================================

interface  ODBaseDragAndDrop;

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

interface	ODSession;
interface	ODPart;
interface	ODStorageUnit;
interface	ODFrame;

//=====================================================================================
// ODBaseDragAndDrop
//=====================================================================================

interface ODBaseDragAndDrop :  ODObject
{
	void Clear();
	
	ODStorageUnit  GetContentStorageUnit();
	
	ODDropResult StartDrag(in ODFrame srcFrame,
					in ODValueType imageType,
					in ODPtr image,
					out ODPart destPart,
					in ODPtr refCon);
#ifdef __PRIVATE__

	void InitBaseDragAndDrop(in ODSession session);

#endif

	#ifdef __SOMIDL__
	implementation
	{
		releaseorder:
			Clear,
			GetContentStorageUnit,
			StartDrag,
		#ifdef __PRIVATE__
			InitBaseDragAndDrop;
		#else
			reserved1;
		#endif

		majorversion = 1; minorversion = 0;
			
	};
	#endif

};

#endif // _DRAGDRPB_
