#ifdef __PRIVATE__
//#
//#	File:		NmSpcMgB.idl
//#
//#	Contains:	Interface for ODBaseNameSpaceManager class
//#
//#	Owned by:	Caia Grisar
//#
//#	Copyright:	c 1994 by Apple Computer, Inc., all rights reserved.
//#
//#	Change History (most recent first):
//#
//#		 <5>	 8/24/94	CG		#1181622: Updated file ownership.
//#		 <4>	 7/29/94	CG		Added ODNSTypeSpec param  CreateNameSpace.
//#		 <3>	 6/24/94	CG		Added functionprefix.
//#		 <2>	 6/14/94	CG		Removed fHeap and GetHeap().
//#		 <1>	  6/8/94	CG		first checked in
//#		 <1>	  6/8/94	CG		first checked in
//#
//#	To Do:
//#
#else
//#	Copyright:	c 1993-1994 by Apple Computer, Inc., all rights reserved.
#endif

#ifndef _NMSPCMGB_
#define _NMSPCMGB_

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

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

interface  ODBaseNameSpaceManager;

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

interface  ODNameSpace;
interface  ODSession;

//==============================================================================
// ODBaseNameSpaceManager
//==============================================================================

interface ODBaseNameSpaceManager :  ODObject
{

   ODNameSpace CreateNameSpace(in ODISOStr spaceName,
   								 in ODNameSpace inheritsFrom,
								 in ODULong numExpectedEntries,
								 in ODNSTypeSpec	type);

   void DeleteNameSpace(in ODNameSpace theNameSpace);

   ODNameSpace HasNameSpace(in ODISOStr spaceName);

#ifdef __PRIVATE__

    void InitBaseNameSpaceManager(in ODSession session );

#endif

#ifdef __SOMIDL__
	implementation
	{
		functionprefix = ODBaseNameSpaceManager;
		override:
			somInit,
			somUninit,
			Purge;
			
		releaseorder:
			CreateNameSpace,
			DeleteNameSpace,
			HasNameSpace,
		#ifdef __PRIVATE__
			InitBaseNameSpaceManager;
		#else
			reserved1;
		#endif
	
		majorversion = 1; minorversion = 0;

	};
#endif
};

#endif //# _NMSPCMGB_
