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
7namespace syncer {
8
9FakeModelWorker::FakeModelWorker(ModelSafeGroup group)
10    : ModelSafeWorker(NULL),
11      group_(group) {}
12
13FakeModelWorker::~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
21void FakeModelWorker::RegisterForLoopDestruction() {
22  NOTREACHED();
23}
24
25SyncerError FakeModelWorker::DoWorkAndWaitUntilDoneImpl(
26    const WorkCallback& work) {
27  DCHECK(CalledOnValidThread());
28  // Simply do the work on the current thread.
29  return work.Run();
30}
31
32ModelSafeGroup FakeModelWorker::GetModelSafeGroup() {
33  DCHECK(CalledOnValidThread());
34  return group_;
35}
36
37}  // namespace syncer
38