summaryrefslogtreecommitdiffstats
path: root/source/core/slang-archive-file-system.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/core/slang-archive-file-system.cpp')
-rw-r--r--source/core/slang-archive-file-system.cpp107
1 files changed, 0 insertions, 107 deletions
diff --git a/source/core/slang-archive-file-system.cpp b/source/core/slang-archive-file-system.cpp
index 88093239b..63e1c0b01 100644
--- a/source/core/slang-archive-file-system.cpp
+++ b/source/core/slang-archive-file-system.cpp
@@ -23,113 +23,6 @@
namespace Slang
{
-// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! StringSliceIndexMap !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
-StringSliceIndexMap::CountIndex StringSliceIndexMap::add(const UnownedStringSlice& key, Index valueIndex)
-{
- StringSlicePool::Handle handle;
- m_pool.findOrAdd(key, handle);
- const CountIndex countIndex = StringSlicePool::asIndex(handle);
- if (countIndex >= m_indexMap.getCount())
- {
- SLANG_ASSERT(countIndex == m_indexMap.getCount());
- m_indexMap.add(valueIndex);
- }
- else
- {
- m_indexMap[countIndex] = valueIndex;
- }
- return countIndex;
-}
-
-StringSliceIndexMap::CountIndex StringSliceIndexMap::findOrAdd(const UnownedStringSlice& key, Index defaultValueIndex)
-{
- StringSlicePool::Handle handle;
- m_pool.findOrAdd(key, handle);
- const CountIndex countIndex = StringSlicePool::asIndex(handle);
- if (countIndex >= m_indexMap.getCount())
- {
- SLANG_ASSERT(countIndex == m_indexMap.getCount());
- m_indexMap.add(defaultValueIndex);
- }
- return countIndex;
-}
-
-void StringSliceIndexMap::clear()
-{
- m_pool.clear();
- m_indexMap.clear();
-}
-
-// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ImplicitDirectoryCollector !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
-ImplicitDirectoryCollector::ImplicitDirectoryCollector(const String& canonicalPath, bool directoryExists) :
- m_directoryExists(directoryExists)
-{
- StringBuilder buffer;
- if (canonicalPath != ".")
- {
- buffer << canonicalPath;
- buffer.append('/');
- }
- m_prefix = buffer.ProduceString();
-}
-
-void ImplicitDirectoryCollector::addRemainingPath(SlangPathType pathType, const UnownedStringSlice& inPathRemainder)
-{
- // If it's zero length we probably don't want to add it
- if (inPathRemainder.getLength() == 0)
- {
- // It's empty so don't add normal way - implies the directory exists
- m_directoryExists = true;
- return;
- }
-
- UnownedStringSlice pathRemainder(inPathRemainder);
- const Index slashIndex = pathRemainder.indexOf('/');
-
- // If we have a following / that means it's an implicit directory.
- if (slashIndex >= 0)
- {
- pathType = SLANG_PATH_TYPE_DIRECTORY;
- pathRemainder = UnownedStringSlice(pathRemainder.begin(), pathRemainder.begin() + slashIndex);
- }
-
- const Index countIndex = m_map.findOrAdd(pathRemainder, pathType);
- SLANG_UNUSED(countIndex);
- // Make sure they are the same type
- SLANG_ASSERT(SlangPathType(m_map.getValueAt(countIndex)) == pathType);
-}
-
-void ImplicitDirectoryCollector::addPath(SlangPathType pathType, const UnownedStringSlice& canonicalPath)
-{
- if (hasPrefix(canonicalPath))
- {
- UnownedStringSlice remainder = getRemainder(canonicalPath);
- addRemainingPath(pathType, remainder);
- }
-}
-
-SlangResult ImplicitDirectoryCollector::enumerate(FileSystemContentsCallBack callback, void* userData)
-{
- const Int count = m_map.getCount();
-
- for (Index i = 0; i < count; ++i)
- {
- const auto& pair = m_map.getAt(i);
-
- UnownedStringSlice path = pair.Key;
- SlangPathType pathType = SlangPathType(pair.Value);
-
- // Note *is* 0 terminated in the pool
- // Let's check tho
- SLANG_ASSERT(path.begin()[path.getLength()] == 0);
- callback(pathType, path.begin(), userData);
- }
-
- return getDirectoryExists() ? SLANG_OK : SLANG_E_NOT_FOUND;
-}
-
SlangResult loadArchiveFileSystem(const void* data, size_t dataSizeInBytes, ComPtr<ISlangFileSystemExt>& outFileSystem)
{
ComPtr<ISlangMutableFileSystem> fileSystem;