| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/sync_file_system/sync_file_system_service.h" | 5 #include "chrome/browser/sync_file_system/sync_file_system_service.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <string> | 10 #include <string> |
| (...skipping 442 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 453 std::unique_ptr<LocalFileSyncService> local_service, | 453 std::unique_ptr<LocalFileSyncService> local_service, |
| 454 std::unique_ptr<RemoteFileSyncService> remote_service) { | 454 std::unique_ptr<RemoteFileSyncService> remote_service) { |
| 455 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 455 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 456 DCHECK(local_service); | 456 DCHECK(local_service); |
| 457 DCHECK(remote_service); | 457 DCHECK(remote_service); |
| 458 DCHECK(profile_); | 458 DCHECK(profile_); |
| 459 | 459 |
| 460 local_service_ = std::move(local_service); | 460 local_service_ = std::move(local_service); |
| 461 remote_service_ = std::move(remote_service); | 461 remote_service_ = std::move(remote_service); |
| 462 | 462 |
| 463 std::unique_ptr<LocalSyncRunner> local_syncer( | 463 auto local_syncer = base::MakeUnique<LocalSyncRunner>(kLocalSyncName, this); |
| 464 new LocalSyncRunner(kLocalSyncName, this)); | 464 auto remote_syncer = base::MakeUnique<RemoteSyncRunner>( |
| 465 std::unique_ptr<RemoteSyncRunner> remote_syncer( | 465 kRemoteSyncName, this, remote_service_.get()); |
| 466 new RemoteSyncRunner(kRemoteSyncName, this, remote_service_.get())); | |
| 467 | 466 |
| 468 local_service_->AddChangeObserver(local_syncer.get()); | 467 local_service_->AddChangeObserver(local_syncer.get()); |
| 469 local_service_->SetLocalChangeProcessorCallback( | 468 local_service_->SetLocalChangeProcessorCallback( |
| 470 base::Bind(&GetLocalChangeProcessorAdapter, AsWeakPtr())); | 469 base::Bind(&GetLocalChangeProcessorAdapter, AsWeakPtr())); |
| 471 | 470 |
| 472 remote_service_->AddServiceObserver(remote_syncer.get()); | 471 remote_service_->AddServiceObserver(remote_syncer.get()); |
| 473 remote_service_->AddFileStatusObserver(this); | 472 remote_service_->AddFileStatusObserver(this); |
| 474 remote_service_->SetRemoteChangeProcessor(local_service_.get()); | 473 remote_service_->SetRemoteChangeProcessor(local_service_.get()); |
| 475 | 474 |
| 476 local_sync_runners_.push_back(local_syncer.release()); | 475 local_sync_runners_.push_back(std::move(local_syncer)); |
| 477 remote_sync_runners_.push_back(remote_syncer.release()); | 476 remote_sync_runners_.push_back(std::move(remote_syncer)); |
| 478 | 477 |
| 479 syncer::SyncService* profile_sync_service = | 478 syncer::SyncService* profile_sync_service = |
| 480 ProfileSyncServiceFactory::GetSyncServiceForBrowserContext(profile_); | 479 ProfileSyncServiceFactory::GetSyncServiceForBrowserContext(profile_); |
| 481 if (profile_sync_service) { | 480 if (profile_sync_service) { |
| 482 UpdateSyncEnabledStatus(profile_sync_service); | 481 UpdateSyncEnabledStatus(profile_sync_service); |
| 483 profile_sync_service->AddObserver(this); | 482 profile_sync_service->AddObserver(this); |
| 484 } | 483 } |
| 485 | 484 |
| 486 ExtensionRegistry::Get(profile_)->AddObserver(this); | 485 ExtensionRegistry::Get(profile_)->AddObserver(this); |
| 487 } | 486 } |
| (...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 749 bool old_sync_enabled = sync_enabled_; | 748 bool old_sync_enabled = sync_enabled_; |
| 750 sync_enabled_ = profile_sync_service->GetActiveDataTypes().Has( | 749 sync_enabled_ = profile_sync_service->GetActiveDataTypes().Has( |
| 751 syncer::APPS); | 750 syncer::APPS); |
| 752 remote_service_->SetSyncEnabled(sync_enabled_); | 751 remote_service_->SetSyncEnabled(sync_enabled_); |
| 753 if (!old_sync_enabled && sync_enabled_) | 752 if (!old_sync_enabled && sync_enabled_) |
| 754 RunForEachSyncRunners(&SyncProcessRunner::Schedule); | 753 RunForEachSyncRunners(&SyncProcessRunner::Schedule); |
| 755 } | 754 } |
| 756 | 755 |
| 757 void SyncFileSystemService::RunForEachSyncRunners( | 756 void SyncFileSystemService::RunForEachSyncRunners( |
| 758 void(SyncProcessRunner::*method)()) { | 757 void(SyncProcessRunner::*method)()) { |
| 759 for (ScopedVector<SyncProcessRunner>::iterator iter = | 758 for (auto iter = local_sync_runners_.begin(); |
| 760 local_sync_runners_.begin(); | |
| 761 iter != local_sync_runners_.end(); ++iter) | 759 iter != local_sync_runners_.end(); ++iter) |
| 762 ((*iter)->*method)(); | 760 (iter->get()->*method)(); |
| 763 for (ScopedVector<SyncProcessRunner>::iterator iter = | 761 for (auto iter = remote_sync_runners_.begin(); |
| 764 remote_sync_runners_.begin(); | |
| 765 iter != remote_sync_runners_.end(); ++iter) | 762 iter != remote_sync_runners_.end(); ++iter) |
| 766 ((*iter)->*method)(); | 763 (iter->get()->*method)(); |
| 767 } | 764 } |
| 768 | 765 |
| 769 } // namespace sync_file_system | 766 } // namespace sync_file_system |
| OLD | NEW |