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

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

		Author:	charles
		Date:	9/17/2005

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

#ifndef __SFileItem__
#define __SFileItem__

#if CP_PRAGMA_ONCE
#pragma once
#endif

#include "MCFileType.h"

//structure that matches the 2Din, 2Dou, 3Din,3Dou resources

class SFileItem
{
public:
	int32		fFamilySignature;
	int32		fClassSignature;
	int32		fFlags;
	IDType		fCreator;  // For Macintosh exporter only
	TMCFileType	fFileTypeRec;
	
	MCFileTypeID	GetInternalFileType() const			{ return fFileTypeRec.GetID(); }	//Gives the (unique) file type  to use internaly

	//For Localisation, the internal data MUST STAY THE SAME between a get and a set
	void GetOrSetStrings(TMCClassArray<TMCDynamicString>& strings, boolean doGet);
	void GetStringsInfo	(TMCClassArray<TMCDynamicString>& outDescriptions, TMCArray<int32>& outMaxLengths);
};


TMCResourceStream& operator >> (TMCResourceStream& stream, SFileItem& outFileItem);
TMCResourceStream& operator << (TMCResourceStream& stream, const SFileItem& inFileItem);








#endif
