#ifdef __PRIVATE__
//#
//#	File:		NmSpcMg.idl
//#
//#	Contains:	Interface for ODNameSpaceManager class
//#
//#	Owned by:	Caia Grisar
//#
//#	Copyright:	c 1994 by Apple Computer, Inc., all rights reserved.
//#
//#	Change History (most recent first):
//#
//#		 <3>	11/11/94	CG		#1194203: Made the private method
//#									UpdatePrefernces public.
//#		 <2>	 8/24/94	CG		#1181622: Updated file ownership.
//#		 <1>	 7/29/94	CG		first checked in
//#		 <5>	 6/24/94	CG		Functionprefix added.
//#		 <4>	 6/14/94	CG		Removed fHeap and GetHeap().
//#		 <3>	 6/13/94	CG		Added fPreferences and related methods.
//#		 <2>	  6/8/94	CG		Reverted to earlier version.
//#		 <1>	  6/8/94	CG		first checked in
//#
//#	To Do:
//#
#else
//#	Copyright:	c 1993-1994 by Apple Computer, Inc., all rights reserved.
#endif

#ifndef _NMSPCMG_
#define _NMSPCMG_

#ifndef _NMSPCMGB_
#include "NmSpcMgB.idl"
#endif

#ifndef _ODTYPESB_
#include "ODTypesB.idl"
#endif

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

interface  ODNameSpaceManager;

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

interface  ODNameSpace;
interface  ODObjectNameSpace;
interface  ODSession;

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

typedef somToken Preferences;
#endif

//==============================================================================
// ODNameSpaceManager
//==============================================================================

interface ODNameSpaceManager :  ODBaseNameSpaceManager
{

    void InitNameSpaceManager(in ODSession session );

	void UpdatePreferences();

#ifdef __PRIVATE__

	void			SynchNSTable();

	Preferences*	GetPreferences();

#endif

#ifdef __SOMIDL__
	implementation
	{
		functionprefix = ODNameSpaceManager;
		override:
			somInit,
			somUninit,
			
			Purge,
			
			CreateNameSpace,
			DeleteNameSpace,
			HasNameSpace;
			
		releaseorder:
			InitNameSpaceManager,
			UpdatePreferences,
	
		#ifdef __PRIVATE__
			InitBaseNameSpaceManager,
			SynchNSTable,
			GetPreferences;
		#else
			reserved1,
			reserved2,
			reserved3;
		#endif
	
		majorversion = 1; minorversion = 0;
	
		#ifdef __PRIVATE__
		  ODObjectNameSpace	  	fNameSpaceTable;
		  ODSession  	    	fSession;
		  Preferences*			fPreferences;
	
		  passthru C_xh = "
			""
			"class Preferences;"
			"";
		#endif
  	};
#endif
};

#endif //# _NMSPCMG_
