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 3 // found in the LICENSE file. 4 5 #include "sync/test/engine/fake_model_worker.h" 6 7 namespace syncer { 8 9 FakeModelWorker::FakeModelWorker(ModelSafeGroup group) 10 : ModelSafeWorker(NULL), 11 group_(group) {} 12 13 FakeModelWorker::~FakeModelWorker() { 14 // We may need to relax this is FakeModelWorker is used in a 15 // multi-threaded test; since ModelSafeWorkers are 16 // RefCountedThreadSafe, they could theoretically be destroyed from 17 // a different thread. 18 DCHECK(CalledOnValidThread()); 19 } 20 21 void FakeModelWorker::RegisterForLoopDestruction() { 22 NOTREACHED(); 23 } 24 25 SyncerError FakeModelWorker::DoWorkAndWaitUntilDoneImpl( 26 const WorkCallback& work) { 27 DCHECK(CalledOnValidThread()); 28 // Simply do the work on the current thread. 29 return work.Run(); 30 } 31 32 ModelSafeGroup FakeModelWorker::GetModelSafeGroup() { 33 DCHECK(CalledOnValidThread()); 34 return group_; 35 } 36 37 } // namespace syncer 38