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 c42f3d7312f991a996002702b2083b925793c6d6..f34d1b073cdac94353fd9b7a835c2340ff34c3b7 100644 |
--- a/chrome/browser/chromeos/file_system_provider/observed_entry.h |
+++ b/chrome/browser/chromeos/file_system_provider/observed_entry.h |
@@ -15,8 +15,23 @@ namespace file_system_provider { |
struct ObservedEntry; |
+// 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. |
+struct ObservedEntryKey { |
+ ObservedEntryKey(const base::FilePath& entry_path, bool recursive); |
+ ~ObservedEntryKey(); |
+ |
+ struct Comparator { |
+ bool operator()(const ObservedEntryKey& a, const ObservedEntryKey& b) const; |
+ }; |
+ |
+ base::FilePath entry_path; |
+ bool recursive; |
+}; |
+ |
// List of observed entries. |
-typedef std::map<base::FilePath, ObservedEntry> ObservedEntries; |
+typedef std::map<ObservedEntryKey, ObservedEntry, ObservedEntryKey::Comparator> |
+ ObservedEntries; |
// Represents an observed entry on a file system. |
struct ObservedEntry { |