Index: trunk/src/base/files/file_path_watcher_fsevents.h |
=================================================================== |
--- trunk/src/base/files/file_path_watcher_fsevents.h (revision 274756) |
+++ trunk/src/base/files/file_path_watcher_fsevents.h (working copy) |
@@ -1,73 +0,0 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef BASE_FILES_FILE_PATH_WATCHER_FSEVENTS_H_ |
-#define BASE_FILES_FILE_PATH_WATCHER_FSEVENTS_H_ |
- |
-#include <CoreServices/CoreServices.h> |
- |
-#include <vector> |
- |
-#include "base/files/file_path.h" |
-#include "base/files/file_path_watcher.h" |
- |
-namespace base { |
- |
-// Mac-specific file watcher implementation based on FSEvents. |
-// There are trade-offs between the FSEvents implementation and a kqueue |
-// implementation. The biggest issues are that FSEvents on 10.6 sometimes drops |
-// events and kqueue does not trigger for modifications to a file in a watched |
-// directory. See file_path_watcher_mac.cc for the code that decides when to |
-// use which one. |
-class FilePathWatcherFSEvents : public FilePathWatcher::PlatformDelegate { |
- public: |
- FilePathWatcherFSEvents(); |
- |
- // Called from the FSEvents callback whenever there is a change to the paths. |
- void OnFilePathsChanged(const std::vector<FilePath>& paths); |
- |
- // (Re-)Initialize the event stream to start reporting events from |
- // |start_event|. |
- void UpdateEventStream(FSEventStreamEventId start_event); |
- |
- // Returns true if resolving the target path got a different result than |
- // last time it was done. |
- bool ResolveTargetPath(); |
- |
- // FilePathWatcher::PlatformDelegate overrides. |
- virtual bool Watch(const FilePath& path, |
- bool recursive, |
- const FilePathWatcher::Callback& callback) OVERRIDE; |
- virtual void Cancel() OVERRIDE; |
- |
- private: |
- virtual ~FilePathWatcherFSEvents(); |
- |
- // Destroy the event stream. |
- void DestroyEventStream(); |
- |
- // Start watching the FSEventStream. |
- void StartEventStream(FSEventStreamEventId start_event); |
- |
- // Cleans up and stops the event stream. |
- virtual void CancelOnMessageLoopThread() OVERRIDE; |
- |
- // Callback to notify upon changes. |
- FilePathWatcher::Callback callback_; |
- |
- // Target path to watch (passed to callback). |
- FilePath target_; |
- |
- // Target path with all symbolic links resolved. |
- FilePath resolved_target_; |
- |
- // Backend stream we receive event callbacks from (strong reference). |
- FSEventStreamRef fsevent_stream_; |
- |
- DISALLOW_COPY_AND_ASSIGN(FilePathWatcherFSEvents); |
-}; |
- |
-} // namespace base |
- |
-#endif // BASE_FILES_FILE_PATH_WATCHER_FSEVENTS_H_ |