Home | History | Annotate | Download | only in engine
      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