blob: 39d06a2a20a6e7087528a55c8f396373ab66f945 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
// find-file-util.cpp
#include "directory-util.h"
#include "slang-com-helper.h"
using namespace Slang;
/* static */SlangResult DirectoryUtil::findDirectories(const Slang::String& directoryPath, Slang::List<Slang::String>& outPaths)
{
outPaths.clear();
CombinePathVisitor visitor(directoryPath, Path::TypeFlag::Directory);
SLANG_RETURN_ON_FAIL(Path::find(directoryPath, nullptr, &visitor));
outPaths.swapWith(visitor.m_paths);
return SLANG_OK;
}
/* static */SlangResult DirectoryUtil::findFilesMatchingPattern(const Slang::String& directoryPath, const char* pattern, Slang::List<Slang::String>& outPaths)
{
outPaths.clear();
CombinePathVisitor visitor(directoryPath, Path::TypeFlag::File);
SLANG_RETURN_ON_FAIL(Path::find(directoryPath, pattern, &visitor));
outPaths.swapWith(visitor.m_paths);
return SLANG_OK;
}
/* static */SlangResult DirectoryUtil::findFiles(const Slang::String& directoryPath, Slang::List<Slang::String>& outPaths)
{
return findFilesMatchingPattern(directoryPath, nullptr, outPaths);
}
|