diff options
Diffstat (limited to 'clang/lib/DirectoryWatcher/DirectoryScanner.h')
-rw-r--r-- | clang/lib/DirectoryWatcher/DirectoryScanner.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/clang/lib/DirectoryWatcher/DirectoryScanner.h b/clang/lib/DirectoryWatcher/DirectoryScanner.h new file mode 100644 index 00000000000..55731225e25 --- /dev/null +++ b/clang/lib/DirectoryWatcher/DirectoryScanner.h @@ -0,0 +1,29 @@ +//===- DirectoryScanner.h - Utility functions for DirectoryWatcher --------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#include "clang/DirectoryWatcher/DirectoryWatcher.h" +#include "llvm/Support/FileSystem.h" +#include <string> +#include <vector> + +namespace clang { + +/// Gets names (filenames) of items in directory at \p Path. +/// \returns empty vector if \p Path is not a directory, doesn't exist or can't +/// be read from. +std::vector<std::string> scanDirectory(llvm::StringRef Path); + +/// Create event with EventKind::Added for every element in \p Scan. +std::vector<DirectoryWatcher::Event> +getAsFileEvents(const std::vector<std::string> &Scan); + +/// Gets status of file (or directory) at \p Path. +/// \returns llvm::None if \p Path doesn't exist or can't get the status. +llvm::Optional<llvm::sys::fs::file_status> getFileStatus(llvm::StringRef Path); + +} // namespace clang
\ No newline at end of file |