| 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 |