// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #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::MANAGER_TYPE type) : type_(type) { } SyncManagerFactory::~SyncManagerFactory() { } scoped_ptr SyncManagerFactory::CreateSyncManager( const std::string name) { switch (type_) { case NORMAL: return scoped_ptr(new SyncManagerImpl(name)); case BACKUP: return scoped_ptr(new SyncBackupManager()); case ROLLBACK: return scoped_ptr(new SyncRollbackManager()); default: NOTREACHED(); return scoped_ptr(new SyncManagerImpl(name)); } } } // namespace syncer