Index: trunk/ab5.0/jenga/include/common/Path.h
===================================================================
--- trunk/ab5.0/jenga/include/common/Path.h	(revision 622)
+++ trunk/ab5.0/jenga/include/common/Path.h	(revision 623)
@@ -58,4 +58,5 @@
 	static std::string MakeFullPath( const std::string &relativePath, const std::string &baseDirPath );
 	static std::string MakeFullPathByCurrentDirectory( const std::string &relativePath );
+	static std::string ExtractDirPath( const std::string &path );
 };
 
Index: trunk/ab5.0/jenga/include/jenga.h
===================================================================
--- trunk/ab5.0/jenga/include/jenga.h	(revision 622)
+++ trunk/ab5.0/jenga/include/jenga.h	(revision 623)
@@ -12,2 +12,3 @@
 #include "common/Path.h"
 #include "common/String.h"
+#include "common/VectorSupporter.h"
Index: trunk/ab5.0/jenga/projects/jenga/jenga.vcproj
===================================================================
--- trunk/ab5.0/jenga/projects/jenga/jenga.vcproj	(revision 622)
+++ trunk/ab5.0/jenga/projects/jenga/jenga.vcproj	(revision 623)
@@ -399,4 +399,8 @@
 				>
 			</File>
+			<File
+				RelativePath="..\..\include\common\VectorSupporter.h"
+				>
+			</File>
 		</Filter>
 		<Filter
Index: trunk/ab5.0/jenga/src/common/Path.cpp
===================================================================
--- trunk/ab5.0/jenga/src/common/Path.cpp	(revision 622)
+++ trunk/ab5.0/jenga/src/common/Path.cpp	(revision 623)
@@ -77,2 +77,8 @@
 	return MakeFullPath( relativePath, Jenga::Common::Environment::GetCurrentDir() );
 }
+std::string Jenga::Common::Path::ExtractDirPath( const std::string &filepath )
+{
+	Path path( filepath );
+	std::string result = path.GetDriveName() + path.GetDirName();
+	return result;
+}
