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

Side by Side Diff: chrome/browser/sync_file_system/drive_backend/metadata_database_index.h

Issue 1873683002: Convert //chrome/browser/sync_file_system from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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 unified diff | Download patch
OLDNEW
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 <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 ~DatabaseContents(); 51 ~DatabaseContents();
52 ScopedVector<FileMetadata> file_metadata; 52 ScopedVector<FileMetadata> file_metadata;
53 ScopedVector<FileTracker> file_trackers; 53 ScopedVector<FileTracker> file_trackers;
54 }; 54 };
55 55
56 // Maintains indexes of MetadataDatabase on memory. 56 // Maintains indexes of MetadataDatabase on memory.
57 class MetadataDatabaseIndex : public MetadataDatabaseIndexInterface { 57 class MetadataDatabaseIndex : public MetadataDatabaseIndexInterface {
58 public: 58 public:
59 ~MetadataDatabaseIndex() override; 59 ~MetadataDatabaseIndex() override;
60 60
61 static scoped_ptr<MetadataDatabaseIndex> Create(LevelDBWrapper* db); 61 static std::unique_ptr<MetadataDatabaseIndex> Create(LevelDBWrapper* db);
62 static scoped_ptr<MetadataDatabaseIndex> CreateForTesting( 62 static std::unique_ptr<MetadataDatabaseIndex> CreateForTesting(
63 DatabaseContents* contents, LevelDBWrapper* db); 63 DatabaseContents* contents,
64 LevelDBWrapper* db);
64 65
65 // MetadataDatabaseIndexInterface overrides. 66 // MetadataDatabaseIndexInterface overrides.
66 void RemoveUnreachableItems() override; 67 void RemoveUnreachableItems() override;
67 bool GetFileMetadata(const std::string& file_id, 68 bool GetFileMetadata(const std::string& file_id,
68 FileMetadata* metadata) const override; 69 FileMetadata* metadata) const override;
69 bool GetFileTracker(int64_t tracker_id, FileTracker* tracker) const override; 70 bool GetFileTracker(int64_t tracker_id, FileTracker* tracker) const override;
70 void StoreFileMetadata(scoped_ptr<FileMetadata> metadata) override; 71 void StoreFileMetadata(std::unique_ptr<FileMetadata> metadata) override;
71 void StoreFileTracker(scoped_ptr<FileTracker> tracker) override; 72 void StoreFileTracker(std::unique_ptr<FileTracker> tracker) override;
72 void RemoveFileMetadata(const std::string& file_id) override; 73 void RemoveFileMetadata(const std::string& file_id) override;
73 void RemoveFileTracker(int64_t tracker_id) override; 74 void RemoveFileTracker(int64_t tracker_id) override;
74 TrackerIDSet GetFileTrackerIDsByFileID( 75 TrackerIDSet GetFileTrackerIDsByFileID(
75 const std::string& file_id) const override; 76 const std::string& file_id) const override;
76 int64_t GetAppRootTracker(const std::string& app_id) const override; 77 int64_t GetAppRootTracker(const std::string& app_id) const override;
77 TrackerIDSet GetFileTrackerIDsByParentAndTitle( 78 TrackerIDSet GetFileTrackerIDsByParentAndTitle(
78 int64_t parent_tracker_id, 79 int64_t parent_tracker_id,
79 const std::string& title) const override; 80 const std::string& title) const override;
80 std::vector<int64_t> GetFileTrackerIDsByParent( 81 std::vector<int64_t> GetFileTrackerIDsByParent(
81 int64_t parent_tracker_id) const override; 82 int64_t parent_tracker_id) const override;
(...skipping 14 matching lines...) Expand all
96 void SetNextTrackerID(int64_t next_tracker_id) const override; 97 void SetNextTrackerID(int64_t next_tracker_id) const override;
97 bool IsSyncRootRevalidated() const override; 98 bool IsSyncRootRevalidated() const override;
98 int64_t GetSyncRootTrackerID() const override; 99 int64_t GetSyncRootTrackerID() const override;
99 int64_t GetLargestChangeID() const override; 100 int64_t GetLargestChangeID() const override;
100 int64_t GetNextTrackerID() const override; 101 int64_t GetNextTrackerID() const override;
101 std::vector<std::string> GetRegisteredAppIDs() const override; 102 std::vector<std::string> GetRegisteredAppIDs() const override;
102 std::vector<int64_t> GetAllTrackerIDs() const override; 103 std::vector<int64_t> GetAllTrackerIDs() const override;
103 std::vector<std::string> GetAllMetadataIDs() const override; 104 std::vector<std::string> GetAllMetadataIDs() const override;
104 105
105 private: 106 private:
106 typedef base::ScopedPtrHashMap<std::string, scoped_ptr<FileMetadata>> 107 typedef base::ScopedPtrHashMap<std::string, std::unique_ptr<FileMetadata>>
107 MetadataByID; 108 MetadataByID;
108 typedef base::ScopedPtrHashMap<int64_t, scoped_ptr<FileTracker>> TrackerByID; 109 typedef base::ScopedPtrHashMap<int64_t, std::unique_ptr<FileTracker>>
110 TrackerByID;
109 typedef base::hash_map<std::string, TrackerIDSet> TrackerIDsByFileID; 111 typedef base::hash_map<std::string, TrackerIDSet> TrackerIDsByFileID;
110 typedef base::hash_map<std::string, TrackerIDSet> TrackerIDsByTitle; 112 typedef base::hash_map<std::string, TrackerIDSet> TrackerIDsByTitle;
111 typedef std::map<int64_t, TrackerIDsByTitle> TrackerIDsByParentAndTitle; 113 typedef std::map<int64_t, TrackerIDsByTitle> TrackerIDsByParentAndTitle;
112 typedef base::hash_map<std::string, int64_t> TrackerIDByAppID; 114 typedef base::hash_map<std::string, int64_t> TrackerIDByAppID;
113 typedef base::hash_set<std::string> FileIDSet; 115 typedef base::hash_set<std::string> FileIDSet;
114 typedef base::hash_set<ParentIDAndTitle> PathSet; 116 typedef base::hash_set<ParentIDAndTitle> PathSet;
115 typedef std::set<int64_t> DirtyTrackers; 117 typedef std::set<int64_t> DirtyTrackers;
116 118
117 friend class MetadataDatabaseTest; 119 friend class MetadataDatabaseTest;
118 120
119 explicit MetadataDatabaseIndex(LevelDBWrapper* db); 121 explicit MetadataDatabaseIndex(LevelDBWrapper* db);
120 void Initialize(scoped_ptr<ServiceMetadata> service_metadata, 122 void Initialize(std::unique_ptr<ServiceMetadata> service_metadata,
121 DatabaseContents* contents); 123 DatabaseContents* contents);
122 124
123 // Maintains |app_root_by_app_id_|. 125 // Maintains |app_root_by_app_id_|.
124 void AddToAppIDIndex(const FileTracker& new_tracker); 126 void AddToAppIDIndex(const FileTracker& new_tracker);
125 void UpdateInAppIDIndex(const FileTracker& old_tracker, 127 void UpdateInAppIDIndex(const FileTracker& old_tracker,
126 const FileTracker& new_tracker); 128 const FileTracker& new_tracker);
127 void RemoveFromAppIDIndex(const FileTracker& tracker); 129 void RemoveFromAppIDIndex(const FileTracker& tracker);
128 130
129 // Maintains |trackers_by_file_id_| and |multi_tracker_file_ids_|. 131 // Maintains |trackers_by_file_id_| and |multi_tracker_file_ids_|.
130 void AddToFileIDIndexes(const FileTracker& new_tracker); 132 void AddToFileIDIndexes(const FileTracker& new_tracker);
131 void UpdateInFileIDIndexes(const FileTracker& old_tracker, 133 void UpdateInFileIDIndexes(const FileTracker& old_tracker,
132 const FileTracker& new_tracker); 134 const FileTracker& new_tracker);
133 void RemoveFromFileIDIndexes(const FileTracker& tracker); 135 void RemoveFromFileIDIndexes(const FileTracker& tracker);
134 136
135 // Maintains |trackers_by_parent_and_title_| and |multi_backing_file_paths_|. 137 // Maintains |trackers_by_parent_and_title_| and |multi_backing_file_paths_|.
136 void AddToPathIndexes(const FileTracker& new_tracker); 138 void AddToPathIndexes(const FileTracker& new_tracker);
137 void UpdateInPathIndexes(const FileTracker& old_tracker, 139 void UpdateInPathIndexes(const FileTracker& old_tracker,
138 const FileTracker& new_tracker1); 140 const FileTracker& new_tracker1);
139 void RemoveFromPathIndexes(const FileTracker& tracker); 141 void RemoveFromPathIndexes(const FileTracker& tracker);
140 142
141 // Maintains |dirty_trackers_| and |demoted_dirty_trackers_|. 143 // Maintains |dirty_trackers_| and |demoted_dirty_trackers_|.
142 void AddToDirtyTrackerIndexes(const FileTracker& new_tracker); 144 void AddToDirtyTrackerIndexes(const FileTracker& new_tracker);
143 void UpdateInDirtyTrackerIndexes(const FileTracker& old_tracker, 145 void UpdateInDirtyTrackerIndexes(const FileTracker& old_tracker,
144 const FileTracker& new_tracker); 146 const FileTracker& new_tracker);
145 void RemoveFromDirtyTrackerIndexes(const FileTracker& tracker); 147 void RemoveFromDirtyTrackerIndexes(const FileTracker& tracker);
146 148
147 scoped_ptr<ServiceMetadata> service_metadata_; 149 std::unique_ptr<ServiceMetadata> service_metadata_;
148 LevelDBWrapper* db_; // Not owned 150 LevelDBWrapper* db_; // Not owned
149 151
150 MetadataByID metadata_by_id_; 152 MetadataByID metadata_by_id_;
151 TrackerByID tracker_by_id_; 153 TrackerByID tracker_by_id_;
152 154
153 TrackerIDByAppID app_root_by_app_id_; 155 TrackerIDByAppID app_root_by_app_id_;
154 156
155 TrackerIDsByFileID trackers_by_file_id_; 157 TrackerIDsByFileID trackers_by_file_id_;
156 FileIDSet multi_tracker_file_ids_; 158 FileIDSet multi_tracker_file_ids_;
157 159
158 TrackerIDsByParentAndTitle trackers_by_parent_and_title_; 160 TrackerIDsByParentAndTitle trackers_by_parent_and_title_;
159 PathSet multi_backing_file_paths_; 161 PathSet multi_backing_file_paths_;
160 162
161 DirtyTrackers dirty_trackers_; 163 DirtyTrackers dirty_trackers_;
162 DirtyTrackers demoted_dirty_trackers_; 164 DirtyTrackers demoted_dirty_trackers_;
163 165
164 DISALLOW_COPY_AND_ASSIGN(MetadataDatabaseIndex); 166 DISALLOW_COPY_AND_ASSIGN(MetadataDatabaseIndex);
165 }; 167 };
166 168
167 } // namespace drive_backend 169 } // namespace drive_backend
168 } // namespace sync_file_system 170 } // namespace sync_file_system
169 171
170 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_INDEX _H_ 172 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_INDEX _H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698