////////////////////////////////////////////////////////////////////////////
// CFileReader クラスのインタフェース宣言
//
////////////////////////////////////////////////////////////////////////////

#if !defined( FILEREADER_H_INCLUDED_ )
#define FILEREADER_H_INCLUDED_

#include "TaEdit_std.h"

#include "LineData.h"
#include "TaEditProcessingDlg.h"
#include "ErrorBool.h"
#include "TaEditDoc.h"


class CFileReader : public CProcesingObj
{
public:
	CFileReader();
	~CFileReader();

	// 情報を設定
	void SetInfo( const string &argFileName, T_LineData *argData );

	// 読み込み用スレッドのエントリポイント
	virtual void run();

	// 終了可能か否か
	virtual bool EnableExit() const;

	// 割り込み
	virtual void Interrupt();

	// エラー情報を取得
	CErrorBool GetErrorInfo() const;

	// 変更したか否かを取得
	bool IsModified() const;

protected:
	string FileName;
	T_LineData *pData;
	volatile bool EnableExitFlg;	// 終了可能か否か
	CErrorBool ErrorInfo;			// エラー情報
	bool IsModifiedFlg;				// データを変更したか否か
	bool InterruptFlg;				// 割り込まれたか否か
};

#endif // FILEREADER_H_INCLUDED_

