/****************************************************************************************

		COM3DUtilities.h

		Copyright: (c) 2001 Eovia Corp. All rights reserved.

		Author:	Ray Dream
		Date:	3/2/98

		Revision History

		when		who			what & why
		==========	==========	======================================================
		3/3/99		Greg		Added 3DDBActionServer
		11/12/98	dsm			moved IChangeManager from COM3DUtilities to COMUtilities
		8/3/98		cph			moved IShMenuManager and IShActionManager to COMUtilities	

*****************************************************************************************/

#ifndef __COM3DUTILITIES__
#define __COM3DUTILITIES__

#if CP_PRAGMA_ONCE
#pragma once
#endif

#include "MCBasicTypes.h"
#include "MCCountedPtr.h"

struct IMCUnknown;
struct I3DShUtilities;
struct IShMovieUtilities;
struct I3DDBActionServer;

/*****************************************************************************\
*                                                                             *
*   Utilities pointers                                                        *
*                                                                             *
\*****************************************************************************/
// gShellUtilities keeps a pointer on the Shell Utilities interface as given by
// IExtension::ShellUtilitiesInit(). This is used as a convenient back-door
// to the Shell. gShellUtilities is NULL by default, and is initialized by
// InitUtilities()

void Init3DUtilities(IMCUnknown* utilities);
void Cleanup3DUtilities();

extern TMCCountedPtr<I3DShUtilities> gShell3DUtilities;
extern IShMovieUtilities*		gShMovieUtilities;
extern I3DDBActionServer* 		g3DDBActionServer;

#endif
