blob: aa0caa127d1540ff1a25a3c5a3d9085ca7d11d6a [file] [log] [blame]
// Copyright 2019 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/offline_items_collection/core/fail_state.h"
namespace offline_items_collection {
bool ToFailState(int value, FailState* fail_state) {
switch (static_cast<FailState>(value)) {
case FailState::NO_FAILURE:
case FailState::CANNOT_DOWNLOAD:
case FailState::NETWORK_INSTABILITY:
case FailState::FILE_FAILED:
case FailState::FILE_ACCESS_DENIED:
case FailState::FILE_NO_SPACE:
case FailState::FILE_NAME_TOO_LONG:
case FailState::FILE_TOO_LARGE:
case FailState::FILE_VIRUS_INFECTED:
case FailState::FILE_TRANSIENT_ERROR:
case FailState::FILE_BLOCKED:
case FailState::FILE_SECURITY_CHECK_FAILED:
case FailState::FILE_TOO_SHORT:
case FailState::FILE_HASH_MISMATCH:
case FailState::FILE_SAME_AS_SOURCE:
case FailState::NETWORK_FAILED:
case FailState::NETWORK_TIMEOUT:
case FailState::NETWORK_DISCONNECTED:
case FailState::NETWORK_SERVER_DOWN:
case FailState::NETWORK_INVALID_REQUEST:
case FailState::SERVER_FAILED:
case FailState::SERVER_NO_RANGE:
case FailState::SERVER_BAD_CONTENT:
case FailState::SERVER_UNAUTHORIZED:
case FailState::SERVER_CERT_PROBLEM:
case FailState::SERVER_FORBIDDEN:
case FailState::SERVER_UNREACHABLE:
case FailState::SERVER_CONTENT_LENGTH_MISMATCH:
case FailState::SERVER_CROSS_ORIGIN_REDIRECT:
case FailState::USER_CANCELED:
case FailState::USER_SHUTDOWN:
case FailState::CRASH:
*fail_state = static_cast<FailState>(value);
return true;
}
return false;
}
} // namespace offline_items_collection