1// Copyright 2013 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 CHROME_BROWSER_MEDIA_GALLERIES_FILEAPI_FILE_PATH_WATCHER_UTIL_H_
6#define CHROME_BROWSER_MEDIA_GALLERIES_FILEAPI_FILE_PATH_WATCHER_UTIL_H_
7
8#include "base/basictypes.h"
9#include "base/callback_forward.h"
10#include "base/files/file_path.h"
11#include "base/files/file_path_watcher.h"
12
13typedef base::Callback<void(scoped_ptr<base::FilePathWatcher> watcher)>
14    FileWatchStartedCallback;
15
16// Called on the MediaTaskRunner to begin a file watch.
17// |watch_started_callback| is responsible for taking ownership of the
18// file watcher upon start. All callbacks are run on the MediaTaskRunner.
19void StartFilePathWatchOnMediaTaskRunner(
20    const base::FilePath& path,
21    const FileWatchStartedCallback& watch_started_callback,
22    const base::FilePathWatcher::Callback& path_changed_callback);
23
24#endif  // CHROME_BROWSER_MEDIA_GALLERIES_FILEAPI_FILE_PATH_WATCHER_UTIL_H_
25