#ifdef __PRIVATE__
//#
//#	File:		ODDesc.idl
//#
//#	Contains:	Class definition for ODDesc
//#
//#	Owned by:	Nick Pilch
//#
//#	Copyright:	 1995 by Apple Computer, Inc., all rights reserved.
//#
//#	Change History (most recent first):
//#
//#		 <1>	 1/26/95	NP		first checked in
//#
//#	To Do:
//#
#else
//#	Copyright: 1995 by Apple Computer, Inc., all rights reserved.
#endif

#ifndef _ODDESC_
#define _ODDESC_

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

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

interface  ODDesc;

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

interface  ODObject;

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

typedef somToken AEDesc;
#endif

//==============================================================================
// ODDesc
//==============================================================================

interface ODDesc : ODObject
{
	void InitODDesc();
#ifdef __PRIVATE__
//	ODByteArray GetData();
//	void SetData(in ODByteArray data);
	AEDesc* GetAEDesc();
	void SetAEDesc(in AEDesc* desc);
	void SetHadToAllocate();
#endif
#ifdef	__SOMIDL__
	implementation
	{
  		functionprefix = ODDesc;
		override:
			somInit,
			somUninit;
		releaseorder:
			somInit,
			somUninit,
			InitODDesc,
		#ifdef	__PRIVATE__
			GetAEDesc,
			SetAEDesc,
			SetHadToAllocate;
		#else
			reserved1,
			reserved2,
			reserved3;
		#endif
		#ifdef __PRIVATE__
			passthru	C_xh	=
									""
									"struct	AEDesc;"
									"";
			AEDesc*		fDesc;
			ODBoolean	fHadToAllocate; //# if fDesc was allocated dynamically
										//#	and must be destroyed when this
										//# class is deleted.
		#endif
	};
#endif
};

#endif	//#	_ODDESC_
