| 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 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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( | 135 static void Create( |
| 136 const scoped_refptr<base::SequencedTaskRunner>& worker_task_runner, | 136 const scoped_refptr<base::SequencedTaskRunner>& worker_task_runner, |
| 137 const base::FilePath& database_path, | 137 const base::FilePath& database_path, |
| 138 leveldb::Env* env_override, | 138 leveldb::Env* env_override, |
| 139 const CreateCallback& callback); | 139 const CreateCallback& callback); |
| 140 static SyncStatusCode CreateForTesting( | 140 static SyncStatusCode CreateForTesting( |
| 141 scoped_ptr<LevelDBWrapper> db, | 141 scoped_ptr<LevelDBWrapper> db, |
| 142 bool enable_on_disk_index, |
| 142 scoped_ptr<MetadataDatabase>* metadata_database_out); | 143 scoped_ptr<MetadataDatabase>* metadata_database_out); |
| 143 | 144 |
| 144 ~MetadataDatabase(); | 145 ~MetadataDatabase(); |
| 145 | 146 |
| 146 static void ClearDatabase(scoped_ptr<MetadataDatabase> metadata_database); | 147 static void ClearDatabase(scoped_ptr<MetadataDatabase> metadata_database); |
| 147 | 148 |
| 148 int64 GetLargestFetchedChangeID() const; | 149 int64 GetLargestFetchedChangeID() const; |
| 149 int64 GetSyncRootTrackerID() const; | 150 int64 GetSyncRootTrackerID() const; |
| 150 bool HasSyncRoot() const; | 151 bool HasSyncRoot() const; |
| 151 | 152 |
| (...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 351 void SweepDirtyTrackers(const std::vector<std::string>& file_ids, | 352 void SweepDirtyTrackers(const std::vector<std::string>& file_ids, |
| 352 const SyncStatusCallback& callback); | 353 const SyncStatusCallback& callback); |
| 353 | 354 |
| 354 private: | 355 private: |
| 355 friend class MetadataDatabaseTest; | 356 friend class MetadataDatabaseTest; |
| 356 struct CreateParam; | 357 struct CreateParam; |
| 357 | 358 |
| 358 MetadataDatabase( | 359 MetadataDatabase( |
| 359 const scoped_refptr<base::SequencedTaskRunner>& worker_task_runner, | 360 const scoped_refptr<base::SequencedTaskRunner>& worker_task_runner, |
| 360 const base::FilePath& database_path, | 361 const base::FilePath& database_path, |
| 362 bool enable_on_disk_index, |
| 361 leveldb::Env* env_override); | 363 leveldb::Env* env_override); |
| 362 static void CreateOnWorkerTaskRunner( | 364 static void CreateOnWorkerTaskRunner( |
| 363 scoped_ptr<CreateParam> create_param, | 365 scoped_ptr<CreateParam> create_param, |
| 364 const CreateCallback& callback); | 366 const CreateCallback& callback); |
| 365 SyncStatusCode Initialize(); | 367 SyncStatusCode Initialize(); |
| 366 | 368 |
| 367 // Database manipulation methods. | 369 // Database manipulation methods. |
| 368 void RegisterTrackerAsAppRoot(const std::string& app_id, | 370 void RegisterTrackerAsAppRoot(const std::string& app_id, |
| 369 int64 tracker_id); | 371 int64 tracker_id); |
| 370 | 372 |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 411 const std::string& file_id); | 413 const std::string& file_id); |
| 412 | 414 |
| 413 void DetachFromSequence(); | 415 void DetachFromSequence(); |
| 414 bool CanClearDirty(const FileTracker& tracker); | 416 bool CanClearDirty(const FileTracker& tracker); |
| 415 | 417 |
| 416 scoped_refptr<base::SequencedTaskRunner> worker_task_runner_; | 418 scoped_refptr<base::SequencedTaskRunner> worker_task_runner_; |
| 417 base::FilePath database_path_; | 419 base::FilePath database_path_; |
| 418 leveldb::Env* env_override_; | 420 leveldb::Env* env_override_; |
| 419 scoped_ptr<LevelDBWrapper> db_; | 421 scoped_ptr<LevelDBWrapper> db_; |
| 420 | 422 |
| 423 bool enable_on_disk_index_; |
| 424 |
| 421 int64 largest_known_change_id_; | 425 int64 largest_known_change_id_; |
| 422 | 426 |
| 423 scoped_ptr<MetadataDatabaseIndexInterface> index_; | 427 scoped_ptr<MetadataDatabaseIndexInterface> index_; |
| 424 | 428 |
| 425 base::WeakPtrFactory<MetadataDatabase> weak_ptr_factory_; | 429 base::WeakPtrFactory<MetadataDatabase> weak_ptr_factory_; |
| 426 | 430 |
| 427 base::SequenceChecker worker_sequence_checker_; | 431 base::SequenceChecker worker_sequence_checker_; |
| 428 | 432 |
| 429 DISALLOW_COPY_AND_ASSIGN(MetadataDatabase); | 433 DISALLOW_COPY_AND_ASSIGN(MetadataDatabase); |
| 430 }; | 434 }; |
| 431 | 435 |
| 432 } // namespace drive_backend | 436 } // namespace drive_backend |
| 433 } // namespace sync_file_system | 437 } // namespace sync_file_system |
| 434 | 438 |
| 435 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_H_ | 439 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_H_ |
| OLD | NEW |