OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #include "chrome/browser/sync_file_system/drive_backend/sync_engine_context.h" | 5 #include "chrome/browser/sync_file_system/drive_backend/sync_engine_context.h" |
6 | 6 |
7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "base/memory/ref_counted.h" | 8 #include "base/memory/ref_counted.h" |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "base/sequenced_task_runner.h" | 10 #include "base/sequenced_task_runner.h" |
11 #include "base/single_thread_task_runner.h" | 11 #include "base/single_thread_task_runner.h" |
12 #include "chrome/browser/drive/drive_service_interface.h" | 12 #include "chrome/browser/drive/drive_service_interface.h" |
13 #include "chrome/browser/drive/drive_uploader.h" | 13 #include "chrome/browser/drive/drive_uploader.h" |
14 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.h" | 14 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.h" |
15 #include "chrome/browser/sync_file_system/remote_change_processor.h" | 15 #include "chrome/browser/sync_file_system/remote_change_processor.h" |
16 #include "chrome/browser/sync_file_system/task_logger.h" | 16 #include "chrome/browser/sync_file_system/task_logger.h" |
17 | 17 |
18 namespace sync_file_system { | 18 namespace sync_file_system { |
19 namespace drive_backend { | 19 namespace drive_backend { |
20 | 20 |
21 SyncEngineContext::SyncEngineContext( | 21 SyncEngineContext::SyncEngineContext( |
22 scoped_ptr<drive::DriveServiceInterface> drive_service, | 22 scoped_ptr<drive::DriveServiceInterface> drive_service, |
23 scoped_ptr<drive::DriveUploaderInterface> drive_uploader, | 23 scoped_ptr<drive::DriveUploaderInterface> drive_uploader, |
24 TaskLogger* task_logger, | 24 TaskLogger* task_logger, |
25 const scoped_refptr<base::SingleThreadTaskRunner>& ui_task_runner, | 25 const scoped_refptr<base::SingleThreadTaskRunner>& ui_task_runner, |
26 const scoped_refptr<base::SequencedTaskRunner>& worker_task_runner) | 26 const scoped_refptr<base::SequencedTaskRunner>& worker_task_runner, |
| 27 const scoped_refptr<base::SequencedWorkerPool>& worker_pool) |
27 : drive_service_(drive_service.Pass()), | 28 : drive_service_(drive_service.Pass()), |
28 drive_uploader_(drive_uploader.Pass()), | 29 drive_uploader_(drive_uploader.Pass()), |
29 task_logger_(task_logger ? task_logger->AsWeakPtr() | 30 task_logger_(task_logger ? task_logger->AsWeakPtr() |
30 : base::WeakPtr<TaskLogger>()), | 31 : base::WeakPtr<TaskLogger>()), |
31 remote_change_processor_(nullptr), | 32 remote_change_processor_(nullptr), |
32 ui_task_runner_(ui_task_runner), | 33 ui_task_runner_(ui_task_runner), |
33 worker_task_runner_(worker_task_runner) { | 34 worker_task_runner_(worker_task_runner), |
| 35 worker_pool_(worker_pool) { |
34 sequence_checker_.DetachFromSequence(); | 36 sequence_checker_.DetachFromSequence(); |
35 } | 37 } |
36 | 38 |
37 SyncEngineContext::~SyncEngineContext() { | 39 SyncEngineContext::~SyncEngineContext() { |
38 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); | 40 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); |
39 } | 41 } |
40 | 42 |
41 drive::DriveServiceInterface* SyncEngineContext::GetDriveService() { | 43 drive::DriveServiceInterface* SyncEngineContext::GetDriveService() { |
42 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); | 44 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); |
43 return drive_service_.get(); | 45 return drive_service_.get(); |
(...skipping 27 matching lines...) Expand all Loading... |
71 base::SingleThreadTaskRunner* SyncEngineContext::GetUITaskRunner() { | 73 base::SingleThreadTaskRunner* SyncEngineContext::GetUITaskRunner() { |
72 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); | 74 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); |
73 return ui_task_runner_.get(); | 75 return ui_task_runner_.get(); |
74 } | 76 } |
75 | 77 |
76 base::SequencedTaskRunner* SyncEngineContext::GetWorkerTaskRunner() { | 78 base::SequencedTaskRunner* SyncEngineContext::GetWorkerTaskRunner() { |
77 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); | 79 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); |
78 return worker_task_runner_.get(); | 80 return worker_task_runner_.get(); |
79 } | 81 } |
80 | 82 |
| 83 base::SequencedWorkerPool* SyncEngineContext::GetWorkerPool() { |
| 84 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); |
| 85 return worker_pool_.get(); |
| 86 } |
| 87 |
81 void SyncEngineContext::SetMetadataDatabase( | 88 void SyncEngineContext::SetMetadataDatabase( |
82 scoped_ptr<MetadataDatabase> metadata_database) { | 89 scoped_ptr<MetadataDatabase> metadata_database) { |
83 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); | 90 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); |
84 if (metadata_database) | 91 if (metadata_database) |
85 metadata_database_ = metadata_database.Pass(); | 92 metadata_database_ = metadata_database.Pass(); |
86 } | 93 } |
87 | 94 |
88 void SyncEngineContext::SetRemoteChangeProcessor( | 95 void SyncEngineContext::SetRemoteChangeProcessor( |
89 RemoteChangeProcessor* remote_change_processor) { | 96 RemoteChangeProcessor* remote_change_processor) { |
90 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); | 97 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); |
91 DCHECK(remote_change_processor); | 98 DCHECK(remote_change_processor); |
92 remote_change_processor_ = remote_change_processor; | 99 remote_change_processor_ = remote_change_processor; |
93 } | 100 } |
94 | 101 |
95 void SyncEngineContext::DetachFromSequence() { | 102 void SyncEngineContext::DetachFromSequence() { |
96 sequence_checker_.DetachFromSequence(); | 103 sequence_checker_.DetachFromSequence(); |
97 } | 104 } |
98 | 105 |
99 } // namespace drive_backend | 106 } // namespace drive_backend |
100 } // namespace sync_file_system | 107 } // namespace sync_file_system |
OLD | NEW |