#ifndef CHROME_BROWSER_UI_WEBUI_DISCARDS_DISCARDS_MOJOM_SHARED_H_
#define CHROME_BROWSER_UI_WEBUI_DISCARDS_DISCARDS_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 "chrome/browser/ui/webui/discards/discards.mojom-shared-internal.h"
#include "chrome/browser/resource_coordinator/lifecycle_unit_state.mojom-shared.h"
#include "mojo/public/mojom/base/process_id.mojom-shared.h"
#include "mojo/public/mojom/base/time.mojom-shared.h"
#include "url/mojom/url.mojom-shared.h"
#include "mojo/public/cpp/bindings/lib/interface_serialization.h"
#include "mojo/public/cpp/system/data_pipe.h"
namespace discards::mojom {
class TabDiscardsInfoDataView;
class PageInfoDataView;
class FrameInfoDataView;
class ProcessInfoDataView;
class WorkerInfoDataView;
class FavIconInfoDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::discards::mojom::TabDiscardsInfoDataView> { … };
template <>
struct MojomTypeTraits<::discards::mojom::PageInfoDataView> { … };
template <>
struct MojomTypeTraits<::discards::mojom::FrameInfoDataView> { … };
template <>
struct MojomTypeTraits<::discards::mojom::ProcessInfoDataView> { … };
template <>
struct MojomTypeTraits<::discards::mojom::WorkerInfoDataView> { … };
template <>
struct MojomTypeTraits<::discards::mojom::FavIconInfoDataView> { … };
}
}
namespace discards::mojom {
enum class LifecycleUnitVisibility : int32_t { … };
std::ostream& operator<<(std::ostream& os, LifecycleUnitVisibility value);
inline bool IsKnownEnumValue(LifecycleUnitVisibility value) { … }
class DetailsProviderInterfaceBase { … };
DetailsProviderPtrDataView;
DetailsProviderRequestDataView;
DetailsProviderAssociatedPtrInfoDataView;
DetailsProviderAssociatedRequestDataView;
class GraphChangeStreamInterfaceBase { … };
GraphChangeStreamPtrDataView;
GraphChangeStreamRequestDataView;
GraphChangeStreamAssociatedPtrInfoDataView;
GraphChangeStreamAssociatedRequestDataView;
class GraphDumpInterfaceBase { … };
GraphDumpPtrDataView;
GraphDumpRequestDataView;
GraphDumpAssociatedPtrInfoDataView;
GraphDumpAssociatedRequestDataView;
class TabDiscardsInfoDataView { … };
class PageInfoDataView { … };
class FrameInfoDataView { … };
class ProcessInfoDataView { … };
class WorkerInfoDataView { … };
class FavIconInfoDataView { … };
}
namespace std {
template <>
struct hash<::discards::mojom::LifecycleUnitVisibility>
: public mojo::internal::EnumHashImpl<::discards::mojom::LifecycleUnitVisibility> { … };
}
namespace mojo {
namespace internal {
Serializer< ::discards::mojom::LifecycleUnitVisibility, MaybeConstUserType>;
}
namespace internal {
Serializer< ::discards::mojom::TabDiscardsInfoDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::discards::mojom::PageInfoDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::discards::mojom::FrameInfoDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::discards::mojom::ProcessInfoDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::discards::mojom::WorkerInfoDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::discards::mojom::FavIconInfoDataView, MaybeConstUserType>;
}
}
namespace discards::mojom {
inline void TabDiscardsInfoDataView::GetTabUrlDataView(
mojo::StringDataView* output) { … }
inline void TabDiscardsInfoDataView::GetTitleDataView(
mojo::StringDataView* output) { … }
inline void TabDiscardsInfoDataView::GetCannotDiscardReasonsDataView(
mojo::ArrayDataView<mojo::StringDataView>* output) { … }
inline void TabDiscardsInfoDataView::GetStateChangeTimeDataView(
::mojo_base::mojom::TimeDeltaDataView* output) { … }
inline void PageInfoDataView::GetMainFrameUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void PageInfoDataView::GetDescriptionJsonDataView(
mojo::StringDataView* output) { … }
inline void FrameInfoDataView::GetUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void FrameInfoDataView::GetDescriptionJsonDataView(
mojo::StringDataView* output) { … }
inline void ProcessInfoDataView::GetPidDataView(
::mojo_base::mojom::ProcessIdDataView* output) { … }
inline void ProcessInfoDataView::GetDescriptionJsonDataView(
mojo::StringDataView* output) { … }
inline void WorkerInfoDataView::GetUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void WorkerInfoDataView::GetClientFrameIdsDataView(
mojo::ArrayDataView<int64_t>* output) { … }
inline void WorkerInfoDataView::GetClientWorkerIdsDataView(
mojo::ArrayDataView<int64_t>* output) { … }
inline void WorkerInfoDataView::GetChildWorkerIdsDataView(
mojo::ArrayDataView<int64_t>* output) { … }
inline void WorkerInfoDataView::GetDescriptionJsonDataView(
mojo::StringDataView* output) { … }
inline void FavIconInfoDataView::GetIconDataDataView(
mojo::StringDataView* output) { … }
}
namespace perfetto {
template <>
struct TraceFormatTraits<::discards::mojom::LifecycleUnitVisibility> { … };
}
#endif