1// Copyright 2014 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#ifndef SYNC_INTERNAL_API_PUBLIC_UTIL_SYNC_DB_UTIL_H_
6#define SYNC_INTERNAL_API_PUBLIC_UTIL_SYNC_DB_UTIL_H_
7
8#include "base/callback.h"
9#include "base/memory/ref_counted.h"
10#include "base/time/time.h"
11#include "sync/base/sync_export.h"
12
13namespace base {
14class FilePath;
15class SingleThreadTaskRunner;
16}  // namespace base
17
18namespace syncer {
19
20// Check integrity of sync DB under |sync_dir|. Invoke |callback| with last
21// modified time if integrity check passes, with NULL time otherwise. This
22// is called on either sync thread or IO thread.
23SYNC_EXPORT void CheckSyncDbLastModifiedTime(
24    const base::FilePath& sync_dir,
25    scoped_refptr<base::SingleThreadTaskRunner> callback_runner,
26    base::Callback<void(base::Time)> callback);
27
28}  // namesapce syncer
29
30#endif  // SYNC_INTERNAL_API_PUBLIC_UTIL_SYNC_DB_UTIL_H_
31