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

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

		Author:	Eric
		Date:	8/8/2006

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

#ifndef __ITranscoder__
#define __ITranscoder__

#if CP_PRAGMA_ONCE
#pragma once
#endif

#include "MCCompObj.h"
#include "MCArray.h"

#define kNoUnicodeChar 0xFFFF
MCDEFINE_GUID_H(IID_ITranscoder);
enum TranscoderType { kAnsiTranscoder, kMacTranscoder, kUTF8Transcoder, kJpnTranscoder, kPlatformDependent };

struct ITranscoder : public IMCUnknown
{
	virtual uint16			MCCOMAPI Encode	(uint8 c) = 0;
	virtual const TMCArray<uint8>&	MCCOMAPI Decode	(uint16 c) = 0;
	virtual TranscoderType	MCCOMAPI GetType() = 0;
	virtual const uint8*	MCCOMAPI GetIdentifier() = 0;
};


#endif

