Chromium Code Reviews| Index: sync/internal_api/internal_components_factory_impl.cc |
| diff --git a/sync/internal_api/internal_components_factory_impl.cc b/sync/internal_api/internal_components_factory_impl.cc |
| index 3342d096ca14693bdaa6766d6eeb077b815b4ee2..746d25cc6cf8ae3493df83c37de5184b822f939a 100644 |
| --- a/sync/internal_api/internal_components_factory_impl.cc |
| +++ b/sync/internal_api/internal_components_factory_impl.cc |
| @@ -4,20 +4,32 @@ |
| #include "sync/internal_api/public/internal_components_factory_impl.h" |
| +#include "sync/engine/backoff_delay_provider.h" |
| #include "sync/engine/syncer.h" |
| #include "sync/engine/sync_scheduler_impl.h" |
| #include "sync/sessions/sync_session_context.h" |
| #include "sync/syncable/on_disk_directory_backing_store.h" |
| +using base::TimeDelta; |
| + |
| namespace syncer { |
| -InternalComponentsFactoryImpl::InternalComponentsFactoryImpl() { } |
| +InternalComponentsFactoryImpl::InternalComponentsFactoryImpl( |
| + const Switches& switches) : switches_(switches) { |
| +} |
| + |
| InternalComponentsFactoryImpl::~InternalComponentsFactoryImpl() { } |
| scoped_ptr<SyncScheduler> InternalComponentsFactoryImpl::BuildScheduler( |
| const std::string& name, sessions::SyncSessionContext* context) { |
| + |
| + scoped_ptr<BackoffDelayProvider> delay(BackoffDelayProvider::FromDefaults()); |
| + |
| + if (switches_.backoff_override == BACKOFF_SHORT_INITIAL_RETRY_OVERRIDE) |
|
rlarocque
2012/08/14 19:54:07
nit: Again, I think this would be nicer as an if/e
|
| + delay.reset(BackoffDelayProvider::WithShortInitialRetryOverride()); |
| + |
| return scoped_ptr<SyncScheduler>( |
| - new SyncSchedulerImpl(name, context, new Syncer())); |
| + new SyncSchedulerImpl(name, delay.release(), context, new Syncer())); |
| } |
| scoped_ptr<sessions::SyncSessionContext> |
| @@ -29,14 +41,13 @@ InternalComponentsFactoryImpl::BuildContext( |
| ThrottledDataTypeTracker* throttled_data_type_tracker, |
| const std::vector<SyncEngineEventListener*>& listeners, |
| sessions::DebugInfoGetter* debug_info_getter, |
| - TrafficRecorder* traffic_recorder, |
| - bool keystore_encryption_enabled) { |
| + TrafficRecorder* traffic_recorder) { |
| return scoped_ptr<sessions::SyncSessionContext>( |
| new sessions::SyncSessionContext( |
| connection_manager, directory, workers, monitor, |
| throttled_data_type_tracker, listeners, debug_info_getter, |
| traffic_recorder, |
| - keystore_encryption_enabled)); |
| + switches_.encryption_method == ENCRYPTION_KEYSTORE)); |
| } |
| scoped_ptr<syncable::DirectoryBackingStore> |
| @@ -46,4 +57,9 @@ InternalComponentsFactoryImpl::BuildDirectoryBackingStore( |
| new syncable::OnDiskDirectoryBackingStore(dir_name, backing_filepath)); |
| } |
| +InternalComponentsFactory::Switches |
| +InternalComponentsFactoryImpl::GetSwitches() const { |
| + return switches_; |
| +} |
| + |
| } // namespace syncer |