#ifndef SERVICES_RESOURCE_COORDINATOR_PUBLIC_CPP_MEMORY_INSTRUMENTATION_MEMORY_INSTRUMENTATION_MOJOM_TRAITS_H_
#define SERVICES_RESOURCE_COORDINATOR_PUBLIC_CPP_MEMORY_INSTRUMENTATION_MEMORY_INSTRUMENTATION_MOJOM_TRAITS_H_
#include "base/component_export.h"
#include "base/notreached.h"
#include "base/process/process_handle.h"
#include "base/trace_event/memory_allocator_dump.h"
#include "base/trace_event/memory_dump_manager.h"
#include "base/trace_event/memory_dump_request_args.h"
#include "base/trace_event/process_memory_dump.h"
#include "services/resource_coordinator/public/mojom/memory_instrumentation/memory_instrumentation.mojom-shared.h"
namespace mojo {
template <>
struct COMPONENT_EXPORT(RESOURCE_COORDINATOR_PUBLIC_MOJOM)
EnumTraits<memory_instrumentation::mojom::DumpType,
base::trace_event::MemoryDumpType> { … };
template <>
struct COMPONENT_EXPORT(RESOURCE_COORDINATOR_PUBLIC_MOJOM)
EnumTraits<memory_instrumentation::mojom::LevelOfDetail,
base::trace_event::MemoryDumpLevelOfDetail> { … };
template <>
struct COMPONENT_EXPORT(RESOURCE_COORDINATOR_PUBLIC_MOJOM)
EnumTraits<memory_instrumentation::mojom::Determinism,
base::trace_event::MemoryDumpDeterminism> { … };
template <>
struct COMPONENT_EXPORT(RESOURCE_COORDINATOR_PUBLIC_MOJOM)
StructTraits<memory_instrumentation::mojom::RequestArgsDataView,
base::trace_event::MemoryDumpRequestArgs> { … };
template <>
struct COMPONENT_EXPORT(RESOURCE_COORDINATOR_PUBLIC_MOJOM) StructTraits<
memory_instrumentation::mojom::RawAllocatorDumpEdgeDataView,
base::trace_event::ProcessMemoryDump::MemoryAllocatorDumpEdge> { … };
template <>
struct COMPONENT_EXPORT(RESOURCE_COORDINATOR_PUBLIC_MOJOM) UnionTraits<
memory_instrumentation::mojom::RawAllocatorDumpEntryValueDataView,
base::trace_event::MemoryAllocatorDump::Entry> { … };
template <>
struct COMPONENT_EXPORT(RESOURCE_COORDINATOR_PUBLIC_MOJOM)
StructTraits<memory_instrumentation::mojom::RawAllocatorDumpEntryDataView,
base::trace_event::MemoryAllocatorDump::Entry> { … };
template <>
struct COMPONENT_EXPORT(RESOURCE_COORDINATOR_PUBLIC_MOJOM)
StructTraits<memory_instrumentation::mojom::RawAllocatorDumpDataView,
std::unique_ptr<base::trace_event::MemoryAllocatorDump>> { … };
template <>
struct COMPONENT_EXPORT(RESOURCE_COORDINATOR_PUBLIC_MOJOM)
StructTraits<memory_instrumentation::mojom::RawProcessMemoryDumpDataView,
std::unique_ptr<base::trace_event::ProcessMemoryDump>> { … };
}
#endif