/**
 * 擬似コードによるマニュアル
 *
 * (C) 2009 Kiyobee
 */
class Base64
{
	/**
	 *	指定のファイルをbase64にエンコードした文字列を返す.
	 *	@param filename 入力元ファイル名
	 *	@return エンコードされた文字列
	 */
	function encode(filename);

	/**
	 *	base64文字列をデコードして、指定のファイルに書き出す.
	 *	@param base64str base64文字列
	 *	@param filename 出力先ファイル名
	 *	@return md5ダイジェスト
	 */
	function decode(base64str, filename);
};

/*
	使用例) Win32OLE と組み合わせて、バイナリデータのダウンロード
		Win32ole MSXML2.XMLHTTP の使用については OUTFOCUS wiki を参考にさせていただきました。
		see. http://hpcgi1.nifty.com/gutchie/wifky/wifky.pl?p=%B5%C8%CE%A4%B5%C8%CE%A4%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3%A4%CB%B4%D8%A4%B9%A4%EB%A5%E1%A5%E2+-+win32ole.dll#p1.3.4
*/
/*
Plugins.link("win32ole.dll");
Plugins.link("base64.dll");

var	xmlhttp	= new WIN32OLE("MSXML2.XMLHTTP");
xmlhttp.Open("GET", "http://www.hoge.co.jp/base64enc.php?fn=patch.xp3", true);
var	timer	= new Timer(onTimeout, "");
timer.interval	= 100;
timer.enabled	= true;
xmlhttp.Send;

function onTimeout()
{
	if(xmlhttp.ReadyState == 4)
	{
		if(xmlhttp.Status == 200)
		{
			Base64.decode(xmlhttp.ResponseText, System.exePath+"patch.xp3");
		}
		timer.enabled	= false;
		invalidate xmlhttp;
	}
}
*/
