import java.util.*;

/**
 * hedファイルが保持する情報を表わすクラス
 */
public class HedFileFormat {
    // 暗号化されていないヘッダ部分(12バイト)
    public byte[] mSignature; // シグネチャ 'FPMF'
    public int mEncodedSize; // 暗号化されている部分のサイズ
    public int mVersion; // バージョン(?)

    // 暗号化されているペイロード部分
    public byte[] mXxx1; // 固定値(?)(14バイト)

    public int mDatInfoSize; // dat情報のサイズ (mTemplate .. mMaxDatSize)
    public String mTemplate; // datファイル名のテンプレート
    public int mMaxDatIndex; // datファイルの最大インデックス値
    public int mMaxDatSize; // datファイルごとの最大ファイルサイズ

    public byte[] mXxx2; // 固定値(?)(8バイト)
    public byte[] mDatRand; // datファイルに対する乱数(257バイト)
    public byte[] mXxx3; // 固定値(?)(4バイト)

    public int mMemberInfoSize; // 要素ファイル情報のサイズ (mNrMembers .. eof)
    public int mNrMembers; // 要素ファイルの数
    public ArrayList<HedMember> mMembers; // 要素ファイル情報のリスト

    public HedFileFormat() {
	mSignature = new byte[4];
	mXxx1 = new byte[14];
	mXxx2 = new byte[8];
	mXxx3 = new byte[4];
	mDatRand = null;
	mMembers = new ArrayList<HedMember>();
    }
}
