Home | History | Annotate | Download | only in test
      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 #ifndef SYNC_INTERNAL_API_PUBLIC_TEST_TEST_INTERNAL_COMPONENTS_FACTORY_H_
      6 #define SYNC_INTERNAL_API_PUBLIC_TEST_TEST_INTERNAL_COMPONENTS_FACTORY_H_
      7 
      8 #include "sync/internal_api/public/internal_components_factory.h"
      9 
     10 namespace syncer {
     11 
     12 enum StorageOption {
     13   // BuildDirectoryBackingStore should not use persistent on-disk storage.
     14   STORAGE_IN_MEMORY,
     15   // Use this if you want BuildDirectoryBackingStore to create a real
     16   // on disk store.
     17   STORAGE_ON_DISK,
     18   // Use this to test the case where a directory fails to load.
     19   STORAGE_INVALID
     20 };
     21 
     22 class TestInternalComponentsFactory : public InternalComponentsFactory {
     23  public:
     24   explicit TestInternalComponentsFactory(const Switches& switches,
     25                                          StorageOption option);
     26   virtual ~TestInternalComponentsFactory();
     27 
     28   virtual scoped_ptr<SyncScheduler> BuildScheduler(
     29       const std::string& name,
     30       sessions::SyncSessionContext* context,
     31       syncer::CancelationSignal* cancelation_signal) OVERRIDE;
     32 
     33   virtual scoped_ptr<sessions::SyncSessionContext> BuildContext(
     34       ServerConnectionManager* connection_manager,
     35       syncable::Directory* directory,
     36       ExtensionsActivity* monitor,
     37       const std::vector<SyncEngineEventListener*>& listeners,
     38       sessions::DebugInfoGetter* debug_info_getter,
     39       ModelTypeRegistry* model_type_registry,
     40       const std::string& invalidator_client_id) OVERRIDE;
     41 
     42   virtual scoped_ptr<syncable::DirectoryBackingStore>
     43   BuildDirectoryBackingStore(
     44       const std::string& dir_name,
     45       const base::FilePath& backing_filepath) OVERRIDE;
     46 
     47   virtual Switches GetSwitches() const OVERRIDE;
     48 
     49  private:
     50   const Switches switches_;
     51   const StorageOption storage_option_;
     52 
     53   DISALLOW_COPY_AND_ASSIGN(TestInternalComponentsFactory);
     54 };
     55 
     56 }  // namespace syncer
     57 
     58 #endif  // SYNC_INTERNAL_API_PUBLIC_TEST_TEST_INTERNAL_COMPONENTS_FACTORY_H_
     59