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 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 struct DatabaseContents { | 51 struct DatabaseContents { |
52 DatabaseContents(); | 52 DatabaseContents(); |
53 ~DatabaseContents(); | 53 ~DatabaseContents(); |
54 ScopedVector<FileMetadata> file_metadata; | 54 ScopedVector<FileMetadata> file_metadata; |
55 ScopedVector<FileTracker> file_trackers; | 55 ScopedVector<FileTracker> file_trackers; |
56 }; | 56 }; |
57 | 57 |
58 // Maintains indexes of MetadataDatabase on memory. | 58 // Maintains indexes of MetadataDatabase on memory. |
59 class MetadataDatabaseIndex : public MetadataDatabaseIndexInterface { | 59 class MetadataDatabaseIndex : public MetadataDatabaseIndexInterface { |
60 public: | 60 public: |
61 virtual ~MetadataDatabaseIndex(); | 61 ~MetadataDatabaseIndex() override; |
62 | 62 |
63 static scoped_ptr<MetadataDatabaseIndex> Create(LevelDBWrapper* db); | 63 static scoped_ptr<MetadataDatabaseIndex> Create(LevelDBWrapper* db); |
64 static scoped_ptr<MetadataDatabaseIndex> CreateForTesting( | 64 static scoped_ptr<MetadataDatabaseIndex> CreateForTesting( |
65 DatabaseContents* contents, LevelDBWrapper* db); | 65 DatabaseContents* contents, LevelDBWrapper* db); |
66 | 66 |
67 // MetadataDatabaseIndexInterface overrides. | 67 // MetadataDatabaseIndexInterface overrides. |
68 virtual bool GetFileMetadata( | 68 bool GetFileMetadata(const std::string& file_id, |
69 const std::string& file_id, FileMetadata* metadata) const override; | 69 FileMetadata* metadata) const override; |
70 virtual bool GetFileTracker( | 70 bool GetFileTracker(int64 tracker_id, FileTracker* tracker) const override; |
71 int64 tracker_id, FileTracker* tracker) const override; | 71 void StoreFileMetadata(scoped_ptr<FileMetadata> metadata) override; |
72 virtual void StoreFileMetadata(scoped_ptr<FileMetadata> metadata) override; | 72 void StoreFileTracker(scoped_ptr<FileTracker> tracker) override; |
73 virtual void StoreFileTracker(scoped_ptr<FileTracker> tracker) override; | 73 void RemoveFileMetadata(const std::string& file_id) override; |
74 virtual void RemoveFileMetadata(const std::string& file_id) override; | 74 void RemoveFileTracker(int64 tracker_id) override; |
75 virtual void RemoveFileTracker(int64 tracker_id) override; | 75 TrackerIDSet GetFileTrackerIDsByFileID( |
76 virtual TrackerIDSet GetFileTrackerIDsByFileID( | |
77 const std::string& file_id) const override; | 76 const std::string& file_id) const override; |
78 virtual int64 GetAppRootTracker(const std::string& app_id) const override; | 77 int64 GetAppRootTracker(const std::string& app_id) const override; |
79 virtual TrackerIDSet GetFileTrackerIDsByParentAndTitle( | 78 TrackerIDSet GetFileTrackerIDsByParentAndTitle( |
80 int64 parent_tracker_id, | 79 int64 parent_tracker_id, |
81 const std::string& title) const override; | 80 const std::string& title) const override; |
82 virtual std::vector<int64> GetFileTrackerIDsByParent( | 81 std::vector<int64> GetFileTrackerIDsByParent( |
83 int64 parent_tracker_id) const override; | 82 int64 parent_tracker_id) const override; |
84 virtual std::string PickMultiTrackerFileID() const override; | 83 std::string PickMultiTrackerFileID() const override; |
85 virtual ParentIDAndTitle PickMultiBackingFilePath() const override; | 84 ParentIDAndTitle PickMultiBackingFilePath() const override; |
86 virtual int64 PickDirtyTracker() const override; | 85 int64 PickDirtyTracker() const override; |
87 virtual void DemoteDirtyTracker(int64 tracker_id) override; | 86 void DemoteDirtyTracker(int64 tracker_id) override; |
88 virtual bool HasDemotedDirtyTracker() const override; | 87 bool HasDemotedDirtyTracker() const override; |
89 virtual bool IsDemotedDirtyTracker(int64 tracker_id) const override; | 88 bool IsDemotedDirtyTracker(int64 tracker_id) const override; |
90 virtual void PromoteDemotedDirtyTracker(int64 tracker_id) override; | 89 void PromoteDemotedDirtyTracker(int64 tracker_id) override; |
91 virtual bool PromoteDemotedDirtyTrackers() override; | 90 bool PromoteDemotedDirtyTrackers() override; |
92 virtual size_t CountDirtyTracker() const override; | 91 size_t CountDirtyTracker() const override; |
93 virtual size_t CountFileMetadata() const override; | 92 size_t CountFileMetadata() const override; |
94 virtual size_t CountFileTracker() const override; | 93 size_t CountFileTracker() const override; |
95 virtual void SetSyncRootTrackerID(int64 sync_root_id) const override; | 94 void SetSyncRootTrackerID(int64 sync_root_id) const override; |
96 virtual void SetLargestChangeID(int64 largest_change_id) const override; | 95 void SetLargestChangeID(int64 largest_change_id) const override; |
97 virtual void SetNextTrackerID(int64 next_tracker_id) const override; | 96 void SetNextTrackerID(int64 next_tracker_id) const override; |
98 virtual int64 GetSyncRootTrackerID() const override; | 97 int64 GetSyncRootTrackerID() const override; |
99 virtual int64 GetLargestChangeID() const override; | 98 int64 GetLargestChangeID() const override; |
100 virtual int64 GetNextTrackerID() const override; | 99 int64 GetNextTrackerID() const override; |
101 virtual std::vector<std::string> GetRegisteredAppIDs() const override; | 100 std::vector<std::string> GetRegisteredAppIDs() const override; |
102 virtual std::vector<int64> GetAllTrackerIDs() const override; | 101 std::vector<int64> GetAllTrackerIDs() const override; |
103 virtual std::vector<std::string> GetAllMetadataIDs() const override; | 102 std::vector<std::string> GetAllMetadataIDs() const override; |
104 | 103 |
105 private: | 104 private: |
106 typedef base::ScopedPtrHashMap<std::string, FileMetadata> MetadataByID; | 105 typedef base::ScopedPtrHashMap<std::string, FileMetadata> MetadataByID; |
107 typedef base::ScopedPtrHashMap<int64, FileTracker> TrackerByID; | 106 typedef base::ScopedPtrHashMap<int64, FileTracker> TrackerByID; |
108 typedef base::hash_map<std::string, TrackerIDSet> TrackerIDsByFileID; | 107 typedef base::hash_map<std::string, TrackerIDSet> TrackerIDsByFileID; |
109 typedef base::hash_map<std::string, TrackerIDSet> TrackerIDsByTitle; | 108 typedef base::hash_map<std::string, TrackerIDSet> TrackerIDsByTitle; |
110 typedef std::map<int64, TrackerIDsByTitle> TrackerIDsByParentAndTitle; | 109 typedef std::map<int64, TrackerIDsByTitle> TrackerIDsByParentAndTitle; |
111 typedef base::hash_map<std::string, int64> TrackerIDByAppID; | 110 typedef base::hash_map<std::string, int64> TrackerIDByAppID; |
112 typedef base::hash_set<std::string> FileIDSet; | 111 typedef base::hash_set<std::string> FileIDSet; |
113 typedef base::hash_set<ParentIDAndTitle> PathSet; | 112 typedef base::hash_set<ParentIDAndTitle> PathSet; |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
160 DirtyTrackers dirty_trackers_; | 159 DirtyTrackers dirty_trackers_; |
161 DirtyTrackers demoted_dirty_trackers_; | 160 DirtyTrackers demoted_dirty_trackers_; |
162 | 161 |
163 DISALLOW_COPY_AND_ASSIGN(MetadataDatabaseIndex); | 162 DISALLOW_COPY_AND_ASSIGN(MetadataDatabaseIndex); |
164 }; | 163 }; |
165 | 164 |
166 } // namespace drive_backend | 165 } // namespace drive_backend |
167 } // namespace sync_file_system | 166 } // namespace sync_file_system |
168 | 167 |
169 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_INDEX
_H_ | 168 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_INDEX
_H_ |
OLD | NEW |