// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "chrome/browser/sync/sync_error_controller.h" #include "chrome/browser/sync/profile_sync_service.h" #include "chrome/browser/sync/profile_sync_service_factory.h" SyncErrorController::SyncErrorController(ProfileSyncService* service) : service_(service) { DCHECK(service_); } SyncErrorController::~SyncErrorController() { } bool SyncErrorController::HasError() { return service_->HasSyncSetupCompleted() && service_->IsPassphraseRequired() && service_->IsPassphraseRequiredForDecryption(); } void SyncErrorController::AddObserver(Observer* observer) { observer_list_.AddObserver(observer); } void SyncErrorController::RemoveObserver(Observer* observer) { observer_list_.RemoveObserver(observer); } void SyncErrorController::OnStateChanged() { FOR_EACH_OBSERVER(Observer, observer_list_, OnErrorChanged()); }