Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(478)

Unified Diff: chrome/browser/chromeos/file_system_provider/observed_entry.h

Issue 642023003: [fsp] Allow to create multiple observers for a directory, up to one per origin. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed comments + fixed tests. Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/file_system_provider/observed_entry.h
diff --git a/chrome/browser/chromeos/file_system_provider/observed_entry.h b/chrome/browser/chromeos/file_system_provider/observed_entry.h
index f34d1b073cdac94353fd9b7a835c2340ff34c3b7..b69b4981658e28ea847036dd423988b17f5aea26 100644
--- a/chrome/browser/chromeos/file_system_provider/observed_entry.h
+++ b/chrome/browser/chromeos/file_system_provider/observed_entry.h
@@ -6,14 +6,17 @@
#define CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_OBSERVED_ENTRY_H_
#include <map>
+#include <set>
#include <string>
#include "base/files/file_path.h"
+#include "url/gurl.h"
namespace chromeos {
namespace file_system_provider {
struct ObservedEntry;
+struct Subscriber;
// Key for storing an observed entry in the map. There may be two observers
// per path, as long as one is recursive, and the other one not.
@@ -33,13 +36,38 @@ struct ObservedEntryKey {
typedef std::map<ObservedEntryKey, ObservedEntry, ObservedEntryKey::Comparator>
ObservedEntries;
+// Map of subscribers for notifications about an observed entry.
+typedef std::map<GURL, Subscriber> Subscribers;
+
+// Represents a subscriber for notification about an observed entry. There may
+// be up to one subscriber per origin for the same observed entry.
+struct Subscriber {
+ Subscriber();
+ ~Subscriber();
+
+ // Origin of the subscriber.
+ GURL origin;
+
+ // Whether the subscriber should be restored after shutdown or not.
+ bool persistent;
+};
+
// Represents an observed entry on a file system.
struct ObservedEntry {
ObservedEntry();
~ObservedEntry();
+ // Map of subscribers for notifications of the observed entry.
+ Subscribers subscribers;
+
+ // Path of the observed entry.
base::FilePath entry_path;
+
+ // Whether observing is recursive or not.
bool recursive;
+
+ // Tag of the last notification for this observed entry. May be empty if not
+ // supported.
std::string last_tag;
};

Powered by Google App Engine
This is Rietveld 408576698