summaryrefslogtreecommitdiffstats
path: root/sync/internal_api/internal_components_factory_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sync/internal_api/internal_components_factory_impl.cc')
-rw-r--r--sync/internal_api/internal_components_factory_impl.cc17
1 files changed, 14 insertions, 3 deletions
diff --git a/sync/internal_api/internal_components_factory_impl.cc b/sync/internal_api/internal_components_factory_impl.cc
index e764a16..dbc4243 100644
--- a/sync/internal_api/internal_components_factory_impl.cc
+++ b/sync/internal_api/internal_components_factory_impl.cc
@@ -8,6 +8,7 @@
#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;
@@ -59,9 +60,19 @@ InternalComponentsFactoryImpl::BuildContext(
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