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 10 namespace sync_file_system { 11 12 scoped_ptr<RemoteFileSyncService> 13 RemoteFileSyncService::CreateForBrowserContext( 14 BackendVersion version, 15 content::BrowserContext* context, 16 TaskLogger* task_logger) { 17 switch (version) { 18 case V1: 19 return DriveFileSyncService::Create( 20 Profile::FromBrowserContext(context)).PassAs<RemoteFileSyncService>(); 21 case V2: 22 return drive_backend::SyncEngine::CreateForBrowserContext( 23 context, task_logger).PassAs<RemoteFileSyncService>(); 24 } 25 NOTREACHED() << "Unknown version " << version; 26 return scoped_ptr<RemoteFileSyncService>(); 27 } 28 29 void RemoteFileSyncService::AppendDependsOnFactories( 30 BackendVersion version, 31 std::set<BrowserContextKeyedServiceFactory*>* factories) { 32 switch (version) { 33 case V1: 34 DriveFileSyncService::AppendDependsOnFactories(factories); 35 return; 36 case V2: 37 drive_backend::SyncEngine::AppendDependsOnFactories(factories); 38 return; 39 } 40 NOTREACHED() << "Unknown version " << version; 41 } 42 43 } // namespace sync_file_system 44