#pragma once
#include "WorkspaceString.h"

#define	WS_NODE_WALKER_PATH_SIZE	512

class CWorkspaceNodeWalker
{
public:
	CWorkspaceNodeWalker(void);
	virtual ~CWorkspaceNodeWalker(void);

	//!	パスをセットする
	void SetPath(LPCSTR path);

	//!	現在のノードを取得
	LPCSTR GetCurrentNode();

	//!	現在が最後のノードか？
	int CurrentIsLastNode();

	//!	次のノードへ移動
	int WalkToNextNode();


protected:
	////////////////////////////////////////////////////////////////////////////
	//	補助
	////////////////////////////////////////////////////////////////////////////
	//!	ノードのセットアップ
	void SetupCurrentNode();

	////////////////////////////////////////////////////////////////////////////
	//	メンバ変数
	////////////////////////////////////////////////////////////////////////////
	//!	パス
	CWorkspaceString<WS_NODE_WALKER_PATH_SIZE>	m_pathBuf;

	//!	現在のポインタ
	LPSTR										m_currentNode;

	//!	次のポインタ
	LPSTR										m_nextNode;
};
