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 |