16d528ed9Sopenharmony_ci// Copyright (c) 2013 The Chromium Authors. All rights reserved. 26d528ed9Sopenharmony_ci// Use of this source code is governed by a BSD-style license that can be 36d528ed9Sopenharmony_ci// found in the LICENSE file. 46d528ed9Sopenharmony_ci 56d528ed9Sopenharmony_ci#include "base/files/file_enumerator.h" 66d528ed9Sopenharmony_ci 76d528ed9Sopenharmony_ci#include "base/files/file_util.h" 86d528ed9Sopenharmony_ci 96d528ed9Sopenharmony_cinamespace base { 106d528ed9Sopenharmony_ci 116d528ed9Sopenharmony_ciFileEnumerator::FileInfo::~FileInfo() = default; 126d528ed9Sopenharmony_ci 136d528ed9Sopenharmony_cibool FileEnumerator::ShouldSkip(const FilePath& path) { 146d528ed9Sopenharmony_ci FilePath::StringType basename = path.BaseName().value(); 156d528ed9Sopenharmony_ci return basename == FILE_PATH_LITERAL(".") || 166d528ed9Sopenharmony_ci (basename == FILE_PATH_LITERAL("..") && 176d528ed9Sopenharmony_ci !(INCLUDE_DOT_DOT & file_type_)); 186d528ed9Sopenharmony_ci} 196d528ed9Sopenharmony_ci 206d528ed9Sopenharmony_cibool FileEnumerator::IsTypeMatched(bool is_dir) const { 216d528ed9Sopenharmony_ci return (file_type_ & 226d528ed9Sopenharmony_ci (is_dir ? FileEnumerator::DIRECTORIES : FileEnumerator::FILES)) != 0; 236d528ed9Sopenharmony_ci} 246d528ed9Sopenharmony_ci 256d528ed9Sopenharmony_ci} // namespace base 26