#pragma once
#include "InterfaceWrapperMacro.h"

class IMimeTypeManager
{
public:
	///////////////////////////////////////////////////////////////////////////////////////////
	//	インターフェース
	///////////////////////////////////////////////////////////////////////////////////////////
	//!	ファイル名からMimeTypeを取得する
	virtual void GetMimeTypeByName(IStringPtr mimeType, LPCSTR name) = 0;

	//!	ファイル名からアイコンパスを取得
	virtual void GetIconPathByName(IStringPtr iconPath, LPCSTR name) = 0;

};
//!	インタフェース
typedef IMimeTypeManager* IMimeTypeManagerPtr;

/*!
	ラッパ
*/
class CIMimeTypeManagerWrap
{
public:
	//!	色々宣言
	DEFINE_MANAGER_WRAPPER_CONSTRUCTOR(CIMimeTypeManagerWrap, IMimeTypeManager, 1);

	///////////////////////////////////////////////////////////////////////////////////////////
	//	インターフェース
	///////////////////////////////////////////////////////////////////////////////////////////
	//!	ファイル名からMimeTypeを取得する
	virtual CString GetMimeTypeByName(CString name)
	{
		CIStringWrap	mimeType;
		m_ifPtr->GetMimeTypeByName(&mimeType, name);
		return(mimeType);
	}

	//!	ファイル名からアイコンパスを取得
	virtual CString GetIconPathByName(CString name)
	{
		CIStringWrap	iconPath;
		m_ifPtr->GetIconPathByName(&iconPath, name);
		return(iconPath);
	}
};