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 <stddef.h> |
| 9 #include <stdint.h> |
| 10 |
8 #include <map> | 11 #include <map> |
9 #include <set> | 12 #include <set> |
10 #include <string> | 13 #include <string> |
11 #include <vector> | 14 #include <vector> |
12 | 15 |
13 #include "base/containers/hash_tables.h" | 16 #include "base/containers/hash_tables.h" |
14 #include "base/containers/scoped_ptr_hash_map.h" | 17 #include "base/containers/scoped_ptr_hash_map.h" |
| 18 #include "base/macros.h" |
15 #include "base/memory/scoped_vector.h" | 19 #include "base/memory/scoped_vector.h" |
16 #include "chrome/browser/sync_file_system/drive_backend/metadata_database_index_
interface.h" | 20 #include "chrome/browser/sync_file_system/drive_backend/metadata_database_index_
interface.h" |
17 #include "chrome/browser/sync_file_system/drive_backend/tracker_id_set.h" | 21 #include "chrome/browser/sync_file_system/drive_backend/tracker_id_set.h" |
18 | 22 |
19 namespace sync_file_system { | 23 namespace sync_file_system { |
20 namespace drive_backend { | 24 namespace drive_backend { |
21 | 25 |
22 class FileMetadata; | 26 class FileMetadata; |
23 class FileTracker; | 27 class FileTracker; |
24 class LevelDBWrapper; | 28 class LevelDBWrapper; |
(...skipping 29 matching lines...) Expand all Loading... |
54 ~MetadataDatabaseIndex() override; | 58 ~MetadataDatabaseIndex() override; |
55 | 59 |
56 static scoped_ptr<MetadataDatabaseIndex> Create(LevelDBWrapper* db); | 60 static scoped_ptr<MetadataDatabaseIndex> Create(LevelDBWrapper* db); |
57 static scoped_ptr<MetadataDatabaseIndex> CreateForTesting( | 61 static scoped_ptr<MetadataDatabaseIndex> CreateForTesting( |
58 DatabaseContents* contents, LevelDBWrapper* db); | 62 DatabaseContents* contents, LevelDBWrapper* db); |
59 | 63 |
60 // MetadataDatabaseIndexInterface overrides. | 64 // MetadataDatabaseIndexInterface overrides. |
61 void RemoveUnreachableItems() override; | 65 void RemoveUnreachableItems() override; |
62 bool GetFileMetadata(const std::string& file_id, | 66 bool GetFileMetadata(const std::string& file_id, |
63 FileMetadata* metadata) const override; | 67 FileMetadata* metadata) const override; |
64 bool GetFileTracker(int64 tracker_id, FileTracker* tracker) const override; | 68 bool GetFileTracker(int64_t tracker_id, FileTracker* tracker) const override; |
65 void StoreFileMetadata(scoped_ptr<FileMetadata> metadata) override; | 69 void StoreFileMetadata(scoped_ptr<FileMetadata> metadata) override; |
66 void StoreFileTracker(scoped_ptr<FileTracker> tracker) override; | 70 void StoreFileTracker(scoped_ptr<FileTracker> tracker) override; |
67 void RemoveFileMetadata(const std::string& file_id) override; | 71 void RemoveFileMetadata(const std::string& file_id) override; |
68 void RemoveFileTracker(int64 tracker_id) override; | 72 void RemoveFileTracker(int64_t tracker_id) override; |
69 TrackerIDSet GetFileTrackerIDsByFileID( | 73 TrackerIDSet GetFileTrackerIDsByFileID( |
70 const std::string& file_id) const override; | 74 const std::string& file_id) const override; |
71 int64 GetAppRootTracker(const std::string& app_id) const override; | 75 int64_t GetAppRootTracker(const std::string& app_id) const override; |
72 TrackerIDSet GetFileTrackerIDsByParentAndTitle( | 76 TrackerIDSet GetFileTrackerIDsByParentAndTitle( |
73 int64 parent_tracker_id, | 77 int64_t parent_tracker_id, |
74 const std::string& title) const override; | 78 const std::string& title) const override; |
75 std::vector<int64> GetFileTrackerIDsByParent( | 79 std::vector<int64_t> GetFileTrackerIDsByParent( |
76 int64 parent_tracker_id) const override; | 80 int64_t parent_tracker_id) const override; |
77 std::string PickMultiTrackerFileID() const override; | 81 std::string PickMultiTrackerFileID() const override; |
78 ParentIDAndTitle PickMultiBackingFilePath() const override; | 82 ParentIDAndTitle PickMultiBackingFilePath() const override; |
79 int64 PickDirtyTracker() const override; | 83 int64_t PickDirtyTracker() const override; |
80 void DemoteDirtyTracker(int64 tracker_id) override; | 84 void DemoteDirtyTracker(int64_t tracker_id) override; |
81 bool HasDemotedDirtyTracker() const override; | 85 bool HasDemotedDirtyTracker() const override; |
82 bool IsDemotedDirtyTracker(int64 tracker_id) const override; | 86 bool IsDemotedDirtyTracker(int64_t tracker_id) const override; |
83 void PromoteDemotedDirtyTracker(int64 tracker_id) override; | 87 void PromoteDemotedDirtyTracker(int64_t tracker_id) override; |
84 bool PromoteDemotedDirtyTrackers() override; | 88 bool PromoteDemotedDirtyTrackers() override; |
85 size_t CountDirtyTracker() const override; | 89 size_t CountDirtyTracker() const override; |
86 size_t CountFileMetadata() const override; | 90 size_t CountFileMetadata() const override; |
87 size_t CountFileTracker() const override; | 91 size_t CountFileTracker() const override; |
88 void SetSyncRootRevalidated() const override; | 92 void SetSyncRootRevalidated() const override; |
89 void SetSyncRootTrackerID(int64 sync_root_id) const override; | 93 void SetSyncRootTrackerID(int64_t sync_root_id) const override; |
90 void SetLargestChangeID(int64 largest_change_id) const override; | 94 void SetLargestChangeID(int64_t largest_change_id) const override; |
91 void SetNextTrackerID(int64 next_tracker_id) const override; | 95 void SetNextTrackerID(int64_t next_tracker_id) const override; |
92 bool IsSyncRootRevalidated() const override; | 96 bool IsSyncRootRevalidated() const override; |
93 int64 GetSyncRootTrackerID() const override; | 97 int64_t GetSyncRootTrackerID() const override; |
94 int64 GetLargestChangeID() const override; | 98 int64_t GetLargestChangeID() const override; |
95 int64 GetNextTrackerID() const override; | 99 int64_t GetNextTrackerID() const override; |
96 std::vector<std::string> GetRegisteredAppIDs() const override; | 100 std::vector<std::string> GetRegisteredAppIDs() const override; |
97 std::vector<int64> GetAllTrackerIDs() const override; | 101 std::vector<int64_t> GetAllTrackerIDs() const override; |
98 std::vector<std::string> GetAllMetadataIDs() const override; | 102 std::vector<std::string> GetAllMetadataIDs() const override; |
99 | 103 |
100 private: | 104 private: |
101 typedef base::ScopedPtrHashMap<std::string, scoped_ptr<FileMetadata>> | 105 typedef base::ScopedPtrHashMap<std::string, scoped_ptr<FileMetadata>> |
102 MetadataByID; | 106 MetadataByID; |
103 typedef base::ScopedPtrHashMap<int64, scoped_ptr<FileTracker>> TrackerByID; | 107 typedef base::ScopedPtrHashMap<int64_t, scoped_ptr<FileTracker>> TrackerByID; |
104 typedef base::hash_map<std::string, TrackerIDSet> TrackerIDsByFileID; | 108 typedef base::hash_map<std::string, TrackerIDSet> TrackerIDsByFileID; |
105 typedef base::hash_map<std::string, TrackerIDSet> TrackerIDsByTitle; | 109 typedef base::hash_map<std::string, TrackerIDSet> TrackerIDsByTitle; |
106 typedef std::map<int64, TrackerIDsByTitle> TrackerIDsByParentAndTitle; | 110 typedef std::map<int64_t, TrackerIDsByTitle> TrackerIDsByParentAndTitle; |
107 typedef base::hash_map<std::string, int64> TrackerIDByAppID; | 111 typedef base::hash_map<std::string, int64_t> TrackerIDByAppID; |
108 typedef base::hash_set<std::string> FileIDSet; | 112 typedef base::hash_set<std::string> FileIDSet; |
109 typedef base::hash_set<ParentIDAndTitle> PathSet; | 113 typedef base::hash_set<ParentIDAndTitle> PathSet; |
110 typedef std::set<int64> DirtyTrackers; | 114 typedef std::set<int64_t> DirtyTrackers; |
111 | 115 |
112 friend class MetadataDatabaseTest; | 116 friend class MetadataDatabaseTest; |
113 | 117 |
114 explicit MetadataDatabaseIndex(LevelDBWrapper* db); | 118 explicit MetadataDatabaseIndex(LevelDBWrapper* db); |
115 void Initialize(scoped_ptr<ServiceMetadata> service_metadata, | 119 void Initialize(scoped_ptr<ServiceMetadata> service_metadata, |
116 DatabaseContents* contents); | 120 DatabaseContents* contents); |
117 | 121 |
118 // Maintains |app_root_by_app_id_|. | 122 // Maintains |app_root_by_app_id_|. |
119 void AddToAppIDIndex(const FileTracker& new_tracker); | 123 void AddToAppIDIndex(const FileTracker& new_tracker); |
120 void UpdateInAppIDIndex(const FileTracker& old_tracker, | 124 void UpdateInAppIDIndex(const FileTracker& old_tracker, |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
156 DirtyTrackers dirty_trackers_; | 160 DirtyTrackers dirty_trackers_; |
157 DirtyTrackers demoted_dirty_trackers_; | 161 DirtyTrackers demoted_dirty_trackers_; |
158 | 162 |
159 DISALLOW_COPY_AND_ASSIGN(MetadataDatabaseIndex); | 163 DISALLOW_COPY_AND_ASSIGN(MetadataDatabaseIndex); |
160 }; | 164 }; |
161 | 165 |
162 } // namespace drive_backend | 166 } // namespace drive_backend |
163 } // namespace sync_file_system | 167 } // namespace sync_file_system |
164 | 168 |
165 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_INDEX
_H_ | 169 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_INDEX
_H_ |
OLD | NEW |