#pragma once
#include "InterfaceWrapperMacro.h"

//	リソース名
#define	HTML_RESOURCE_SERVER_RESPONSE		"ServerResponse.html"
#define	HTML_RESOURCE_DIRECTORY_LIST		"DirectoryList.html"


/*!
	サーバが出力するテキストを管理する
	標準のサーバレスポンスなど
*/
class IServerTextManager
{
public:
	virtual ~IServerTextManager(void) {}

	//!	サーバHTMLをロードする
	virtual void LoadServerHtmlFile(IStringPtr html, LPCSTR name) = 0;

	//!	サーバHTMLをロードする(リソースから)
	virtual void LoadServerHtmlResource(IStringPtr html, LPCSTR resName) = 0;
};
//!	インタフェース
typedef IServerTextManager* IServerTextManagerPtr;



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

	//!	サーバHTMLをロードする
	virtual CString LoadServerHtmlFile(CString name)
	{
		CIStringWrap	html;
		m_ifPtr->LoadServerHtmlFile(&html, name);
		return(html);
	}

	//!	サーバHTMLをロードする(リソースから)
	virtual CString LoadServerHtmlResource(CString resName)
	{
		CIStringWrap	html;
		m_ifPtr->LoadServerHtmlResource(&html, resName);
		return(html);
	}
};
