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 #ifndef CHROME_BROWSER_SYNC_ENGINE_MOCK_MODEL_SAFE_WORKERS_H_
      6 #define CHROME_BROWSER_SYNC_ENGINE_MOCK_MODEL_SAFE_WORKERS_H_
      7 #pragma once
      8 
      9 #include <vector>
     10 
     11 #include "base/memory/ref_counted.h"
     12 #include "chrome/browser/sync/engine/model_safe_worker.h"
     13 #include "chrome/browser/sync/syncable/model_type.h"
     14 
     15 namespace browser_sync {
     16 
     17 class MockUIModelWorker : public ModelSafeWorker {
     18  public:
     19   virtual ModelSafeGroup GetModelSafeGroup();
     20   virtual bool CurrentThreadIsWorkThread();
     21 };
     22 
     23 class MockDBModelWorker : public ModelSafeWorker {
     24  public:
     25   virtual ModelSafeGroup GetModelSafeGroup();
     26   virtual bool CurrentThreadIsWorkThread();
     27 };
     28 
     29 class MockModelSafeWorkerRegistrar : public ModelSafeWorkerRegistrar {
     30  public:
     31   virtual ~MockModelSafeWorkerRegistrar();
     32   static MockModelSafeWorkerRegistrar* PassiveBookmarks();
     33   static MockModelSafeWorkerRegistrar* PassiveForTypes(
     34       const syncable::ModelTypeBitSet& set);
     35   virtual void GetWorkers(std::vector<ModelSafeWorker*>* out);
     36   virtual void GetModelSafeRoutingInfo(ModelSafeRoutingInfo* out);
     37 
     38  private:
     39   explicit MockModelSafeWorkerRegistrar(const ModelSafeRoutingInfo& routes);
     40 
     41   scoped_refptr<ModelSafeWorker> passive_worker_;
     42   ModelSafeRoutingInfo routes_;
     43 };
     44 
     45 }  // namespace browser_sync
     46 
     47 #endif  // CHROME_BROWSER_SYNC_ENGINE_MOCK_MODEL_SAFE_WORKERS_H_
     48 
     49