1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
// 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.
#include "chromeos/ash/components/telemetry_extension/common/telemetry_extension_converters.h"
#include <utility>
#include "base/notreached.h"
#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) {
return crosapi::mojom::TelemetryExtensionException::New(
Convert(input->reason), input->debug_message);
}
crosapi::mojom::TelemetryExtensionSupportedPtr UncheckedConvertPtr(
cros_healthd::mojom::SupportedPtr input) {
return crosapi::mojom::TelemetryExtensionSupported::New();
}
crosapi::mojom::TelemetryExtensionUnsupportedReasonPtr UncheckedConvertPtr(
cros_healthd::mojom::UnsupportedReasonPtr input) {
switch (input->which()) {
case cros_healthd::mojom::UnsupportedReason::Tag::kUnmappedUnionField:
return crosapi::mojom::TelemetryExtensionUnsupportedReason::
NewUnmappedUnionField(input->get_unmapped_union_field());
}
}
crosapi::mojom::TelemetryExtensionUnsupportedPtr UncheckedConvertPtr(
cros_healthd::mojom::UnsupportedPtr input) {
return crosapi::mojom::TelemetryExtensionUnsupported::New(
input->debug_message, ConvertCommonPtr(std::move(input->reason)));
}
crosapi::mojom::TelemetryExtensionSupportStatusPtr UncheckedConvertPtr(
cros_healthd::mojom::SupportStatusPtr input) {
switch (input->which()) {
case cros_healthd::mojom::SupportStatus::Tag::kUnmappedUnionField:
return crosapi::mojom::TelemetryExtensionSupportStatus::
NewUnmappedUnionField(input->get_unmapped_union_field());
case cros_healthd::mojom::SupportStatus::Tag::kException:
return crosapi::mojom::TelemetryExtensionSupportStatus::NewException(
ConvertCommonPtr(std::move(input->get_exception())));
case cros_healthd::mojom::SupportStatus::Tag::kSupported:
return crosapi::mojom::TelemetryExtensionSupportStatus::NewSupported(
ConvertCommonPtr(std::move(input->get_supported())));
case cros_healthd::mojom::SupportStatus::Tag::kUnsupported:
return crosapi::mojom::TelemetryExtensionSupportStatus::NewUnsupported(
ConvertCommonPtr(std::move(input->get_unsupported())));
}
}
} // namespace unchecked
crosapi::mojom::TelemetryExtensionException::Reason Convert(
cros_healthd::mojom::Exception::Reason input) {
switch (input) {
case cros_healthd::mojom::Exception::Reason::kUnmappedEnumField:
return crosapi::mojom::TelemetryExtensionException::Reason::
kUnmappedEnumField;
case cros_healthd::mojom::Exception::Reason::kMojoDisconnectWithoutReason:
return crosapi::mojom::TelemetryExtensionException::Reason::
kMojoDisconnectWithoutReason;
case cros_healthd::mojom::Exception::Reason::kUnexpected:
return crosapi::mojom::TelemetryExtensionException::Reason::kUnexpected;
case cros_healthd::mojom::Exception::Reason::kUnsupported:
return crosapi::mojom::TelemetryExtensionException::Reason::kUnsupported;
case cros_healthd::mojom::Exception::Reason::kCameraFrontendNotOpened:
return crosapi::mojom::TelemetryExtensionException::Reason::
kCameraFrontendNotOpened;
}
NOTREACHED();
}
} // namespace ash::converters
|