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 12 namespace base { 13 class FilePath; 14 } 15 16 namespace 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. 24 bool 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