| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_INDEX_H_ | 5 #ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_INDEX_H_ |
| 6 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_INDEX_H_ | 6 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_INDEX_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 111 int64 PickDirtyTracker() const; | 111 int64 PickDirtyTracker() const; |
| 112 | 112 |
| 113 // Demotes a dirty tracker. | 113 // Demotes a dirty tracker. |
| 114 void DemoteDirtyTracker(int64 tracker_id); | 114 void DemoteDirtyTracker(int64 tracker_id); |
| 115 | 115 |
| 116 bool HasDemotedDirtyTracker() const; | 116 bool HasDemotedDirtyTracker() const; |
| 117 | 117 |
| 118 // Promotes all demoted dirty trackers to normal dirty trackers. | 118 // Promotes all demoted dirty trackers to normal dirty trackers. |
| 119 void PromoteDemotedDirtyTrackers(); | 119 void PromoteDemotedDirtyTrackers(); |
| 120 | 120 |
| 121 size_t CountDirtyTracker() const; |
| 122 size_t CountFileMetadata() const; |
| 123 size_t CountFileTracker() const; |
| 121 std::vector<std::string> GetRegisteredAppIDs() const; | 124 std::vector<std::string> GetRegisteredAppIDs() const; |
| 125 std::vector<int64> GetAllTrackerIDs() const; |
| 126 std::vector<std::string> GetAllMetadataIDs() const; |
| 122 | 127 |
| 123 private: | 128 private: |
| 124 typedef base::ScopedPtrHashMap<std::string, FileMetadata> MetadataByID; | 129 typedef base::ScopedPtrHashMap<std::string, FileMetadata> MetadataByID; |
| 125 typedef base::ScopedPtrHashMap<int64, FileTracker> TrackerByID; | 130 typedef base::ScopedPtrHashMap<int64, FileTracker> TrackerByID; |
| 126 typedef base::hash_map<std::string, TrackerIDSet> TrackerIDsByFileID; | 131 typedef base::hash_map<std::string, TrackerIDSet> TrackerIDsByFileID; |
| 127 typedef base::hash_map<std::string, TrackerIDSet> TrackerIDsByTitle; | 132 typedef base::hash_map<std::string, TrackerIDSet> TrackerIDsByTitle; |
| 128 typedef std::map<int64, TrackerIDsByTitle> TrackerIDsByParentAndTitle; | 133 typedef std::map<int64, TrackerIDsByTitle> TrackerIDsByParentAndTitle; |
| 129 typedef base::hash_map<std::string, int64> TrackerIDByAppID; | 134 typedef base::hash_map<std::string, int64> TrackerIDByAppID; |
| 130 typedef base::hash_set<std::string> FileIDSet; | 135 typedef base::hash_set<std::string> FileIDSet; |
| 131 typedef base::hash_set<ParentIDAndTitle> PathSet; | 136 typedef base::hash_set<ParentIDAndTitle> PathSet; |
| 132 typedef std::set<int64> DirtyTrackers; | 137 typedef std::set<int64> DirtyTrackers; |
| 133 | 138 |
| 134 friend class MetadataDatabase; | |
| 135 friend class MetadataDatabaseTest; | 139 friend class MetadataDatabaseTest; |
| 136 | 140 |
| 137 // Maintains |app_root_by_app_id_|. | 141 // Maintains |app_root_by_app_id_|. |
| 138 void AddToAppIDIndex(const FileTracker& new_tracker); | 142 void AddToAppIDIndex(const FileTracker& new_tracker); |
| 139 void UpdateInAppIDIndex(const FileTracker& old_tracker, | 143 void UpdateInAppIDIndex(const FileTracker& old_tracker, |
| 140 const FileTracker& new_tracker); | 144 const FileTracker& new_tracker); |
| 141 void RemoveFromAppIDIndex(const FileTracker& tracker); | 145 void RemoveFromAppIDIndex(const FileTracker& tracker); |
| 142 | 146 |
| 143 // Maintains |trackers_by_file_id_| and |multi_tracker_file_ids_|. | 147 // Maintains |trackers_by_file_id_| and |multi_tracker_file_ids_|. |
| 144 void AddToFileIDIndexes(const FileTracker& new_tracker); | 148 void AddToFileIDIndexes(const FileTracker& new_tracker); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 172 DirtyTrackers dirty_trackers_; | 176 DirtyTrackers dirty_trackers_; |
| 173 DirtyTrackers demoted_dirty_trackers_; | 177 DirtyTrackers demoted_dirty_trackers_; |
| 174 | 178 |
| 175 DISALLOW_COPY_AND_ASSIGN(MetadataDatabaseIndex); | 179 DISALLOW_COPY_AND_ASSIGN(MetadataDatabaseIndex); |
| 176 }; | 180 }; |
| 177 | 181 |
| 178 } // namespace drive_backend | 182 } // namespace drive_backend |
| 179 } // namespace sync_file_system | 183 } // namespace sync_file_system |
| 180 | 184 |
| 181 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_INDEX
_H_ | 185 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_INDEX
_H_ |
| OLD | NEW |