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

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

		Author:	Arnaud
		Date:	4/2/2004

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

#ifndef __MCFileTypeFamily__
#define __MCFileTypeFamily__

#if CP_PRAGMA_ONCE
#pragma once
#endif


#include "MCBasicTypes.h"
#include "MCClassArray.h"
#include "MCString.h"



#define kAnyFile '****'
#define kNullFileType IDTYPE(0,0,0,0)


typedef IDType MCTypeFamilyID;

/// \addtogroup MCCore
/// \{

/// This should either not be in the sdk or have methods to deal with it.
///
class TMCFileTypeFamily : public TMCObject
{
public:
	MCTypeFamilyID		GetFileTypeFamilyID	()							{ return fFileTypeFamilyID;}
	void				SetFileTypeFamilyID	(int32 fileTypeFamilyID)	{ fFileTypeFamilyID = fileTypeFamilyID;}
	void				GetName				(TMCString& name) const		{ name = fFileFamilyName;}
	const TMCString&	GetName				(void) const				{ return fFileFamilyName;}
	void				SetName				(const TMCString& name)		{ fFileFamilyName=name;}// 31 characters max
protected:
	MCTypeFamilyID		fFileTypeFamilyID;
	TMCString31			fFileFamilyName;
};

/// \}

typedef TMCClassArray<TMCFileTypeFamily> TMCFileTypeFamilyList;


#endif
