blob: 6bb93c205cc888431d09bcb2a1a356ea6ae0f1b2 [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 "components/sync/driver/sync_error_controller.h"
#include "components/sync/driver/sync_service.h"
namespace syncer {
SyncErrorController::SyncErrorController(SyncService* service)
: service_(service) {
DCHECK(service_);
}
SyncErrorController::~SyncErrorController() {}
bool SyncErrorController::HasError() {
return service_->IsFirstSetupComplete() && 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 (auto& observer : observer_list_)
observer.OnErrorChanged();
}
} // namespace syncer