| Index: chrome/browser/chromeos/file_system_provider/watcher.h
|
| diff --git a/chrome/browser/chromeos/file_system_provider/watcher.h b/chrome/browser/chromeos/file_system_provider/watcher.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..e073788bba2acce84d81dbbfb5adea7843d1be51
|
| --- /dev/null
|
| +++ b/chrome/browser/chromeos/file_system_provider/watcher.h
|
| @@ -0,0 +1,76 @@
|
| +// 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 CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_WATCHER_H_
|
| +#define CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_WATCHER_H_
|
| +
|
| +#include <map>
|
| +#include <set>
|
| +#include <string>
|
| +
|
| +#include "base/files/file_path.h"
|
| +#include "url/gurl.h"
|
| +
|
| +namespace chromeos {
|
| +namespace file_system_provider {
|
| +
|
| +struct Watcher;
|
| +struct Subscriber;
|
| +
|
| +// Key for storing a watcher in the map. There may be two watchers per path,
|
| +// as long as one is recursive, and the other one not.
|
| +struct WatcherKey {
|
| + WatcherKey(const base::FilePath& entry_path, bool recursive);
|
| + ~WatcherKey();
|
| +
|
| + struct Comparator {
|
| + bool operator()(const WatcherKey& a, const WatcherKey& b) const;
|
| + };
|
| +
|
| + base::FilePath entry_path;
|
| + bool recursive;
|
| +};
|
| +
|
| +// List of watchers.
|
| +typedef std::map<WatcherKey, Watcher, WatcherKey::Comparator> Watchers;
|
| +
|
| +// Map of subscribers for notifications about a watcher.
|
| +typedef std::map<GURL, Subscriber> Subscribers;
|
| +
|
| +// Represents a subscriber for notification about a watcher. There may be up to
|
| +// one subscriber per origin for the same watcher.
|
| +struct Subscriber {
|
| + Subscriber();
|
| + ~Subscriber();
|
| +
|
| + // Origin of the subscriber.
|
| + GURL origin;
|
| +
|
| + // Whether the subscriber should be restored after shutdown or not.
|
| + bool persistent;
|
| +};
|
| +
|
| +// Represents a watcher on a file system.
|
| +struct Watcher {
|
| + Watcher();
|
| + ~Watcher();
|
| +
|
| + // Map of subscribers for notifications of the watcher.
|
| + Subscribers subscribers;
|
| +
|
| + // Path of the watcher.
|
| + base::FilePath entry_path;
|
| +
|
| + // Whether watching is recursive or not.
|
| + bool recursive;
|
| +
|
| + // Tag of the last notification for this watcher. May be empty if not
|
| + // supported.
|
| + std::string last_tag;
|
| +};
|
| +
|
| +} // namespace file_system_provider
|
| +} // namespace chromeos
|
| +
|
| +#endif // CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_WATCHER_H_
|
|
|