diff options
Diffstat (limited to 'source/slang/default-file-system.cpp')
| -rw-r--r-- | source/slang/default-file-system.cpp | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/source/slang/default-file-system.cpp b/source/slang/default-file-system.cpp index be171d37c..f9c66b7d7 100644 --- a/source/slang/default-file-system.cpp +++ b/source/slang/default-file-system.cpp @@ -51,10 +51,16 @@ SlangResult DefaultFileSystem::calcRelativePath(SlangPathType fromPathType, cons return SLANG_OK; } +SlangResult SLANG_MCALL DefaultFileSystem::getPathType( + const char* path, + SlangPathType* pathTypeOut) +{ + return Path::GetPathType(path, pathTypeOut); +} + SlangResult DefaultFileSystem::loadFile(char const* path, ISlangBlob** outBlob) { - // Default implementation that uses the `core` - // libraries facilities for talking to the OS filesystem. + // Default implementation that uses the `core` libraries facilities for talking to the OS filesystem. // // TODO: we might want to conditionally compile these in, so that // a user could create a build of Slang that doesn't include any OS @@ -93,7 +99,7 @@ SlangResult WrapFileSystem::loadFile(char const* path, ISlangBlob** outBlob) SlangResult WrapFileSystem::getCanoncialPath(const char* path, ISlangBlob** canonicalPathOut) { - // This isn't a very good 'canonical path' because the same file might be referenced + // This isn't a very good 'canonical path' because the same file might be referenced // multiple ways - for example by using relative paths. // But it's simple and matches slangs previous behavior. String canonicalPath(path); @@ -107,4 +113,15 @@ SlangResult WrapFileSystem::calcRelativePath(SlangPathType fromPathType, const c return DefaultFileSystem::getSingleton()->calcRelativePath(fromPathType, fromPath, path, pathOut); } +SlangResult WrapFileSystem::getPathType(const char* path, SlangPathType* pathTypeOut) +{ + // TODO: + // This might be undesirable in the longer term because it means that ISlangFileSystem will not be used + // to test file existence - but the file system will be. + // + // It would probably be better to use some kind of cache that uses 'loadFile' to load files, but also + // to test for existence. + return DefaultFileSystem::getSingleton()->getPathType(path, pathTypeOut); +} + }
\ No newline at end of file |
