| Index: sync/internal_api/sync_manager_factory.cc
|
| diff --git a/sync/internal_api/sync_manager_factory.cc b/sync/internal_api/sync_manager_factory.cc
|
| index 9d784b46ada76cb50d03ace2cf040cdd00a14f2e..c3f09d32e5b09f3e7eb1cffd3511d804339636d4 100644
|
| --- a/sync/internal_api/sync_manager_factory.cc
|
| +++ b/sync/internal_api/sync_manager_factory.cc
|
| @@ -4,11 +4,14 @@
|
|
|
| #include "sync/internal_api/public/sync_manager_factory.h"
|
|
|
| +#include "sync/internal_api/sync_backup_manager.h"
|
| #include "sync/internal_api/sync_manager_impl.h"
|
| +#include "sync/internal_api/sync_rollback_manager.h"
|
|
|
| namespace syncer {
|
|
|
| -SyncManagerFactory::SyncManagerFactory() {
|
| +SyncManagerFactory::SyncManagerFactory(SyncManagerFactory::MANAGER_TYPE type)
|
| + : type_(type) {
|
| }
|
|
|
| SyncManagerFactory::~SyncManagerFactory() {
|
| @@ -16,7 +19,17 @@ SyncManagerFactory::~SyncManagerFactory() {
|
|
|
| scoped_ptr<SyncManager> SyncManagerFactory::CreateSyncManager(
|
| const std::string name) {
|
| - return scoped_ptr<SyncManager>(new SyncManagerImpl(name));
|
| + switch (type_) {
|
| + case NORMAL:
|
| + return scoped_ptr<SyncManager>(new SyncManagerImpl(name));
|
| + case BACKUP:
|
| + return scoped_ptr<SyncManager>(new SyncBackupManager());
|
| + case ROLLBACK:
|
| + return scoped_ptr<SyncManager>(new SyncRollbackManager());
|
| + default:
|
| + NOTREACHED();
|
| + return scoped_ptr<SyncManager>(new SyncManagerImpl(name));
|
| + }
|
| }
|
|
|
| } // namespace syncer
|
|
|