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 |