duplicate_tree_detector.h revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
1// Copyright (c) 2011 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4// 5// This file declares a helper function that will check to see if a given folder 6// is "identical" to another (for some value of identical, see below). 7// 8 9#ifndef CHROME_INSTALLER_UTIL_DUPLICATE_TREE_DETECTOR_H_ 10#define CHROME_INSTALLER_UTIL_DUPLICATE_TREE_DETECTOR_H_ 11 12namespace base { 13class FilePath; 14} 15 16namespace installer { 17 18// Returns true if |dest_path| contains all the files from |src_path| in the 19// same directory structure and each of those files is of the same length. 20// src_path_ and |dest_path| must either both be files or both be directories. 21// Note that THIS IS A WEAK DEFINITION OF IDENTICAL and is intended only to 22// catch cases of missing files or obvious modifications. 23// It notably DOES NOT CHECKSUM the files. 24bool IsIdenticalFileHierarchy(const base::FilePath& src_path, 25 const base::FilePath& dest_path); 26 27} // namespace installer 28 29#endif // CHROME_INSTALLER_UTIL_DUPLICATE_TREE_DETECTOR_H_ 30