// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROMEOS_ASH_COMPONENTS_TELEMETRY_EXTENSION_COMMON_TELEMETRY_EXTENSION_CONVERTERS_H_
#define CHROMEOS_ASH_COMPONENTS_TELEMETRY_EXTENSION_COMMON_TELEMETRY_EXTENSION_CONVERTERS_H_
#include <utility>
#include "chromeos/ash/services/cros_healthd/public/mojom/cros_healthd_exception.mojom.h"
#include "chromeos/crosapi/mojom/telemetry_extension_exception.mojom.h"
namespace ash::converters {
namespace unchecked {
crosapi::mojom::TelemetryExtensionExceptionPtr UncheckedConvertPtr(
cros_healthd::mojom::ExceptionPtr input);
crosapi::mojom::TelemetryExtensionSupportedPtr UncheckedConvertPtr(
cros_healthd::mojom::SupportedPtr input);
crosapi::mojom::TelemetryExtensionUnsupportedReasonPtr UncheckedConvertPtr(
cros_healthd::mojom::UnsupportedReasonPtr input);
crosapi::mojom::TelemetryExtensionUnsupportedPtr UncheckedConvertPtr(
cros_healthd::mojom::UnsupportedPtr input);
crosapi::mojom::TelemetryExtensionSupportStatusPtr UncheckedConvertPtr(
cros_healthd::mojom::SupportStatusPtr input);
} // namespace unchecked
crosapi::mojom::TelemetryExtensionException::Reason Convert(
cros_healthd::mojom::Exception::Reason input);
template <class InputT>
auto ConvertCommonPtr(InputT input) {
return (!input.is_null()) ? unchecked::UncheckedConvertPtr(std::move(input))
: nullptr;
}
} // namespace ash::converters
#endif // CHROMEOS_ASH_COMPONENTS_TELEMETRY_EXTENSION_COMMON_TELEMETRY_EXTENSION_CONVERTERS_H_