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

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

		Author:	Arnaud
		Date:	1/24/2005

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

#ifndef __IExPrefsComponent__
#define __IExPrefsComponent__

#if CP_PRAGMA_ONCE
#pragma once
#endif


#include "ComTypes.h"

class TMCCommandBindingContextList;
	
MCDEFINE_GUID_H(IID_IExPrefsComponent);


/// \addtogroup BasicCOM
/// \{

/// IExPrefsComponent is a component used to store the preferences of another component. (through its pmap)
/// It can also store user defined key bindings
/// Those preferences are stored on a per user basis.
///
/// \see IShPrefsComponent
///
struct IExPrefsComponent : public IMCUnknown
{
	// ****************************************************************************
	//								GetCommandBindingContexts
	// 
	/// Returns a pointer to the binding contexts of the component, null if it has none
	/// 
	/// 
	virtual TMCCommandBindingContextList* MCCOMAPI GetCommandBindingContexts() = 0;
};


/// \}

#endif


