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/internal_api/public/engine/passive_model_worker.h"
      6 
      7 #include "base/message_loop/message_loop.h"
      8 
      9 namespace syncer {
     10 
     11 PassiveModelWorker::PassiveModelWorker(const base::MessageLoop* sync_loop,
     12                                        WorkerLoopDestructionObserver* observer)
     13     : ModelSafeWorker(observer),
     14       sync_loop_(sync_loop) {
     15 }
     16 
     17 PassiveModelWorker::~PassiveModelWorker() {
     18 }
     19 
     20 void PassiveModelWorker::RegisterForLoopDestruction() {
     21   SetWorkingLoopToCurrent();
     22 }
     23 
     24 SyncerError PassiveModelWorker::DoWorkAndWaitUntilDoneImpl(
     25     const WorkCallback& work) {
     26   DCHECK_EQ(base::MessageLoop::current(), sync_loop_);
     27   // Simply do the work on the current thread.
     28   return work.Run();
     29 }
     30 
     31 ModelSafeGroup PassiveModelWorker::GetModelSafeGroup() {
     32   return GROUP_PASSIVE;
     33 }
     34 
     35 }  // namespace syncer
     36