// Generated by the proto_extras plugin. DO NOT EDIT!
// source: third_party/metrics_proto/system_profile.proto

#ifndef THIRD_PARTY_METRICS_PROTO_SYSTEM_PROFILE_TO_VALUE_H_
#define THIRD_PARTY_METRICS_PROTO_SYSTEM_PROFILE_TO_VALUE_H_

#include <optional>
#include <string_view>



namespace base {
class DictValue;
class Value;
}  // namespace base
namespace metrics {
class SystemProfileProto;
class SystemProfileProto_AccessibilityState;
class SystemProfileProto_AntiVirusProduct;
class SystemProfileProto_ChromeComponent;
class SystemProfileProto_ClonedInstallInfo;
class SystemProfileProto_DemoModeDimensions;
class SystemProfileProto_DemoModeDimensions_Retailer;
class SystemProfileProto_EnterpriseManagement;
class SystemProfileProto_ExternalAccessPoint;
class SystemProfileProto_ExternalAudioVideoDevice;
class SystemProfileProto_ExternalAudioVideoDevice_AudioDescription;
class SystemProfileProto_ExternalAudioVideoDevice_CECCommand;
class SystemProfileProto_FieldTrial;
class SystemProfileProto_GoogleUpdate;
class SystemProfileProto_GoogleUpdate_ProductInfo;
class SystemProfileProto_Hardware;
class SystemProfileProto_Hardware_CPU;
class SystemProfileProto_Hardware_Drive;
class SystemProfileProto_Hardware_Graphics;
class SystemProfileProto_Hardware_InternalStorageDevice;
class SystemProfileProto_Hardware_Motherboard;
class SystemProfileProto_LinkedAndroidPhoneData;
class SystemProfileProto_Network;
class SystemProfileProto_OS;
class SystemProfileProto_OS_Arc;
class SystemProfileProto_Stability;
class SystemProfileProto_TpmIdentifier;
}  // namespace metrics


namespace metrics {
base::Value ToValue(const SystemProfileProto& message);
void MaybeToValue(const std::optional<SystemProfileProto>& opt_message,
                  std::string_view output_dictionary_field_name,
                  base::DictValue& output_dictionary);
base::Value ToValue(const SystemProfileProto_ClonedInstallInfo& message);
void MaybeToValue(const std::optional<SystemProfileProto_ClonedInstallInfo>& opt_message,
                  std::string_view output_dictionary_field_name,
                  base::DictValue& output_dictionary);
base::Value ToValue(const SystemProfileProto_OS& message);
void MaybeToValue(const std::optional<SystemProfileProto_OS>& opt_message,
                  std::string_view output_dictionary_field_name,
                  base::DictValue& output_dictionary);
base::Value ToValue(const SystemProfileProto_OS_Arc& message);
void MaybeToValue(const std::optional<SystemProfileProto_OS_Arc>& opt_message,
                  std::string_view output_dictionary_field_name,
                  base::DictValue& output_dictionary);
base::Value ToValue(const SystemProfileProto_Hardware& message);
void MaybeToValue(const std::optional<SystemProfileProto_Hardware>& opt_message,
                  std::string_view output_dictionary_field_name,
                  base::DictValue& output_dictionary);
base::Value ToValue(const SystemProfileProto_Hardware_CPU& message);
void MaybeToValue(const std::optional<SystemProfileProto_Hardware_CPU>& opt_message,
                  std::string_view output_dictionary_field_name,
                  base::DictValue& output_dictionary);
base::Value ToValue(const SystemProfileProto_Hardware_Motherboard& message);
void MaybeToValue(const std::optional<SystemProfileProto_Hardware_Motherboard>& opt_message,
                  std::string_view output_dictionary_field_name,
                  base::DictValue& output_dictionary);
base::Value ToValue(const SystemProfileProto_Hardware_Graphics& message);
void MaybeToValue(const std::optional<SystemProfileProto_Hardware_Graphics>& opt_message,
                  std::string_view output_dictionary_field_name,
                  base::DictValue& output_dictionary);
base::Value ToValue(const SystemProfileProto_Hardware_InternalStorageDevice& message);
void MaybeToValue(const std::optional<SystemProfileProto_Hardware_InternalStorageDevice>& opt_message,
                  std::string_view output_dictionary_field_name,
                  base::DictValue& output_dictionary);
base::Value ToValue(const SystemProfileProto_Hardware_Drive& message);
void MaybeToValue(const std::optional<SystemProfileProto_Hardware_Drive>& opt_message,
                  std::string_view output_dictionary_field_name,
                  base::DictValue& output_dictionary);
base::Value ToValue(const SystemProfileProto_Network& message);
void MaybeToValue(const std::optional<SystemProfileProto_Network>& opt_message,
                  std::string_view output_dictionary_field_name,
                  base::DictValue& output_dictionary);
base::Value ToValue(const SystemProfileProto_GoogleUpdate& message);
void MaybeToValue(const std::optional<SystemProfileProto_GoogleUpdate>& opt_message,
                  std::string_view output_dictionary_field_name,
                  base::DictValue& output_dictionary);
base::Value ToValue(const SystemProfileProto_GoogleUpdate_ProductInfo& message);
void MaybeToValue(const std::optional<SystemProfileProto_GoogleUpdate_ProductInfo>& opt_message,
                  std::string_view output_dictionary_field_name,
                  base::DictValue& output_dictionary);
base::Value ToValue(const SystemProfileProto_Stability& message);
void MaybeToValue(const std::optional<SystemProfileProto_Stability>& opt_message,
                  std::string_view output_dictionary_field_name,
                  base::DictValue& output_dictionary);
base::Value ToValue(const SystemProfileProto_FieldTrial& message);
void MaybeToValue(const std::optional<SystemProfileProto_FieldTrial>& opt_message,
                  std::string_view output_dictionary_field_name,
                  base::DictValue& output_dictionary);
base::Value ToValue(const SystemProfileProto_ExternalAudioVideoDevice& message);
void MaybeToValue(const std::optional<SystemProfileProto_ExternalAudioVideoDevice>& opt_message,
                  std::string_view output_dictionary_field_name,
                  base::DictValue& output_dictionary);
base::Value ToValue(const SystemProfileProto_ExternalAudioVideoDevice_AudioDescription& message);
void MaybeToValue(const std::optional<SystemProfileProto_ExternalAudioVideoDevice_AudioDescription>& opt_message,
                  std::string_view output_dictionary_field_name,
                  base::DictValue& output_dictionary);
base::Value ToValue(const SystemProfileProto_ExternalAudioVideoDevice_CECCommand& message);
void MaybeToValue(const std::optional<SystemProfileProto_ExternalAudioVideoDevice_CECCommand>& opt_message,
                  std::string_view output_dictionary_field_name,
                  base::DictValue& output_dictionary);
base::Value ToValue(const SystemProfileProto_ExternalAccessPoint& message);
void MaybeToValue(const std::optional<SystemProfileProto_ExternalAccessPoint>& opt_message,
                  std::string_view output_dictionary_field_name,
                  base::DictValue& output_dictionary);
base::Value ToValue(const SystemProfileProto_AntiVirusProduct& message);
void MaybeToValue(const std::optional<SystemProfileProto_AntiVirusProduct>& opt_message,
                  std::string_view output_dictionary_field_name,
                  base::DictValue& output_dictionary);
base::Value ToValue(const SystemProfileProto_ChromeComponent& message);
void MaybeToValue(const std::optional<SystemProfileProto_ChromeComponent>& opt_message,
                  std::string_view output_dictionary_field_name,
                  base::DictValue& output_dictionary);
base::Value ToValue(const SystemProfileProto_LinkedAndroidPhoneData& message);
void MaybeToValue(const std::optional<SystemProfileProto_LinkedAndroidPhoneData>& opt_message,
                  std::string_view output_dictionary_field_name,
                  base::DictValue& output_dictionary);
base::Value ToValue(const SystemProfileProto_DemoModeDimensions& message);
void MaybeToValue(const std::optional<SystemProfileProto_DemoModeDimensions>& opt_message,
                  std::string_view output_dictionary_field_name,
                  base::DictValue& output_dictionary);
base::Value ToValue(const SystemProfileProto_DemoModeDimensions_Retailer& message);
void MaybeToValue(const std::optional<SystemProfileProto_DemoModeDimensions_Retailer>& opt_message,
                  std::string_view output_dictionary_field_name,
                  base::DictValue& output_dictionary);
base::Value ToValue(const SystemProfileProto_TpmIdentifier& message);
void MaybeToValue(const std::optional<SystemProfileProto_TpmIdentifier>& opt_message,
                  std::string_view output_dictionary_field_name,
                  base::DictValue& output_dictionary);
base::Value ToValue(const SystemProfileProto_AccessibilityState& message);
void MaybeToValue(const std::optional<SystemProfileProto_AccessibilityState>& opt_message,
                  std::string_view output_dictionary_field_name,
                  base::DictValue& output_dictionary);
base::Value ToValue(const SystemProfileProto_EnterpriseManagement& message);
void MaybeToValue(const std::optional<SystemProfileProto_EnterpriseManagement>& opt_message,
                  std::string_view output_dictionary_field_name,
                  base::DictValue& output_dictionary);
}  // namespace metrics


#endif  // THIRD_PARTY_METRICS_PROTO_SYSTEM_PROFILE_TO_VALUE_H_
