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