#include "content/browser/file_system_access/file_path_watcher/file_path_watcher.h"
#include <memory>
#include <utility>
#include "base/check.h"
#include "base/files/file_path.h"
#include "build/build_config.h"
namespace content {
FilePathWatcher::ChangeInfo::ChangeInfo() = default;
FilePathWatcher::ChangeInfo::ChangeInfo(
FilePathWatcher::FilePathType file_path_type,
FilePathWatcher::ChangeType change_type,
base::FilePath modified_path)
: … { … }
FilePathWatcher::ChangeInfo::ChangeInfo(
FilePathWatcher::FilePathType file_path_type,
FilePathWatcher::ChangeType change_type,
base::FilePath modified_path,
std::optional<base::FilePath> moved_from_path)
: … { … }
FilePathWatcher::ChangeInfo::~ChangeInfo() = default;
FilePathWatcher::ChangeInfo::ChangeInfo(const FilePathWatcher::ChangeInfo&) =
default;
FilePathWatcher::ChangeInfo::ChangeInfo(FilePathWatcher::ChangeInfo&&) =
default;
FilePathWatcher::ChangeInfo& FilePathWatcher::ChangeInfo::operator=(
const FilePathWatcher::ChangeInfo&) = default;
FilePathWatcher::ChangeInfo& FilePathWatcher::ChangeInfo::operator=(
FilePathWatcher::ChangeInfo&&) noexcept = default;
FilePathWatcher::~FilePathWatcher() { … }
bool FilePathWatcher::RecursiveWatchAvailable() { … }
FilePathWatcher::PlatformDelegate::PlatformDelegate() = default;
FilePathWatcher::PlatformDelegate::~PlatformDelegate() { … }
bool FilePathWatcher::Watch(const base::FilePath& path,
Type type,
const Callback& callback) { … }
bool FilePathWatcher::WatchWithOptions(const base::FilePath& path,
const WatchOptions& options,
const Callback& callback) { … }
bool FilePathWatcher::WatchWithChangeInfo(
const base::FilePath& path,
const WatchOptions& options,
const CallbackWithChangeInfo& callback) { … }
bool FilePathWatcher::PlatformDelegate::WatchWithOptions(
const base::FilePath& path,
const WatchOptions& options,
const Callback& callback) { … }
bool FilePathWatcher::PlatformDelegate::WatchWithChangeInfo(
const base::FilePath& path,
const WatchOptions& options,
const CallbackWithChangeInfo& callback) { … }
FilePathWatcher::FilePathWatcher(std::unique_ptr<PlatformDelegate> delegate) { … }
#if BUILDFLAG(IS_WIN)
base::Lock& FilePathWatcher::GetWatchThreadLockForTest() {
return impl_->GetWatchThreadLockForTest();
}
#endif
}