Chromium Code Reviews| 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..81e05c9198a8f04152cdea7163f4183137024023 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,16 @@ 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); |
|
Nicolas Zea
2014/05/13 17:49:15
nit: prefer explicitly noting that this is being d
haitaol1
2014/05/13 18:10:59
Done.
|
| + case ROLLBACK: |
| + return scoped_ptr<SyncManager>(new SyncRollbackManager); |
| + default: |
| + NOTREACHED(); |
| + } |
| } |
| } // namespace syncer |