// Copyright 2017 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/arc/arc_stop_reason.h"

namespace arc {

std::ostream& operator<<(std::ostream& os, ArcStopReason reason) {
  switch (reason) {
#define CASE_IMPL(val)     \
  case ArcStopReason::val: \
    return os << #val

    CASE_IMPL(SHUTDOWN);
    CASE_IMPL(GENERIC_BOOT_FAILURE);
    CASE_IMPL(LOW_DISK_SPACE);
    CASE_IMPL(CRASH);
#undef CASE_IMPL
  }

  // In case of unexpected value, output the int value.
  return os << "ArcStopReason(" << static_cast<int>(reason) << ")";
}

}  // namespace arc
