// Copyright (c) 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "net/disk_cache/simple/simple_index_file.h" #include #include "base/files/file_enumerator.h" #include "base/files/file_path.h" namespace disk_cache { // static bool SimpleIndexFile::TraverseCacheDirectory( const base::FilePath& cache_path, const EntryFileCallback& entry_file_callback) { const base::FilePath current_directory(FILE_PATH_LITERAL(".")); const base::FilePath parent_directory(FILE_PATH_LITERAL("..")); const base::FilePath::StringType file_pattern = FILE_PATH_LITERAL("*"); base::FileEnumerator enumerator( cache_path, false /* recursive */, base::FileEnumerator::FILES, file_pattern); for (base::FilePath file_path = enumerator.Next(); !file_path.empty(); file_path = enumerator.Next()) { if (file_path == current_directory || file_path == parent_directory) continue; base::FileEnumerator::FileInfo info = enumerator.GetInfo(); entry_file_callback.Run(file_path, base::Time(), info.GetLastModifiedTime(), info.GetSize()); } return true; } } // namespace disk_cache