
#pragma	once

#include	"Common.h"
#include	"ArcFile.h"

struct	SSusieInfo
{
	YCString				clsName;						// ファイル名
	YCString				clsVersion;						// バージョン情報
	YCString				clsInfo;						// プラグイン情報
	YCString				clsSupportFormat;				// サポートフォーマット
	BOOL				bConfig;						// コンフィグダイアログの有無
	YCString				clsPath;						// ファイルパス
	BOOL				bValidity;						// 有効性
	YCLibrary			cllPlugin;						// モジュール
};

class	CSusie
{
public:

	BOOL									Mount( CArcFile* pclArc );
	BOOL									Decode( CArcFile* pclArc );

	void									Init();
	void									Apply();

	void									LoadSpi( const YCString& rclsPathToSusieFolder );
	void									SaveSpi();

	std::vector<SSusieInfo>&				GetSusie() { return m_stsiMain; }
	std::vector<SSusieInfo>&				GetSusieTmp() { return m_stsiTemporary; }


private:

	static std::vector<SSusieInfo>			m_stsiMain;
	static std::vector<SSusieInfo>			m_stsiTemporary;
};
