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 base::SingleThreadTaskRunner* ui_task_runner, | 25 base::SingleThreadTaskRunner* ui_task_runner, |
26 base::SequencedTaskRunner* worker_task_runner, | 26 base::SequencedTaskRunner* worker_task_runner) |
27 base::SequencedTaskRunner* file_task_runner) | |
28 : drive_service_(drive_service.Pass()), | 27 : drive_service_(drive_service.Pass()), |
29 drive_uploader_(drive_uploader.Pass()), | 28 drive_uploader_(drive_uploader.Pass()), |
30 task_logger_(task_logger | 29 task_logger_(task_logger |
31 ? task_logger->AsWeakPtr() | 30 ? task_logger->AsWeakPtr() |
32 : base::WeakPtr<TaskLogger>()), | 31 : base::WeakPtr<TaskLogger>()), |
33 remote_change_processor_(NULL), | 32 remote_change_processor_(NULL), |
34 ui_task_runner_(ui_task_runner), | 33 ui_task_runner_(ui_task_runner), |
35 worker_task_runner_(worker_task_runner), | 34 worker_task_runner_(worker_task_runner) { |
36 file_task_runner_(file_task_runner) { | |
37 sequence_checker_.DetachFromSequence(); | 35 sequence_checker_.DetachFromSequence(); |
38 } | 36 } |
39 | 37 |
40 SyncEngineContext::~SyncEngineContext() { | 38 SyncEngineContext::~SyncEngineContext() { |
41 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); | 39 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); |
42 } | 40 } |
43 | 41 |
44 drive::DriveServiceInterface* SyncEngineContext::GetDriveService() { | 42 drive::DriveServiceInterface* SyncEngineContext::GetDriveService() { |
45 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); | 43 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); |
46 return drive_service_.get(); | 44 return drive_service_.get(); |
(...skipping 27 matching lines...) Expand all Loading... |
74 base::SingleThreadTaskRunner* SyncEngineContext::GetUITaskRunner() { | 72 base::SingleThreadTaskRunner* SyncEngineContext::GetUITaskRunner() { |
75 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); | 73 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); |
76 return ui_task_runner_.get(); | 74 return ui_task_runner_.get(); |
77 } | 75 } |
78 | 76 |
79 base::SequencedTaskRunner* SyncEngineContext::GetWorkerTaskRunner() { | 77 base::SequencedTaskRunner* SyncEngineContext::GetWorkerTaskRunner() { |
80 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); | 78 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); |
81 return worker_task_runner_.get(); | 79 return worker_task_runner_.get(); |
82 } | 80 } |
83 | 81 |
84 base::SequencedTaskRunner* SyncEngineContext::GetFileTaskRunner() { | |
85 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); | |
86 return file_task_runner_.get(); | |
87 } | |
88 | |
89 void SyncEngineContext::SetMetadataDatabase( | 82 void SyncEngineContext::SetMetadataDatabase( |
90 scoped_ptr<MetadataDatabase> metadata_database) { | 83 scoped_ptr<MetadataDatabase> metadata_database) { |
91 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); | 84 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); |
92 if (metadata_database) | 85 if (metadata_database) |
93 metadata_database_ = metadata_database.Pass(); | 86 metadata_database_ = metadata_database.Pass(); |
94 } | 87 } |
95 | 88 |
96 void SyncEngineContext::SetRemoteChangeProcessor( | 89 void SyncEngineContext::SetRemoteChangeProcessor( |
97 RemoteChangeProcessor* remote_change_processor) { | 90 RemoteChangeProcessor* remote_change_processor) { |
98 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); | 91 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); |
99 DCHECK(remote_change_processor); | 92 DCHECK(remote_change_processor); |
100 remote_change_processor_ = remote_change_processor; | 93 remote_change_processor_ = remote_change_processor; |
101 } | 94 } |
102 | 95 |
103 void SyncEngineContext::DetachFromSequence() { | 96 void SyncEngineContext::DetachFromSequence() { |
104 sequence_checker_.DetachFromSequence(); | 97 sequence_checker_.DetachFromSequence(); |
105 } | 98 } |
106 | 99 |
107 } // namespace drive_backend | 100 } // namespace drive_backend |
108 } // namespace sync_file_system | 101 } // namespace sync_file_system |
OLD | NEW |