blob: 1ed99f914faf0900655773d5ceb3ad91eea34253 [file] [log] [blame]
// Copyright 2017 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/download/internal/background_service/startup_status.h"
#include "base/check.h"
namespace download {
StartupStatus::StartupStatus() = default;
StartupStatus::~StartupStatus() = default;
void StartupStatus::Reset() {
driver_ok.reset();
model_ok.reset();
file_monitor_ok.reset();
}
bool StartupStatus::Complete() const {
return driver_ok.has_value() && model_ok.has_value() &&
file_monitor_ok.has_value();
}
bool StartupStatus::Ok() const {
DCHECK(Complete());
return driver_ok.value() && model_ok.value() && file_monitor_ok.value();
}
bool StartupStatus::Failed() const {
return (driver_ok && !driver_ok.value()) || (model_ok && !model_ok.value()) ||
(file_monitor_ok && !file_monitor_ok.value());
}
} // namespace download