13551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved. 23551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 33551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)// found in the LICENSE file. 43551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 53551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#include "net/disk_cache/simple/simple_index_file.h" 63551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 73551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#include <string> 83551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 93551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#include "base/files/file_enumerator.h" 103551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#include "base/files/file_path.h" 113551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 123551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)namespace disk_cache { 133551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 143551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)// static 153551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)bool SimpleIndexFile::TraverseCacheDirectory( 163551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) const base::FilePath& cache_path, 173551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) const EntryFileCallback& entry_file_callback) { 183551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) const base::FilePath current_directory(FILE_PATH_LITERAL(".")); 193551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) const base::FilePath parent_directory(FILE_PATH_LITERAL("..")); 203551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) const base::FilePath::StringType file_pattern = FILE_PATH_LITERAL("*"); 213551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) base::FileEnumerator enumerator( 223551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) cache_path, false /* recursive */, base::FileEnumerator::FILES, 233551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) file_pattern); 243551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) for (base::FilePath file_path = enumerator.Next(); !file_path.empty(); 253551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) file_path = enumerator.Next()) { 263551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) if (file_path == current_directory || file_path == parent_directory) 273551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) continue; 283551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) entry_file_callback.Run(file_path); 293551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) } 303551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) return true; 313551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)} 323551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 333551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)} // namespace disk_cache 34