/*-----------------------------------------------------------------------------
[名称]	AAHanger.h
[概要]	AA情報クラスのヘッダ
[備考]	なし
[履歴]	2003-03-17	NC		新規作成(moralog)
-----------------------------------------------------------------------------*/
#if !defined(AFX_AAHANGER_H_INCLUDED_)
#define AFX_AAHANGER_H_INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000


//-----------------------------------------------------------------------------
// インクルード
//-----------------------------------------------------------------------------
#include <afxtempl.h>

//-----------------------------------------------------------------------------
// 定数
//-----------------------------------------------------------------------------
// ぎこぺに関するデータフォーマットは決めうち
const CString f_strStart(_T("[MojieName="));		// AAデータ開始パターン
const char f_charBracket = ']';						// AAデータ開始パターンの終端
const CString f_strEnd(_T("[END]"));				// AAデータ終了パターン
const char f_strCRLF[] ={ 0x0D, 0x0A, 0x00 };		// 改行パターン



/*-----------------------------------------------------------------------------
[名称]	AA情報クラス
[用途]	AAの具体的情報のカプセル。
[備考]	AAの実体でなく、ファイル内位置のインデクスを持つ。
-----------------------------------------------------------------------------*/
class CAAHanger  
{
public:
	// 生成
	CAAHanger();

	// 破棄
	virtual ~CAAHanger();

	// ギコペデータの読み込み
	BOOL	Load( CArchive& File );

	// 個数取得
	long	GetCount(){ return( m_aLinez.GetSize() ); };

	// AA位置取得
	long	GetIndex( long idxAA );

	// AA名称取得
	CString	GetName( long idxAA );

	// AA取得
	CString	GetAA( long idxAA );

	// パス名取得
	CString	GetFilePathName(){ return( m_strFilePathName ); };
	void SetFilePathName( CString strFilePathName ){ m_strFilePathName = strFilePathName; };

	long	AddAA(
		const CString&	strName,
		const long&		posLine
	);

protected:
	CString			m_strFileName;			// AAデータファイル名称 [-] (-)
	CString			m_strFilePathName;		// AAデータファイル名称 [-] (-)
	CDWordArray		m_aLinez;				// AAデータシーク位置 [-] (-)
	CStringArray	m_astrNamez;			// AA名称 [-] (-)
};

#endif // !defined(AFX_AAHANGER_H_INCLUDED_)
