#ifdef __PRIVATE__
//#
//#	File:		ODBindng.idl			** DO NOT REMERGE WITH APPLE CODE **
//#
//#	Contains:	Interface file for ODBinding class
//#
//#	Written by:	Caia Grisar
//#	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 _ODBINDNG_
#define _ODBINDNG_

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

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

//=====================================================================================
// Classes used by this interface
//=====================================================================================
interface ODSession;
interface ODStorageUnit;
#ifdef __PRIVATE__
interface ODPartRegistry;
#endif

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

//=====================================================================================
// ODBinding
//=====================================================================================

interface ODBinding : ODObject
{
	void InitBinding(in ODSession session);
	ODEditor ChooseEditorForPart(in ODStorageUnit thePartSU, in ODType newKind );
	ODContainerSuite GetContainerSuite(in ODContainerType containerType);
#ifdef __PRIVATE__
	ODEditor GetPreferredEditorForPart(in ODStorageUnit thePartSU);
	ODEditor ChooseDirectEditorForPart(in ODStorageUnit thePartSU, in ODType newKind );
#endif

	#ifdef __SOMIDL__
	implementation
	{
		override:
			somInit,
			somUninit;
			
		releaseorder:
			InitBinding,
			ChooseEditorForPart,
			GetContainerSuite,
			#ifdef __PRIVATE__
				GetPreferredEditorForPart,
				ChooseDirectEditorForPart;
			#else
				reserved1,
				reserved2;
			#endif
			
		majorversion = 1; minorversion = 0;
	
		#ifdef __PRIVATE__
			ODSession 			fSession;
			ODPartRegistry		fRegistry;
		#endif
	};
	#endif
};

#endif // _ODBINDNG_
