Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(122)

Side by Side Diff: chrome/browser/sync_file_system/drive_backend/metadata_database.h

Issue 437943002: [SyncFS] Remove usage of file task runner under drive_backend/ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 enum UpdateOption { 127 enum UpdateOption {
128 UPDATE_TRACKER_FOR_UNSYNCED_FILE, 128 UPDATE_TRACKER_FOR_UNSYNCED_FILE,
129 UPDATE_TRACKER_FOR_SYNCED_FILE, 129 UPDATE_TRACKER_FOR_SYNCED_FILE,
130 }; 130 };
131 131
132 // The entry point of the MetadataDatabase for production code. 132 // The entry point of the MetadataDatabase for production code.
133 // If |env_override| is non-NULL, internal LevelDB uses |env_override| instead 133 // If |env_override| is non-NULL, internal LevelDB uses |env_override| instead
134 // of leveldb::Env::Default(). Use leveldb::MemEnv in test code for faster 134 // of leveldb::Env::Default(). Use leveldb::MemEnv in test code for faster
135 // testing. 135 // testing.
136 static void Create(base::SequencedTaskRunner* worker_task_runner, 136 static void Create(base::SequencedTaskRunner* worker_task_runner,
137 base::SequencedTaskRunner* file_task_runner,
138 const base::FilePath& database_path, 137 const base::FilePath& database_path,
139 leveldb::Env* env_override, 138 leveldb::Env* env_override,
140 const CreateCallback& callback); 139 const CreateCallback& callback);
141 static SyncStatusCode CreateForTesting( 140 static SyncStatusCode CreateForTesting(
142 scoped_ptr<leveldb::DB> db, 141 scoped_ptr<leveldb::DB> db,
143 scoped_ptr<MetadataDatabase>* metadata_database_out); 142 scoped_ptr<MetadataDatabase>* metadata_database_out);
144 143
145 ~MetadataDatabase(); 144 ~MetadataDatabase();
146 145
147 static void ClearDatabase(scoped_ptr<MetadataDatabase> metadata_database); 146 static void ClearDatabase(scoped_ptr<MetadataDatabase> metadata_database);
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
343 bool GetConflictingTrackers(TrackerIDSet* trackers); 342 bool GetConflictingTrackers(TrackerIDSet* trackers);
344 343
345 // Sets |app_ids| to a list of all registered app ids. 344 // Sets |app_ids| to a list of all registered app ids.
346 void GetRegisteredAppIDs(std::vector<std::string>* app_ids); 345 void GetRegisteredAppIDs(std::vector<std::string>* app_ids);
347 346
348 private: 347 private:
349 friend class MetadataDatabaseTest; 348 friend class MetadataDatabaseTest;
350 struct CreateParam; 349 struct CreateParam;
351 350
352 MetadataDatabase(base::SequencedTaskRunner* worker_task_runner, 351 MetadataDatabase(base::SequencedTaskRunner* worker_task_runner,
353 base::SequencedTaskRunner* file_task_runner,
354 const base::FilePath& database_path, 352 const base::FilePath& database_path,
355 leveldb::Env* env_override); 353 leveldb::Env* env_override);
356 static void CreateOnFileTaskRunner( 354 static void CreateOnWorkerTaskRunner(
357 scoped_ptr<CreateParam> create_param, 355 scoped_ptr<CreateParam> create_param,
358 const CreateCallback& callback); 356 const CreateCallback& callback);
359 SyncStatusCode InitializeOnFileTaskRunner(); 357 SyncStatusCode Initialize();
360 358
361 // Database manipulation methods. 359 // Database manipulation methods.
362 void RegisterTrackerAsAppRoot(const std::string& app_id, 360 void RegisterTrackerAsAppRoot(const std::string& app_id,
363 int64 tracker_id, 361 int64 tracker_id,
364 leveldb::WriteBatch* batch); 362 leveldb::WriteBatch* batch);
365 363
366 void CreateTrackerForParentAndFileID(const FileTracker& parent_tracker, 364 void CreateTrackerForParentAndFileID(const FileTracker& parent_tracker,
367 const std::string& file_id, 365 const std::string& file_id,
368 leveldb::WriteBatch* batch); 366 leveldb::WriteBatch* batch);
369 void CreateTrackerForParentAndFileMetadata(const FileTracker& parent_tracker, 367 void CreateTrackerForParentAndFileMetadata(const FileTracker& parent_tracker,
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
411 leveldb::WriteBatch* batch); 409 leveldb::WriteBatch* batch);
412 410
413 void ForceActivateTrackerByPath(int64 parent_tracker_id, 411 void ForceActivateTrackerByPath(int64 parent_tracker_id,
414 const std::string& title, 412 const std::string& title,
415 const std::string& file_id, 413 const std::string& file_id,
416 leveldb::WriteBatch* batch); 414 leveldb::WriteBatch* batch);
417 415
418 void DetachFromSequence(); 416 void DetachFromSequence();
419 417
420 scoped_refptr<base::SequencedTaskRunner> worker_task_runner_; 418 scoped_refptr<base::SequencedTaskRunner> worker_task_runner_;
421 scoped_refptr<base::SequencedTaskRunner> file_task_runner_;
422 base::FilePath database_path_; 419 base::FilePath database_path_;
423 leveldb::Env* env_override_; 420 leveldb::Env* env_override_;
424 scoped_ptr<leveldb::DB> db_; 421 scoped_ptr<leveldb::DB> db_;
425 422
426 int64 largest_known_change_id_; 423 int64 largest_known_change_id_;
427 424
428 scoped_ptr<MetadataDatabaseIndexInterface> index_; 425 scoped_ptr<MetadataDatabaseIndexInterface> index_;
429 426
430 base::WeakPtrFactory<MetadataDatabase> weak_ptr_factory_; 427 base::WeakPtrFactory<MetadataDatabase> weak_ptr_factory_;
431 428
432 base::SequenceChecker worker_sequence_checker_; 429 base::SequenceChecker worker_sequence_checker_;
433 430
434 DISALLOW_COPY_AND_ASSIGN(MetadataDatabase); 431 DISALLOW_COPY_AND_ASSIGN(MetadataDatabase);
435 }; 432 };
436 433
437 } // namespace drive_backend 434 } // namespace drive_backend
438 } // namespace sync_file_system 435 } // namespace sync_file_system
439 436
440 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_H_ 437 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698