#ifdef __PRIVATE__
//#
//#	File:		FileCtr.idl
//#
//#	Contains:	class definition for Bento File Container
//#
//#	Written by:	Vincent Lo
//#
//#	Copyright:	c 1994 by Apple Computer, Inc., all rights reserved.
//#
//#	Change History (most recent first):
//#
//#		 <4>	 9/23/94	VL		1184272: ContainerID is now a sequence of
//#									octets.
//#		 <3>	 6/30/94	CC		Added private methods GetCMContainer() &
//#									GetHandlers() and private fields
//#									fCMContainer & fHandlers.
//#		 <2>	 6/15/94	CC		Added functionprefix to eliminate Undefined
//#									entry, name: "_%CREATE".
//#		 <1>	  6/8/94	VL		first checked in
//#
//#	To Do:
//#
#else
//#	Copyright:	c 1993-1994 by Apple Computer, Inc., all rights reserved.
#endif

#ifndef _FILECTR_
#define _FILECTR_

#ifndef _CMCTR_
#include "CMCtr.idl"
#endif

//==============================================================================
// Classes defined in this interface
//==============================================================================
interface   ODFileContainer;
#ifdef __PRIVATE__
typedef somToken AliasHandle;
typedef somToken PlatformFile;
#endif

//==============================================================================
// ODContainer
//==============================================================================

interface ODFileContainer  :  ODBentoContainer 
{
#ifdef __PRIVATE__
	PlatformFile* GetPlatformFile ();
#endif
#ifdef __SOMIDL__
	implementation
	{
	functionprefix = ODFileContainer;
	override:
		somInit,
		somUninit,
		Purge,
		GetID,
		GetName,
		SetName,
		#ifdef __PRIVATE__
			InitContainer,
			GetCMContainer,
			GetHandlers,
		#endif
		Create,
		Open,
		Close;
	releaseorder:
	#ifdef __PRIVATE__
		GetPlatformFile;
	#else
		reserved1;
	#endif
	#ifdef __PRIVATE__
		passthru C_xih = 
				"class ODBentoHandlers;"
				"#include <CMAPI.h>"
#ifdef PLATFORM_MACINTOSH
				"#include <Aliases.h>"
#endif
				"class PlatformFile;"
				"";
		passthru C_xh = 
				"class PlatformFile;"
				"";
		CMContainer			fCMContainer;
		ODBentoHandlers*	fHandlers;
#ifdef PLATFORM_MACINTOSH
		AliasHandle			fAlias;
#endif
		PlatformFile*		fPlatformFile;
	#endif
	};
#endif
};


#endif  // _FILECTR_

