blob: c6346d0396ae6b989fdc393cf0a6cfb4ec0ddbde [file] [log] [blame]
// 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());
}