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 "sync/sessions/model_type_registry.h" | 5 #include "sync/sessions/model_type_registry.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/message_loop/message_loop_proxy.h" | 8 #include "base/message_loop/message_loop_proxy.h" |
9 #include "base/observer_list.h" | 9 #include "base/observer_list.h" |
10 #include "sync/engine/directory_commit_contributor.h" | 10 #include "sync/engine/directory_commit_contributor.h" |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
96 void ModelTypeSyncWorkerWrapper::EnqueueForCommit( | 96 void ModelTypeSyncWorkerWrapper::EnqueueForCommit( |
97 const CommitRequestDataList& list) { | 97 const CommitRequestDataList& list) { |
98 sync_thread_->PostTask( | 98 sync_thread_->PostTask( |
99 FROM_HERE, | 99 FROM_HERE, |
100 base::Bind(&ModelTypeSyncWorkerImpl::EnqueueForCommit, worker_, list)); | 100 base::Bind(&ModelTypeSyncWorkerImpl::EnqueueForCommit, worker_, list)); |
101 } | 101 } |
102 | 102 |
103 } // namespace | 103 } // namespace |
104 | 104 |
105 ModelTypeRegistry::ModelTypeRegistry() | 105 ModelTypeRegistry::ModelTypeRegistry() |
106 : directory_(NULL), weak_ptr_factory_(this) { | 106 : directory_(NULL), weak_ptr_factory_(this) { |
pavely
2014/07/09 23:13:18
Set nudge_handler_ to NULL.
This change assumes (n
rlarocque
2014/07/10 00:12:29
Removed the ctor.
| |
107 } | 107 } |
108 | 108 |
109 ModelTypeRegistry::ModelTypeRegistry( | 109 ModelTypeRegistry::ModelTypeRegistry( |
110 const std::vector<scoped_refptr<ModelSafeWorker> >& workers, | 110 const std::vector<scoped_refptr<ModelSafeWorker> >& workers, |
111 syncable::Directory* directory) | 111 syncable::Directory* directory, |
112 : directory_(directory), weak_ptr_factory_(this) { | 112 NudgeHandler* nudge_handler) |
113 : directory_(directory), | |
114 nudge_handler_(nudge_handler), | |
115 weak_ptr_factory_(this) { | |
113 for (size_t i = 0u; i < workers.size(); ++i) { | 116 for (size_t i = 0u; i < workers.size(); ++i) { |
114 workers_map_.insert( | 117 workers_map_.insert( |
115 std::make_pair(workers[i]->GetModelSafeGroup(), workers[i])); | 118 std::make_pair(workers[i]->GetModelSafeGroup(), workers[i])); |
116 } | 119 } |
117 } | 120 } |
118 | 121 |
119 ModelTypeRegistry::~ModelTypeRegistry() {} | 122 ModelTypeRegistry::~ModelTypeRegistry() {} |
120 | 123 |
121 void ModelTypeRegistry::SetEnabledDirectoryTypes( | 124 void ModelTypeRegistry::SetEnabledDirectoryTypes( |
122 const ModelSafeRoutingInfo& routing_info) { | 125 const ModelSafeRoutingInfo& routing_info) { |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
186 void ModelTypeRegistry::ConnectSyncTypeToWorker( | 189 void ModelTypeRegistry::ConnectSyncTypeToWorker( |
187 ModelType type, | 190 ModelType type, |
188 const DataTypeState& data_type_state, | 191 const DataTypeState& data_type_state, |
189 const scoped_refptr<base::SequencedTaskRunner>& type_task_runner, | 192 const scoped_refptr<base::SequencedTaskRunner>& type_task_runner, |
190 const base::WeakPtr<ModelTypeSyncProxyImpl>& proxy_impl) { | 193 const base::WeakPtr<ModelTypeSyncProxyImpl>& proxy_impl) { |
191 DVLOG(1) << "Enabling an off-thread sync type: " << ModelTypeToString(type); | 194 DVLOG(1) << "Enabling an off-thread sync type: " << ModelTypeToString(type); |
192 | 195 |
193 // Initialize Worker -> Proxy communication channel. | 196 // Initialize Worker -> Proxy communication channel. |
194 scoped_ptr<ModelTypeSyncProxy> proxy( | 197 scoped_ptr<ModelTypeSyncProxy> proxy( |
195 new ModelTypeSyncProxyWrapper(proxy_impl, type_task_runner)); | 198 new ModelTypeSyncProxyWrapper(proxy_impl, type_task_runner)); |
196 scoped_ptr<ModelTypeSyncWorkerImpl> worker( | 199 scoped_ptr<ModelTypeSyncWorkerImpl> worker(new ModelTypeSyncWorkerImpl( |
197 new ModelTypeSyncWorkerImpl(type, data_type_state, proxy.Pass())); | 200 type, data_type_state, nudge_handler_, proxy.Pass())); |
198 | 201 |
199 // Initialize Proxy -> Worker communication channel. | 202 // Initialize Proxy -> Worker communication channel. |
200 scoped_ptr<ModelTypeSyncWorker> wrapped_worker( | 203 scoped_ptr<ModelTypeSyncWorker> wrapped_worker( |
201 new ModelTypeSyncWorkerWrapper(worker->AsWeakPtr(), | 204 new ModelTypeSyncWorkerWrapper(worker->AsWeakPtr(), |
202 scoped_refptr<base::SequencedTaskRunner>( | 205 scoped_refptr<base::SequencedTaskRunner>( |
203 base::MessageLoopProxy::current()))); | 206 base::MessageLoopProxy::current()))); |
204 type_task_runner->PostTask(FROM_HERE, | 207 type_task_runner->PostTask(FROM_HERE, |
205 base::Bind(&ModelTypeSyncProxyImpl::OnConnect, | 208 base::Bind(&ModelTypeSyncProxyImpl::OnConnect, |
206 proxy_impl, | 209 proxy_impl, |
207 base::Passed(&wrapped_worker))); | 210 base::Passed(&wrapped_worker))); |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
298 for (ScopedVector<ModelTypeSyncWorkerImpl>::const_iterator it = | 301 for (ScopedVector<ModelTypeSyncWorkerImpl>::const_iterator it = |
299 model_type_sync_workers_.begin(); | 302 model_type_sync_workers_.begin(); |
300 it != model_type_sync_workers_.end(); | 303 it != model_type_sync_workers_.end(); |
301 ++it) { | 304 ++it) { |
302 enabled_off_thread_types.Put((*it)->GetModelType()); | 305 enabled_off_thread_types.Put((*it)->GetModelType()); |
303 } | 306 } |
304 return enabled_off_thread_types; | 307 return enabled_off_thread_types; |
305 } | 308 } |
306 | 309 |
307 } // namespace syncer | 310 } // namespace syncer |
OLD | NEW |