#include "sync/engine/syncer.h"
#include "sync/engine/sync_scheduler_impl.h"
#include "sync/sessions/sync_session_context.h"
+#include "sync/syncable/deferred_on_disk_directory_backing_store.h"
#include "sync/syncable/on_disk_directory_backing_store.h"
using base::TimeDelta;
InternalComponentsFactoryImpl::BuildContext(
ServerConnectionManager* connection_manager,
syncable::Directory* directory,
- const std::vector<ModelSafeWorker*>& workers,
ExtensionsActivity* extensions_activity,
const std::vector<SyncEngineEventListener*>& listeners,
sessions::DebugInfoGetter* debug_info_getter,
- TrafficRecorder* traffic_recorder,
+ ModelTypeRegistry* model_type_registry,
const std::string& invalidation_client_id) {
return scoped_ptr<sessions::SyncSessionContext>(
new sessions::SyncSessionContext(
- connection_manager, directory, workers, extensions_activity,
+ connection_manager, directory, extensions_activity,
listeners, debug_info_getter,
- traffic_recorder,
+ model_type_registry,
switches_.encryption_method == ENCRYPTION_KEYSTORE,
switches_.pre_commit_updates_policy ==
FORCE_ENABLE_PRE_COMMIT_UPDATE_AVOIDANCE,
scoped_ptr<syncable::DirectoryBackingStore>
InternalComponentsFactoryImpl::BuildDirectoryBackingStore(
- const std::string& dir_name, const base::FilePath& backing_filepath) {
- return scoped_ptr<syncable::DirectoryBackingStore>(
- new syncable::OnDiskDirectoryBackingStore(dir_name, backing_filepath));
+ StorageOption storage, const std::string& dir_name,
+ const base::FilePath& backing_filepath) {
+ if (storage == STORAGE_ON_DISK) {
+ return scoped_ptr<syncable::DirectoryBackingStore>(
+ new syncable::OnDiskDirectoryBackingStore(dir_name, backing_filepath));
+ } else if (storage == STORAGE_ON_DISK_DEFERRED) {
+ return scoped_ptr<syncable::DirectoryBackingStore>(
+ new syncable::DeferredOnDiskDirectoryBackingStore(dir_name,
+ backing_filepath));
+ } else {
+ NOTREACHED();
+ return scoped_ptr<syncable::DirectoryBackingStore>();
+ }
}
InternalComponentsFactory::Switches