OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_H_ | 5 #ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_H_ |
6 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_H_ | 6 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <set> | 9 #include <set> |
10 #include <string> | 10 #include <string> |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
125 | 125 |
126 enum UpdateOption { | 126 enum UpdateOption { |
127 UPDATE_TRACKER_FOR_UNSYNCED_FILE, | 127 UPDATE_TRACKER_FOR_UNSYNCED_FILE, |
128 UPDATE_TRACKER_FOR_SYNCED_FILE, | 128 UPDATE_TRACKER_FOR_SYNCED_FILE, |
129 }; | 129 }; |
130 | 130 |
131 // The entry point of the MetadataDatabase for production code. | 131 // The entry point of the MetadataDatabase for production code. |
132 // If |env_override| is non-NULL, internal LevelDB uses |env_override| instead | 132 // If |env_override| is non-NULL, internal LevelDB uses |env_override| instead |
133 // of leveldb::Env::Default(). Use leveldb::MemEnv in test code for faster | 133 // of leveldb::Env::Default(). Use leveldb::MemEnv in test code for faster |
134 // testing. | 134 // testing. |
135 static void Create(base::SequencedTaskRunner* worker_task_runner, | 135 static void Create( |
136 const base::FilePath& database_path, | 136 const scoped_refptr<base::SequencedTaskRunner>& worker_task_runner, |
137 leveldb::Env* env_override, | 137 const base::FilePath& database_path, |
138 const CreateCallback& callback); | 138 leveldb::Env* env_override, |
| 139 const CreateCallback& callback); |
139 static SyncStatusCode CreateForTesting( | 140 static SyncStatusCode CreateForTesting( |
140 scoped_ptr<LevelDBWrapper> db, | 141 scoped_ptr<LevelDBWrapper> db, |
141 scoped_ptr<MetadataDatabase>* metadata_database_out); | 142 scoped_ptr<MetadataDatabase>* metadata_database_out); |
142 | 143 |
143 ~MetadataDatabase(); | 144 ~MetadataDatabase(); |
144 | 145 |
145 static void ClearDatabase(scoped_ptr<MetadataDatabase> metadata_database); | 146 static void ClearDatabase(scoped_ptr<MetadataDatabase> metadata_database); |
146 | 147 |
147 int64 GetLargestFetchedChangeID() const; | 148 int64 GetLargestFetchedChangeID() const; |
148 int64 GetSyncRootTrackerID() const; | 149 int64 GetSyncRootTrackerID() const; |
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
347 | 348 |
348 // Clears dirty flag of trackers that can be cleared without external | 349 // Clears dirty flag of trackers that can be cleared without external |
349 // interactien. | 350 // interactien. |
350 void SweepDirtyTrackers(const std::vector<std::string>& file_ids, | 351 void SweepDirtyTrackers(const std::vector<std::string>& file_ids, |
351 const SyncStatusCallback& callback); | 352 const SyncStatusCallback& callback); |
352 | 353 |
353 private: | 354 private: |
354 friend class MetadataDatabaseTest; | 355 friend class MetadataDatabaseTest; |
355 struct CreateParam; | 356 struct CreateParam; |
356 | 357 |
357 MetadataDatabase(base::SequencedTaskRunner* worker_task_runner, | 358 MetadataDatabase( |
358 const base::FilePath& database_path, | 359 const scoped_refptr<base::SequencedTaskRunner>& worker_task_runner, |
359 leveldb::Env* env_override); | 360 const base::FilePath& database_path, |
| 361 leveldb::Env* env_override); |
360 static void CreateOnWorkerTaskRunner( | 362 static void CreateOnWorkerTaskRunner( |
361 scoped_ptr<CreateParam> create_param, | 363 scoped_ptr<CreateParam> create_param, |
362 const CreateCallback& callback); | 364 const CreateCallback& callback); |
363 SyncStatusCode Initialize(); | 365 SyncStatusCode Initialize(); |
364 | 366 |
365 // Database manipulation methods. | 367 // Database manipulation methods. |
366 void RegisterTrackerAsAppRoot(const std::string& app_id, | 368 void RegisterTrackerAsAppRoot(const std::string& app_id, |
367 int64 tracker_id); | 369 int64 tracker_id); |
368 | 370 |
369 void CreateTrackerForParentAndFileID(const FileTracker& parent_tracker, | 371 void CreateTrackerForParentAndFileID(const FileTracker& parent_tracker, |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
424 | 426 |
425 base::SequenceChecker worker_sequence_checker_; | 427 base::SequenceChecker worker_sequence_checker_; |
426 | 428 |
427 DISALLOW_COPY_AND_ASSIGN(MetadataDatabase); | 429 DISALLOW_COPY_AND_ASSIGN(MetadataDatabase); |
428 }; | 430 }; |
429 | 431 |
430 } // namespace drive_backend | 432 } // namespace drive_backend |
431 } // namespace sync_file_system | 433 } // namespace sync_file_system |
432 | 434 |
433 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_H_ | 435 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_H_ |
OLD | NEW |