remote_file_sync_service.cc revision a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7
1// Copyright 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "chrome/browser/sync_file_system/remote_file_sync_service.h" 6 7#include "chrome/browser/sync_file_system/drive_backend/sync_engine.h" 8#include "chrome/browser/sync_file_system/drive_backend_v1/drive_file_sync_service.h" 9 10namespace sync_file_system { 11 12scoped_ptr<RemoteFileSyncService> 13RemoteFileSyncService::CreateForBrowserContext( 14 BackendVersion version, 15 content::BrowserContext* context) { 16 switch (version) { 17 case V1: 18 return DriveFileSyncService::Create( 19 Profile::FromBrowserContext(context)).PassAs<RemoteFileSyncService>(); 20 case V2: 21 return drive_backend::SyncEngine::CreateForBrowserContext( 22 context).PassAs<RemoteFileSyncService>(); 23 } 24 NOTREACHED() << "Unknown version " << version; 25 return scoped_ptr<RemoteFileSyncService>(); 26} 27 28void RemoteFileSyncService::AppendDependsOnFactories( 29 BackendVersion version, 30 std::set<BrowserContextKeyedServiceFactory*>* factories) { 31 switch (version) { 32 case V1: 33 DriveFileSyncService::AppendDependsOnFactories(factories); 34 return; 35 case V2: 36 drive_backend::SyncEngine::AppendDependsOnFactories(factories); 37 return; 38 } 39 NOTREACHED() << "Unknown version " << version; 40} 41 42} // namespace sync_file_system 43