1 // Copyright 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 // An InternalComponentsFactory implementation designed for real production / 6 // normal use. 7 8 #ifndef SYNC_INTERNAL_API_PUBLIC_INTERNAL_COMPONENTS_FACTORY_IMPL_H_ 9 #define SYNC_INTERNAL_API_PUBLIC_INTERNAL_COMPONENTS_FACTORY_IMPL_H_ 10 11 #include "sync/base/sync_export.h" 12 #include "sync/internal_api/public/internal_components_factory.h" 13 14 namespace syncer { 15 16 class SYNC_EXPORT InternalComponentsFactoryImpl 17 : public InternalComponentsFactory { 18 public: 19 InternalComponentsFactoryImpl(const Switches& switches); 20 virtual ~InternalComponentsFactoryImpl(); 21 22 virtual scoped_ptr<SyncScheduler> BuildScheduler( 23 const std::string& name, 24 sessions::SyncSessionContext* context, 25 syncer::CancelationSignal* cancelation_signal) OVERRIDE; 26 27 virtual scoped_ptr<sessions::SyncSessionContext> BuildContext( 28 ServerConnectionManager* connection_manager, 29 syncable::Directory* directory, 30 ExtensionsActivity* extensions_activity, 31 const std::vector<SyncEngineEventListener*>& listeners, 32 sessions::DebugInfoGetter* debug_info_getter, 33 ModelTypeRegistry* model_type_registry, 34 const std::string& invalidator_client_id) OVERRIDE; 35 36 virtual scoped_ptr<syncable::DirectoryBackingStore> 37 BuildDirectoryBackingStore( 38 const std::string& dir_name, 39 const base::FilePath& backing_filepath) OVERRIDE; 40 41 virtual Switches GetSwitches() const OVERRIDE; 42 43 private: 44 const Switches switches_; 45 DISALLOW_COPY_AND_ASSIGN(InternalComponentsFactoryImpl); 46 }; 47 48 } // namespace syncer 49 50 #endif // SYNC_INTERNAL_API_PUBLIC_INTERNAL_COMPONENTS_FACTORY_IMPL_H_ 51