OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/glue/sync_backend_registrar.h" | 5 #include "chrome/browser/sync/glue/sync_backend_registrar.h" |
6 | 6 |
7 #include <cstddef> | 7 #include <cstddef> |
8 | 8 |
9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 base::AutoLock lock(lock_); | 195 base::AutoLock lock(lock_); |
196 for (WorkerMap::const_iterator it = workers_.begin(); | 196 for (WorkerMap::const_iterator it = workers_.begin(); |
197 it != workers_.end(); ++it) { | 197 it != workers_.end(); ++it) { |
198 it->second->RequestStop(); | 198 it->second->RequestStop(); |
199 } | 199 } |
200 } | 200 } |
201 | 201 |
202 void SyncBackendRegistrar::ActivateDataType( | 202 void SyncBackendRegistrar::ActivateDataType( |
203 syncer::ModelType type, | 203 syncer::ModelType type, |
204 syncer::ModelSafeGroup group, | 204 syncer::ModelSafeGroup group, |
205 ChangeProcessor* change_processor, | 205 sync_driver::ChangeProcessor* change_processor, |
206 syncer::UserShare* user_share) { | 206 syncer::UserShare* user_share) { |
207 DVLOG(1) << "Activate: " << syncer::ModelTypeToString(type); | 207 DVLOG(1) << "Activate: " << syncer::ModelTypeToString(type); |
208 | 208 |
209 base::AutoLock lock(lock_); | 209 base::AutoLock lock(lock_); |
210 // Ensure that the given data type is in the PASSIVE group. | 210 // Ensure that the given data type is in the PASSIVE group. |
211 syncer::ModelSafeRoutingInfo::iterator i = routing_info_.find(type); | 211 syncer::ModelSafeRoutingInfo::iterator i = routing_info_.find(type); |
212 DCHECK(i != routing_info_.end()); | 212 DCHECK(i != routing_info_.end()); |
213 DCHECK_EQ(i->second, syncer::GROUP_PASSIVE); | 213 DCHECK_EQ(i->second, syncer::GROUP_PASSIVE); |
214 routing_info_[type] = group; | 214 routing_info_[type] = group; |
215 | 215 |
(...skipping 21 matching lines...) Expand all Loading... |
237 bool SyncBackendRegistrar::IsTypeActivatedForTest( | 237 bool SyncBackendRegistrar::IsTypeActivatedForTest( |
238 syncer::ModelType type) const { | 238 syncer::ModelType type) const { |
239 return GetProcessor(type) != NULL; | 239 return GetProcessor(type) != NULL; |
240 } | 240 } |
241 | 241 |
242 void SyncBackendRegistrar::OnChangesApplied( | 242 void SyncBackendRegistrar::OnChangesApplied( |
243 syncer::ModelType model_type, | 243 syncer::ModelType model_type, |
244 int64 model_version, | 244 int64 model_version, |
245 const syncer::BaseTransaction* trans, | 245 const syncer::BaseTransaction* trans, |
246 const syncer::ImmutableChangeRecordList& changes) { | 246 const syncer::ImmutableChangeRecordList& changes) { |
247 ChangeProcessor* processor = GetProcessor(model_type); | 247 sync_driver::ChangeProcessor* processor = GetProcessor(model_type); |
248 if (!processor) | 248 if (!processor) |
249 return; | 249 return; |
250 | 250 |
251 processor->ApplyChangesFromSyncModel(trans, model_version, changes); | 251 processor->ApplyChangesFromSyncModel(trans, model_version, changes); |
252 } | 252 } |
253 | 253 |
254 void SyncBackendRegistrar::OnChangesComplete(syncer::ModelType model_type) { | 254 void SyncBackendRegistrar::OnChangesComplete(syncer::ModelType model_type) { |
255 ChangeProcessor* processor = GetProcessor(model_type); | 255 sync_driver::ChangeProcessor* processor = GetProcessor(model_type); |
256 if (!processor) | 256 if (!processor) |
257 return; | 257 return; |
258 | 258 |
259 // This call just notifies the processor that it can commit; it | 259 // This call just notifies the processor that it can commit; it |
260 // already buffered any changes it plans to makes so needs no | 260 // already buffered any changes it plans to makes so needs no |
261 // further information. | 261 // further information. |
262 processor->CommitChangesFromSyncModel(); | 262 processor->CommitChangesFromSyncModel(); |
263 } | 263 } |
264 | 264 |
265 void SyncBackendRegistrar::GetWorkers( | 265 void SyncBackendRegistrar::GetWorkers( |
266 std::vector<scoped_refptr<syncer::ModelSafeWorker> >* out) { | 266 std::vector<scoped_refptr<syncer::ModelSafeWorker> >* out) { |
267 base::AutoLock lock(lock_); | 267 base::AutoLock lock(lock_); |
268 out->clear(); | 268 out->clear(); |
269 for (WorkerMap::const_iterator it = workers_.begin(); | 269 for (WorkerMap::const_iterator it = workers_.begin(); |
270 it != workers_.end(); ++it) { | 270 it != workers_.end(); ++it) { |
271 out->push_back(it->second.get()); | 271 out->push_back(it->second.get()); |
272 } | 272 } |
273 } | 273 } |
274 | 274 |
275 void SyncBackendRegistrar::GetModelSafeRoutingInfo( | 275 void SyncBackendRegistrar::GetModelSafeRoutingInfo( |
276 syncer::ModelSafeRoutingInfo* out) { | 276 syncer::ModelSafeRoutingInfo* out) { |
277 base::AutoLock lock(lock_); | 277 base::AutoLock lock(lock_); |
278 syncer::ModelSafeRoutingInfo copy(routing_info_); | 278 syncer::ModelSafeRoutingInfo copy(routing_info_); |
279 out->swap(copy); | 279 out->swap(copy); |
280 } | 280 } |
281 | 281 |
282 ChangeProcessor* SyncBackendRegistrar::GetProcessor( | 282 sync_driver::ChangeProcessor* SyncBackendRegistrar::GetProcessor( |
283 syncer::ModelType type) const { | 283 syncer::ModelType type) const { |
284 base::AutoLock lock(lock_); | 284 base::AutoLock lock(lock_); |
285 ChangeProcessor* processor = GetProcessorUnsafe(type); | 285 sync_driver::ChangeProcessor* processor = GetProcessorUnsafe(type); |
286 if (!processor) | 286 if (!processor) |
287 return NULL; | 287 return NULL; |
288 | 288 |
289 // We can only check if |processor| exists, as otherwise the type is | 289 // We can only check if |processor| exists, as otherwise the type is |
290 // mapped to syncer::GROUP_PASSIVE. | 290 // mapped to syncer::GROUP_PASSIVE. |
291 CHECK(IsCurrentThreadSafeForModel(type)); | 291 CHECK(IsCurrentThreadSafeForModel(type)); |
292 return processor; | 292 return processor; |
293 } | 293 } |
294 | 294 |
295 ChangeProcessor* SyncBackendRegistrar::GetProcessorUnsafe( | 295 sync_driver::ChangeProcessor* SyncBackendRegistrar::GetProcessorUnsafe( |
296 syncer::ModelType type) const { | 296 syncer::ModelType type) const { |
297 lock_.AssertAcquired(); | 297 lock_.AssertAcquired(); |
298 std::map<syncer::ModelType, ChangeProcessor*>::const_iterator | 298 std::map<syncer::ModelType, sync_driver::ChangeProcessor*>::const_iterator |
299 it = processors_.find(type); | 299 it = processors_.find(type); |
300 | 300 |
301 // Until model association happens for a datatype, it will not | 301 // Until model association happens for a datatype, it will not |
302 // appear in the processors list. During this time, it is OK to | 302 // appear in the processors list. During this time, it is OK to |
303 // drop changes on the floor (since model association has not | 303 // drop changes on the floor (since model association has not |
304 // happened yet). When the data type is activated, model | 304 // happened yet). When the data type is activated, model |
305 // association takes place then the change processor is added to the | 305 // association takes place then the change processor is added to the |
306 // |processors_| list. | 306 // |processors_| list. |
307 if (it == processors_.end()) | 307 if (it == processors_.end()) |
308 return NULL; | 308 return NULL; |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
367 base::Bind(&SyncBackendRegistrar::OnWorkerUnregistrationDone, | 367 base::Bind(&SyncBackendRegistrar::OnWorkerUnregistrationDone, |
368 base::Unretained(this))); | 368 base::Unretained(this))); |
369 } | 369 } |
370 } | 370 } |
371 | 371 |
372 base::Thread* SyncBackendRegistrar::sync_thread() { | 372 base::Thread* SyncBackendRegistrar::sync_thread() { |
373 return sync_thread_.get(); | 373 return sync_thread_.get(); |
374 } | 374 } |
375 | 375 |
376 } // namespace browser_sync | 376 } // namespace browser_sync |
OLD | NEW |