sync_engine_context.cc revision cedac228d2dd51db4b79ea1e72c7f249408ee061
143dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis// Copyright 2014 The Chromium Authors. All rights reserved. 243dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis// Use of this source code is governed by a BSD-style license that can be 343dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis// found in the LICENSE file. 443dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis 543dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis#include "chrome/browser/sync_file_system/drive_backend/sync_engine_context.h" 643dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis 743dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis#include "base/basictypes.h" 843dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis#include "base/memory/ref_counted.h" 943dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis#include "base/memory/scoped_ptr.h" 1043dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis#include "base/sequenced_task_runner.h" 1143dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis#include "base/single_thread_task_runner.h" 1243dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis#include "chrome/browser/drive/drive_service_interface.h" 1343dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis#include "chrome/browser/drive/drive_uploader.h" 1443dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis#include "chrome/browser/sync_file_system/drive_backend/metadata_database.h" 15ca804539d908d3a0e8c72a0df5f1f571d29490bbTed Kremenek#include "chrome/browser/sync_file_system/remote_change_processor.h" 16769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis#include "chrome/browser/sync_file_system/task_logger.h" 17de507eaf3cb54d3cb234dc14499c10ab3373d15fJordan Rose 18769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidisnamespace sync_file_system { 199fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidisnamespace drive_backend { 2043dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis 2143dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios KyrtzidisSyncEngineContext::SyncEngineContext( 2243dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis scoped_ptr<drive::DriveServiceInterface> drive_service, 2343dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis scoped_ptr<drive::DriveUploaderInterface> drive_uploader, 24d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios Kyrtzidis TaskLogger* task_logger, 25d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios Kyrtzidis base::SingleThreadTaskRunner* ui_task_runner, 26d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios Kyrtzidis base::SequencedTaskRunner* worker_task_runner, 27d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios Kyrtzidis base::SequencedTaskRunner* file_task_runner) 2896479da6ad9d921d875e7be29fe1bfa127be8069Jordan Rose : drive_service_(drive_service.Pass()), 2996479da6ad9d921d875e7be29fe1bfa127be8069Jordan Rose drive_uploader_(drive_uploader.Pass()), 30d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios Kyrtzidis task_logger_(task_logger 31d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios Kyrtzidis ? task_logger->AsWeakPtr() 32d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios Kyrtzidis : base::WeakPtr<TaskLogger>()), 33d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios Kyrtzidis remote_change_processor_(NULL), 34d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios Kyrtzidis ui_task_runner_(ui_task_runner), 35d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios Kyrtzidis worker_task_runner_(worker_task_runner), 36d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios Kyrtzidis file_task_runner_(file_task_runner) {} 37d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios Kyrtzidis 38d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios KyrtzidisSyncEngineContext::~SyncEngineContext() {} 39dff6ef903ff4fcb43b5ea292ecd772e381393b5dAnna Zaks 40dff6ef903ff4fcb43b5ea292ecd772e381393b5dAnna Zaksdrive::DriveServiceInterface* SyncEngineContext::GetDriveService() { 41d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios Kyrtzidis return drive_service_.get(); 42d655ab28fdf7c940d3f79f8f287954d7f76e0977Argyrios Kyrtzidis} 43deb6447d0029bdb122397fafb5fa2a4e76f2e555Argyrios Kyrtzidis 44deb6447d0029bdb122397fafb5fa2a4e76f2e555Argyrios Kyrtzidisdrive::DriveUploaderInterface* SyncEngineContext::GetDriveUploader() { 45deb6447d0029bdb122397fafb5fa2a4e76f2e555Argyrios Kyrtzidis return drive_uploader_.get(); 46deb6447d0029bdb122397fafb5fa2a4e76f2e555Argyrios Kyrtzidis} 47deb6447d0029bdb122397fafb5fa2a4e76f2e555Argyrios Kyrtzidis 48deb6447d0029bdb122397fafb5fa2a4e76f2e555Argyrios Kyrtzidisbase::WeakPtr<TaskLogger> SyncEngineContext::GetTaskLogger() { 49deb6447d0029bdb122397fafb5fa2a4e76f2e555Argyrios Kyrtzidis return task_logger_; 50deb6447d0029bdb122397fafb5fa2a4e76f2e555Argyrios Kyrtzidis} 51deb6447d0029bdb122397fafb5fa2a4e76f2e555Argyrios Kyrtzidis 52deb6447d0029bdb122397fafb5fa2a4e76f2e555Argyrios KyrtzidisMetadataDatabase* SyncEngineContext::GetMetadataDatabase() { 53769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis return metadata_database_.get(); 54769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis} 55769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis 56769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidisscoped_ptr<MetadataDatabase> SyncEngineContext::PassMetadataDatabase() { 579fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis return metadata_database_.Pass(); 589fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis} 599fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis 609fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios KyrtzidisRemoteChangeProcessor* SyncEngineContext::GetRemoteChangeProcessor() { 619fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis return remote_change_processor_; 629fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis} 639fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis 649fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidisbase::SingleThreadTaskRunner* SyncEngineContext::GetUITaskRunner() { 659fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis return ui_task_runner_.get(); 669fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis} 679fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis 689fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidisbase::SequencedTaskRunner* SyncEngineContext::GetWorkerTaskRunner() { 699fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis return worker_task_runner_.get(); 709fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis} 719fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis 72769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidisbase::SequencedTaskRunner* SyncEngineContext::GetFileTaskRunner() { 739fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis return file_task_runner_.get(); 749fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis} 759fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis 769fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidisvoid SyncEngineContext::SetMetadataDatabase( 779fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis scoped_ptr<MetadataDatabase> metadata_database) { 78769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis if (metadata_database) 79769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis metadata_database_ = metadata_database.Pass(); 809fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis} 819fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis 829fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidisvoid SyncEngineContext::SetRemoteChangeProcessor( 839fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis RemoteChangeProcessor* remote_change_processor) { 849fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis DCHECK(remote_change_processor); 859fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis remote_change_processor_ = remote_change_processor; 86769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis} 87769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis 88769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis} // namespace drive_backend 89769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis} // namespace sync_file_system 90769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis