Home | History | Annotate | Download | only in engine
      1 // Copyright (c) 2011 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 "chrome/browser/sync/engine/mock_model_safe_workers.h"
      6 
      7 namespace browser_sync {
      8 
      9 ModelSafeGroup MockUIModelWorker::GetModelSafeGroup() { return GROUP_UI; }
     10 bool MockUIModelWorker::CurrentThreadIsWorkThread() { return true; }
     11 
     12 ModelSafeGroup MockDBModelWorker::GetModelSafeGroup() { return GROUP_DB; }
     13 bool MockDBModelWorker::CurrentThreadIsWorkThread() { return true; }
     14 
     15 MockModelSafeWorkerRegistrar::~MockModelSafeWorkerRegistrar() {}
     16 
     17 // static
     18 MockModelSafeWorkerRegistrar*
     19     MockModelSafeWorkerRegistrar::PassiveBookmarks() {
     20   ModelSafeRoutingInfo routes;
     21   routes[syncable::BOOKMARKS] = GROUP_PASSIVE;
     22   MockModelSafeWorkerRegistrar* m = new MockModelSafeWorkerRegistrar(routes);
     23   m->passive_worker_ = new ModelSafeWorker();
     24   return m;
     25 }
     26 
     27 MockModelSafeWorkerRegistrar* MockModelSafeWorkerRegistrar::PassiveForTypes(
     28     const syncable::ModelTypeBitSet& set) {
     29   ModelSafeRoutingInfo routes;
     30   for (int i = syncable::UNSPECIFIED ; i < syncable::MODEL_TYPE_COUNT; ++i) {
     31       syncable::ModelType type = syncable::ModelTypeFromInt(i);
     32       if (set[type]) {
     33         routes[type] = GROUP_PASSIVE;
     34       }
     35   }
     36   MockModelSafeWorkerRegistrar* m = new MockModelSafeWorkerRegistrar(routes);
     37   m->passive_worker_ = new ModelSafeWorker();
     38   return m;
     39 }
     40 
     41 
     42 void MockModelSafeWorkerRegistrar::GetWorkers(
     43     std::vector<ModelSafeWorker*>* out) {
     44   if (passive_worker_.get())
     45     out->push_back(passive_worker_.get());
     46 }
     47 
     48 void MockModelSafeWorkerRegistrar::GetModelSafeRoutingInfo(
     49     ModelSafeRoutingInfo* out) {
     50   *out = routes_;
     51 }
     52 
     53 MockModelSafeWorkerRegistrar::MockModelSafeWorkerRegistrar(
     54     const ModelSafeRoutingInfo& routes) {
     55   routes_ = routes;
     56 }
     57 
     58 }  // namespace browser_sync
     59