1 // Copyright 2015 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_CHROMEOS_FILEAPI_MTP_WATCHER_MANAGER_H_
6 #define CHROME_BROWSER_CHROMEOS_FILEAPI_MTP_WATCHER_MANAGER_H_
7 
8 #include "chrome/browser/media_galleries/fileapi/device_media_async_file_util.h"
9 #include "storage/browser/file_system/watcher_manager.h"
10 
11 namespace storage {
12 
13 class FileSystemURL;
14 
15 }  // namespace storage
16 
17 namespace chromeos {
18 
19 class MTPWatcherManager : public storage::WatcherManager {
20  public:
21   explicit MTPWatcherManager(
22       DeviceMediaAsyncFileUtil* device_media_async_file_util);
23   ~MTPWatcherManager() override;
24 
25   void AddWatcher(const storage::FileSystemURL& url,
26                   bool recursive,
27                   StatusCallback callback,
28                   NotificationCallback notification_callback) override;
29 
30   void RemoveWatcher(const storage::FileSystemURL& url,
31                      bool recursive,
32                      StatusCallback callback) override;
33 
34  private:
35   DeviceMediaAsyncFileUtil* const device_media_async_file_util_;
36 };
37 
38 }  // namespace chromeos
39 
40 #endif  // CHROME_BROWSER_CHROMEOS_FILEAPI_MTP_WATCHER_MANAGER_H_
41