fake_model_worker.cc revision 90dce4d38c5ff5333bea97d859d4e484e27edf0c
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "sync/test/engine/fake_model_worker.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace syncer { 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)FakeModelWorker::FakeModelWorker(ModelSafeGroup group) 1090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) : ModelSafeWorker(NULL), 1190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) group_(group) {} 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)FakeModelWorker::~FakeModelWorker() { 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // We may need to relax this is FakeModelWorker is used in a 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // multi-threaded test; since ModelSafeWorkers are 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // RefCountedThreadSafe, they could theoretically be destroyed from 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // a different thread. 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DCHECK(CalledOnValidThread()); 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)void FakeModelWorker::RegisterForLoopDestruction() { 2290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) NOTREACHED(); 2390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)} 2490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 2590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)SyncerError FakeModelWorker::DoWorkAndWaitUntilDoneImpl( 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const WorkCallback& work) { 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DCHECK(CalledOnValidThread()); 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Simply do the work on the current thread. 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return work.Run(); 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)ModelSafeGroup FakeModelWorker::GetModelSafeGroup() { 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DCHECK(CalledOnValidThread()); 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return group_; 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace syncer 38