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 |