gwnavgeneration/common/generatorfilesystem.h Source File
Go to the documentation of this file.
28 class GeneratorFileSystem
32 enum FileOrDirType { NOT_FOUND, TYPE_FILE, TYPE_DIRECTORY };
35 void Setup(
const char* absoluteOutputBaseDir,
const char* relativeOutputDir);
37 const String& GetAbsoluteOutputDirectory()
const {
return m_absoluteOutputDirectory; }
39 String GetAbsoluteFileName(
const char* relativeFileName)
const {
return ConcatToPath(m_absoluteOutputDirectory, relativeFileName); }
41 String GetRelativeFileName(
const char* relativeFileName)
const {
return ConcatToPath(m_relativeOutputDirectory, relativeFileName); }
43 KyResult MakeDirectory(
const char* relativeFileName)
const {
return MakeDirectory_Absolute(GetAbsoluteFileName(relativeFileName).ToCStr()); }
45 KyResult MakeDirectoryForFile(
const char* relativeFileName)
const {
return MakeDirectoryForFile_Absolute(GetAbsoluteFileName(relativeFileName).ToCStr()); }
47 bool DoesFileOrDirExist(
const char* relativeFileName)
const {
return DoesFileOrDirExist_Absolute(GetAbsoluteFileName(relativeFileName).ToCStr()); }
49 FileOrDirType GetFileOrDirType(
const char* relativeFileOrDirName)
const {
return GetFileOrDirType_Absolute(GetAbsoluteFileName(relativeFileOrDirName).ToCStr()); }
52 KyResult RemoveFile(
const char* fileName)
const;
55 KyResult RemoveAllFilesInDirectory(
const char* dirNameRelativeToOutputDir)
const;
59 KyResult RemoveDirectoryAndFilesInIt(
const char* dirNameRelativeToOutputDir)
const;
62 static KyUInt32 GetLastSeparatorIdx(
const char* fileOrDirName);
63 static KyUInt32 GetLastSeparatorIdx(
const String& fileOrDirName);
64 static String GetContainingDirectory(
const char* fileOrDirName);
65 static String GetContainingDirectory(
const String& fileOrDirName);
66 static String GetFileSimpleName(
const char* fileName);
67 static String GetFileNameExtension(
const char* fileName);
68 static String GetFileNameWithoutExtension(
const char* fileName);
69 static String GetFileNameWithoutExtension(
const String& fileName);
70 static void RemoveTrailingSlashs(String& fileName);
71 static String RemoveTrailingSlashs(
const char* fileName);
72 static bool IsWinDrive(
const char* dirName);
73 static bool IsAbsolute(
const char* fileOrDirName);
76 static KyResult MakeDirectory_Absolute(
const char* absoluteDirName);
77 static KyResult MakeDirectory_Absolute(
const String& absoluteDirName);
78 static KyResult MakeDirectoryForFile_Absolute(
const char* absoluteFileName);
79 static bool DoesFileOrDirExist_Absolute(
const char* absoluteFileName);
80 static FileOrDirType GetFileOrDirType_Absolute(
const char* absoluteFileName);
81 static FileOrDirType GetFileOrDirType_Absolute(
const String& absoluteFileName);
82 static KyResult ListFilesInAbsoluteDirectory(
const char* dirName, KyArray<String>& filesList);
85 String ConcatToPath(
const String& basePath,
const char* relativeFileName)
const;
88 String m_absoluteOutputBaseDirectory;
89 String m_relativeOutputDirectory;
90 String m_absoluteOutputDirectory;
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:132
Navigation return code class.
Definition: types.h:108
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17