#ifndef SERVICES_RESOURCE_COORDINATOR_PUBLIC_MOJOM_MEMORY_INSTRUMENTATION_MEMORY_INSTRUMENTATION_MOJOM_SHARED_H_
#define SERVICES_RESOURCE_COORDINATOR_PUBLIC_MOJOM_MEMORY_INSTRUMENTATION_MEMORY_INSTRUMENTATION_MOJOM_SHARED_H_
#include <stdint.h>
#include <functional>
#include <iosfwd>
#include <type_traits>
#include <utility>
#include "mojo/public/cpp/bindings/array_data_view.h"
#include "mojo/public/cpp/bindings/enum_traits.h"
#include "mojo/public/cpp/bindings/interface_data_view.h"
#include "mojo/public/cpp/bindings/lib/bindings_internal.h"
#include "mojo/public/cpp/bindings/lib/serialization.h"
#include "mojo/public/cpp/bindings/map_data_view.h"
#include "mojo/public/cpp/bindings/string_data_view.h"
#include "third_party/perfetto/include/perfetto/tracing/traced_value_forward.h"
#include "services/resource_coordinator/public/mojom/memory_instrumentation/memory_instrumentation.mojom-shared-internal.h"
#include "mojo/public/mojom/base/big_string.mojom-shared.h"
#include "mojo/public/mojom/base/process_id.mojom-shared.h"
#include "mojo/public/mojom/base/time.mojom-shared.h"
#include "mojo/public/cpp/bindings/lib/interface_serialization.h"
#include "mojo/public/cpp/system/data_pipe.h"
#include "base/component_export.h"
namespace memory_instrumentation::mojom {
class RequestArgsDataView;
class RawAllocatorDumpEdgeDataView;
class RawAllocatorDumpEntryDataView;
class RawAllocatorDumpDataView;
class RawProcessMemoryDumpDataView;
class VmRegionDataView;
class PlatformPrivateFootprintDataView;
class RawOSMemDumpDataView;
class OSMemDumpDataView;
class AllocatorMemDumpDataView;
class ProcessMemoryDumpDataView;
class AggregatedMetricsDataView;
class GlobalMemoryDumpDataView;
class HeapProfileResultDataView;
class RawAllocatorDumpEntryValueDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::memory_instrumentation::mojom::RequestArgsDataView> { … };
template <>
struct MojomTypeTraits<::memory_instrumentation::mojom::RawAllocatorDumpEdgeDataView> { … };
template <>
struct MojomTypeTraits<::memory_instrumentation::mojom::RawAllocatorDumpEntryDataView> { … };
template <>
struct MojomTypeTraits<::memory_instrumentation::mojom::RawAllocatorDumpDataView> { … };
template <>
struct MojomTypeTraits<::memory_instrumentation::mojom::RawProcessMemoryDumpDataView> { … };
template <>
struct MojomTypeTraits<::memory_instrumentation::mojom::VmRegionDataView> { … };
template <>
struct MojomTypeTraits<::memory_instrumentation::mojom::PlatformPrivateFootprintDataView> { … };
template <>
struct MojomTypeTraits<::memory_instrumentation::mojom::RawOSMemDumpDataView> { … };
template <>
struct MojomTypeTraits<::memory_instrumentation::mojom::OSMemDumpDataView> { … };
template <>
struct MojomTypeTraits<::memory_instrumentation::mojom::AllocatorMemDumpDataView> { … };
template <>
struct MojomTypeTraits<::memory_instrumentation::mojom::ProcessMemoryDumpDataView> { … };
template <>
struct MojomTypeTraits<::memory_instrumentation::mojom::AggregatedMetricsDataView> { … };
template <>
struct MojomTypeTraits<::memory_instrumentation::mojom::GlobalMemoryDumpDataView> { … };
template <>
struct MojomTypeTraits<::memory_instrumentation::mojom::HeapProfileResultDataView> { … };
template <>
struct MojomTypeTraits<::memory_instrumentation::mojom::RawAllocatorDumpEntryValueDataView> { … };
}
}
namespace memory_instrumentationmojom
namespace std {
template <>
struct hash<::memory_instrumentation::mojom::DumpType>
: public mojo::internal::EnumHashImpl<::memory_instrumentation::mojom::DumpType> { … };
template <>
struct hash<::memory_instrumentation::mojom::LevelOfDetail>
: public mojo::internal::EnumHashImpl<::memory_instrumentation::mojom::LevelOfDetail> { … };
template <>
struct hash<::memory_instrumentation::mojom::Determinism>
: public mojo::internal::EnumHashImpl<::memory_instrumentation::mojom::Determinism> { … };
template <>
struct hash<::memory_instrumentation::mojom::ProcessType>
: public mojo::internal::EnumHashImpl<::memory_instrumentation::mojom::ProcessType> { … };
template <>
struct hash<::memory_instrumentation::mojom::MemoryMapOption>
: public mojo::internal::EnumHashImpl<::memory_instrumentation::mojom::MemoryMapOption> { … };
}
namespace mojo {
namespace internal {
Serializer< ::memory_instrumentation::mojom::DumpType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::memory_instrumentation::mojom::LevelOfDetail, MaybeConstUserType>;
}
namespace internal {
Serializer< ::memory_instrumentation::mojom::Determinism, MaybeConstUserType>;
}
namespace internal {
Serializer< ::memory_instrumentation::mojom::ProcessType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::memory_instrumentation::mojom::MemoryMapOption, MaybeConstUserType>;
}
namespace internal {
Serializer< ::memory_instrumentation::mojom::RequestArgsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::memory_instrumentation::mojom::RawAllocatorDumpEdgeDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::memory_instrumentation::mojom::RawAllocatorDumpEntryDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::memory_instrumentation::mojom::RawAllocatorDumpDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::memory_instrumentation::mojom::RawProcessMemoryDumpDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::memory_instrumentation::mojom::VmRegionDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::memory_instrumentation::mojom::PlatformPrivateFootprintDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::memory_instrumentation::mojom::RawOSMemDumpDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::memory_instrumentation::mojom::OSMemDumpDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::memory_instrumentation::mojom::AllocatorMemDumpDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::memory_instrumentation::mojom::ProcessMemoryDumpDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::memory_instrumentation::mojom::AggregatedMetricsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::memory_instrumentation::mojom::GlobalMemoryDumpDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::memory_instrumentation::mojom::HeapProfileResultDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::memory_instrumentation::mojom::RawAllocatorDumpEntryValueDataView, MaybeConstUserType>;
}
}
namespace memory_instrumentation::mojom {
inline void RawAllocatorDumpEntryDataView::GetNameDataView(
mojo::StringDataView* output) { … }
inline void RawAllocatorDumpEntryDataView::GetUnitsDataView(
mojo::StringDataView* output) { … }
inline void RawAllocatorDumpEntryDataView::GetValueDataView(
RawAllocatorDumpEntryValueDataView* output) { … }
inline void RawAllocatorDumpDataView::GetAbsoluteNameDataView(
mojo::StringDataView* output) { … }
inline void RawAllocatorDumpDataView::GetEntriesDataView(
mojo::ArrayDataView<RawAllocatorDumpEntryDataView>* output) { … }
inline void RawProcessMemoryDumpDataView::GetAllocatorDumpEdgesDataView(
mojo::ArrayDataView<RawAllocatorDumpEdgeDataView>* output) { … }
inline void RawProcessMemoryDumpDataView::GetAllocatorDumpsDataView(
mojo::ArrayDataView<RawAllocatorDumpDataView>* output) { … }
inline void VmRegionDataView::GetModuleDebugidDataView(
mojo::StringDataView* output) { … }
inline void VmRegionDataView::GetModuleDebugPathDataView(
mojo::StringDataView* output) { … }
inline void VmRegionDataView::GetMappedFileDataView(
mojo::StringDataView* output) { … }
inline void RawOSMemDumpDataView::GetPlatformPrivateFootprintDataView(
PlatformPrivateFootprintDataView* output) { … }
inline void RawOSMemDumpDataView::GetMemoryMapsDataView(
mojo::ArrayDataView<VmRegionDataView>* output) { … }
inline void RawOSMemDumpDataView::GetNativeLibraryPagesBitmapDataView(
mojo::ArrayDataView<uint8_t>* output) { … }
inline void AllocatorMemDumpDataView::GetNumericEntriesDataView(
mojo::MapDataView<mojo::StringDataView, uint64_t>* output) { … }
inline void AllocatorMemDumpDataView::GetChildrenDataView(
mojo::MapDataView<mojo::StringDataView, AllocatorMemDumpDataView>* output) { … }
inline void ProcessMemoryDumpDataView::GetOsDumpDataView(
OSMemDumpDataView* output) { … }
inline void ProcessMemoryDumpDataView::GetChromeAllocatorDumpsDataView(
mojo::MapDataView<mojo::StringDataView, AllocatorMemDumpDataView>* output) { … }
inline void ProcessMemoryDumpDataView::GetPidDataView(
::mojo_base::mojom::ProcessIdDataView* output) { … }
inline void ProcessMemoryDumpDataView::GetServiceNameDataView(
mojo::StringDataView* output) { … }
inline void GlobalMemoryDumpDataView::GetStartTimeDataView(
::mojo_base::mojom::TimeTicksDataView* output) { … }
inline void GlobalMemoryDumpDataView::GetProcessDumpsDataView(
mojo::ArrayDataView<ProcessMemoryDumpDataView>* output) { … }
inline void GlobalMemoryDumpDataView::GetAggregatedMetricsDataView(
AggregatedMetricsDataView* output) { … }
inline void HeapProfileResultDataView::GetPidDataView(
::mojo_base::mojom::ProcessIdDataView* output) { … }
inline void HeapProfileResultDataView::GetJsonDataView(
::mojo_base::mojom::BigStringDataView* output) { … }
inline void RawAllocatorDumpEntryValueDataView::GetValueStringDataView(
mojo::StringDataView* output) const { … }
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(RESOURCE_COORDINATOR_PUBLIC_MOJOM_SHARED) TraceFormatTraits<::memory_instrumentation::mojom::DumpType> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(RESOURCE_COORDINATOR_PUBLIC_MOJOM_SHARED) TraceFormatTraits<::memory_instrumentation::mojom::LevelOfDetail> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(RESOURCE_COORDINATOR_PUBLIC_MOJOM_SHARED) TraceFormatTraits<::memory_instrumentation::mojom::Determinism> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(RESOURCE_COORDINATOR_PUBLIC_MOJOM_SHARED) TraceFormatTraits<::memory_instrumentation::mojom::ProcessType> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(RESOURCE_COORDINATOR_PUBLIC_MOJOM_SHARED) TraceFormatTraits<::memory_instrumentation::mojom::MemoryMapOption> { … };
}
#endif