////////////////////////////////////////////////////////////////////////////
// CCmdOption クラスのインタフェース宣言
//
// コマンドラインで指定されたオプションを保持・管理する
////////////////////////////////////////////////////////////////////////////

#if !defined( CMDOPTION_H_INCLUDED_ )
#define CMDOPTION_H_INCLUDED_

#include "TaEdit_std.h"

class CCmdOption
{
public:
	CCmdOption();
	~CCmdOption();

	// オプションを設定する
	void SetOption( int argc, char *argv[] );

	// 起動時に開くファイルを取得する。
	bool IsEnableFileName() const;
	const string& GetFileName() const;

	// 起動時にカーソルを設定する行番号
	bool IsEnableInitLine() const;
	int GetInitLine() const;

	// 構文強調表示に関する設定
	bool IsEnableLangType() const;
	enumLANGTYPE GetLangType() const;

	// argv[0]の値を参照
	const string& GetArg0() const;

	// サーバと接続するか否か
	bool IsConstructionMode() const;

protected:
	// ファイル名
	string FileName;		// 値
	bool IsEnableFileNameFlg;	// 有効か否か

	// 行番号
	int InitLine;			// 値
	bool IsEnableInitLineFlg;	// 有効か否か

	// 構文強調表示の種別
	enumLANGTYPE LangType;			// 値
	bool IsEnableLangTypeFlg;			// 有効か否か

	// モード
	// 真ならサーバを使用する
	bool IsConstructionModeFlg;

	// argv[0]の値
	string Arg0;
};

#endif // CMDOPTION_H_INCLUDED_

