#ifndef COMPONENTS_ATTRIBUTION_REPORTING_REGISTRATION_MOJOM_SHARED_H_
#define COMPONENTS_ATTRIBUTION_REPORTING_REGISTRATION_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 "components/attribution_reporting/registration.mojom-shared-internal.h"
#include "components/attribution_reporting/source_registration_time_config.mojom-shared.h"
#include "components/attribution_reporting/trigger_data_matching.mojom-shared.h"
#include "components/attribution_reporting/debug_types.mojom-shared.h"
#include "mojo/public/mojom/base/int128.mojom-shared.h"
#include "mojo/public/mojom/base/time.mojom-shared.h"
#include "services/network/public/mojom/schemeful_site.mojom-shared.h"
#include "url/mojom/origin.mojom-shared.h"
#include "url/mojom/url.mojom-shared.h"
namespace attribution_reporting::mojom {
class SuitableOriginDataView;
class FilterDataDataView;
class FilterConfigDataView;
class FilterPairDataView;
class AggregationKeysDataView;
class AggregatableTriggerDataDataView;
class DestinationSetDataView;
class EventReportWindowsDataView;
class TriggerSpecDataView;
class TriggerSpecsDataView;
class AggregatableDebugReportingContributionDataView;
class AggregatableDebugReportingConfigDataView;
class SourceAggregatableDebugReportingConfigDataView;
class AttributionScopesSetDataView;
class AttributionScopesDataDataView;
class SourceRegistrationDataView;
class EventTriggerDataDataView;
class AggregatableDedupKeyDataView;
class AggregatableValuesValueDataView;
class AggregatableValuesDataView;
class TriggerRegistrationDataView;
class OsRegistrationItemDataView;
class OsRegistrationDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::attribution_reporting::mojom::SuitableOriginDataView> { … };
template <>
struct MojomTypeTraits<::attribution_reporting::mojom::FilterDataDataView> { … };
template <>
struct MojomTypeTraits<::attribution_reporting::mojom::FilterConfigDataView> { … };
template <>
struct MojomTypeTraits<::attribution_reporting::mojom::FilterPairDataView> { … };
template <>
struct MojomTypeTraits<::attribution_reporting::mojom::AggregationKeysDataView> { … };
template <>
struct MojomTypeTraits<::attribution_reporting::mojom::AggregatableTriggerDataDataView> { … };
template <>
struct MojomTypeTraits<::attribution_reporting::mojom::DestinationSetDataView> { … };
template <>
struct MojomTypeTraits<::attribution_reporting::mojom::EventReportWindowsDataView> { … };
template <>
struct MojomTypeTraits<::attribution_reporting::mojom::TriggerSpecDataView> { … };
template <>
struct MojomTypeTraits<::attribution_reporting::mojom::TriggerSpecsDataView> { … };
template <>
struct MojomTypeTraits<::attribution_reporting::mojom::AggregatableDebugReportingContributionDataView> { … };
template <>
struct MojomTypeTraits<::attribution_reporting::mojom::AggregatableDebugReportingConfigDataView> { … };
template <>
struct MojomTypeTraits<::attribution_reporting::mojom::SourceAggregatableDebugReportingConfigDataView> { … };
template <>
struct MojomTypeTraits<::attribution_reporting::mojom::AttributionScopesSetDataView> { … };
template <>
struct MojomTypeTraits<::attribution_reporting::mojom::AttributionScopesDataDataView> { … };
template <>
struct MojomTypeTraits<::attribution_reporting::mojom::SourceRegistrationDataView> { … };
template <>
struct MojomTypeTraits<::attribution_reporting::mojom::EventTriggerDataDataView> { … };
template <>
struct MojomTypeTraits<::attribution_reporting::mojom::AggregatableDedupKeyDataView> { … };
template <>
struct MojomTypeTraits<::attribution_reporting::mojom::AggregatableValuesValueDataView> { … };
template <>
struct MojomTypeTraits<::attribution_reporting::mojom::AggregatableValuesDataView> { … };
template <>
struct MojomTypeTraits<::attribution_reporting::mojom::TriggerRegistrationDataView> { … };
template <>
struct MojomTypeTraits<::attribution_reporting::mojom::OsRegistrationItemDataView> { … };
template <>
struct MojomTypeTraits<::attribution_reporting::mojom::OsRegistrationDataView> { … };
}
}
namespace attribution_reporting::mojom {
class SuitableOriginDataView { … };
class FilterDataDataView { … };
class FilterConfigDataView { … };
class FilterPairDataView { … };
class AggregationKeysDataView { … };
class AggregatableTriggerDataDataView { … };
class DestinationSetDataView { … };
class EventReportWindowsDataView { … };
class TriggerSpecDataView { … };
class TriggerSpecsDataView { … };
class AggregatableDebugReportingContributionDataView { … };
class AggregatableDebugReportingConfigDataView { … };
class SourceAggregatableDebugReportingConfigDataView { … };
class AttributionScopesSetDataView { … };
class AttributionScopesDataDataView { … };
class SourceRegistrationDataView { … };
class EventTriggerDataDataView { … };
class AggregatableDedupKeyDataView { … };
class AggregatableValuesValueDataView { … };
class AggregatableValuesDataView { … };
class TriggerRegistrationDataView { … };
class OsRegistrationItemDataView { … };
class OsRegistrationDataView { … };
}
namespace std {
}
namespace mojo {
namespace internal {
Serializer< ::attribution_reporting::mojom::SuitableOriginDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::attribution_reporting::mojom::FilterDataDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::attribution_reporting::mojom::FilterConfigDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::attribution_reporting::mojom::FilterPairDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::attribution_reporting::mojom::AggregationKeysDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::attribution_reporting::mojom::AggregatableTriggerDataDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::attribution_reporting::mojom::DestinationSetDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::attribution_reporting::mojom::EventReportWindowsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::attribution_reporting::mojom::TriggerSpecDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::attribution_reporting::mojom::TriggerSpecsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::attribution_reporting::mojom::AggregatableDebugReportingContributionDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::attribution_reporting::mojom::AggregatableDebugReportingConfigDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::attribution_reporting::mojom::SourceAggregatableDebugReportingConfigDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::attribution_reporting::mojom::AttributionScopesSetDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::attribution_reporting::mojom::AttributionScopesDataDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::attribution_reporting::mojom::SourceRegistrationDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::attribution_reporting::mojom::EventTriggerDataDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::attribution_reporting::mojom::AggregatableDedupKeyDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::attribution_reporting::mojom::AggregatableValuesValueDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::attribution_reporting::mojom::AggregatableValuesDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::attribution_reporting::mojom::TriggerRegistrationDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::attribution_reporting::mojom::OsRegistrationItemDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::attribution_reporting::mojom::OsRegistrationDataView, MaybeConstUserType>;
}
}
namespace attribution_reporting::mojom {
inline void SuitableOriginDataView::GetOriginDataView(
::url::mojom::OriginDataView* output) { … }
inline void FilterDataDataView::GetFilterValuesDataView(
mojo::MapDataView<mojo::StringDataView, mojo::ArrayDataView<mojo::StringDataView>>* output) { … }
inline void FilterConfigDataView::GetLookbackWindowDataView(
::mojo_base::mojom::TimeDeltaDataView* output) { … }
inline void FilterConfigDataView::GetFilterValuesDataView(
mojo::MapDataView<mojo::StringDataView, mojo::ArrayDataView<mojo::StringDataView>>* output) { … }
inline void FilterPairDataView::GetPositiveDataView(
mojo::ArrayDataView<FilterConfigDataView>* output) { … }
inline void FilterPairDataView::GetNegativeDataView(
mojo::ArrayDataView<FilterConfigDataView>* output) { … }
inline void AggregationKeysDataView::GetKeysDataView(
mojo::MapDataView<mojo::StringDataView, ::mojo_base::mojom::Uint128DataView>* output) { … }
inline void AggregatableTriggerDataDataView::GetKeyPieceDataView(
::mojo_base::mojom::Uint128DataView* output) { … }
inline void AggregatableTriggerDataDataView::GetSourceKeysDataView(
mojo::ArrayDataView<mojo::StringDataView>* output) { … }
inline void AggregatableTriggerDataDataView::GetFiltersDataView(
FilterPairDataView* output) { … }
inline void DestinationSetDataView::GetDestinationsDataView(
mojo::ArrayDataView<::network::mojom::SchemefulSiteDataView>* output) { … }
inline void EventReportWindowsDataView::GetStartTimeDataView(
::mojo_base::mojom::TimeDeltaDataView* output) { … }
inline void EventReportWindowsDataView::GetEndTimesDataView(
mojo::ArrayDataView<::mojo_base::mojom::TimeDeltaDataView>* output) { … }
inline void TriggerSpecDataView::GetEventReportWindowsDataView(
EventReportWindowsDataView* output) { … }
inline void TriggerSpecsDataView::GetSpecsDataView(
mojo::ArrayDataView<TriggerSpecDataView>* output) { … }
inline void TriggerSpecsDataView::GetTriggerDataIndicesDataView(
mojo::MapDataView<uint32_t, uint8_t>* output) { … }
inline void AggregatableDebugReportingContributionDataView::GetKeyPieceDataView(
::mojo_base::mojom::Uint128DataView* output) { … }
inline void AggregatableDebugReportingConfigDataView::GetKeyPieceDataView(
::mojo_base::mojom::Uint128DataView* output) { … }
inline void AggregatableDebugReportingConfigDataView::GetDebugDataDataView(
mojo::MapDataView<::attribution_reporting::mojom::DebugDataType, AggregatableDebugReportingContributionDataView>* output) { … }
inline void AggregatableDebugReportingConfigDataView::GetAggregationCoordinatorOriginDataView(
SuitableOriginDataView* output) { … }
inline void SourceAggregatableDebugReportingConfigDataView::GetConfigDataView(
AggregatableDebugReportingConfigDataView* output) { … }
inline void AttributionScopesSetDataView::GetScopesDataView(
mojo::ArrayDataView<mojo::StringDataView>* output) { … }
inline void AttributionScopesDataDataView::GetAttributionScopesSetDataView(
AttributionScopesSetDataView* output) { … }
inline void SourceRegistrationDataView::GetDestinationsDataView(
DestinationSetDataView* output) { … }
inline void SourceRegistrationDataView::GetExpiryDataView(
::mojo_base::mojom::TimeDeltaDataView* output) { … }
inline void SourceRegistrationDataView::GetTriggerSpecsDataView(
TriggerSpecsDataView* output) { … }
inline void SourceRegistrationDataView::GetAggregatableReportWindowDataView(
::mojo_base::mojom::TimeDeltaDataView* output) { … }
inline void SourceRegistrationDataView::GetFilterDataDataView(
FilterDataDataView* output) { … }
inline void SourceRegistrationDataView::GetAggregationKeysDataView(
AggregationKeysDataView* output) { … }
inline void SourceRegistrationDataView::GetAggregatableDebugReportingConfigDataView(
SourceAggregatableDebugReportingConfigDataView* output) { … }
inline void SourceRegistrationDataView::GetAttributionScopesDataDataView(
AttributionScopesDataDataView* output) { … }
inline void EventTriggerDataDataView::GetFiltersDataView(
FilterPairDataView* output) { … }
inline void AggregatableDedupKeyDataView::GetFiltersDataView(
FilterPairDataView* output) { … }
inline void AggregatableValuesDataView::GetValuesDataView(
mojo::MapDataView<mojo::StringDataView, AggregatableValuesValueDataView>* output) { … }
inline void AggregatableValuesDataView::GetFiltersDataView(
FilterPairDataView* output) { … }
inline void TriggerRegistrationDataView::GetEventTriggersDataView(
mojo::ArrayDataView<EventTriggerDataDataView>* output) { … }
inline void TriggerRegistrationDataView::GetFiltersDataView(
FilterPairDataView* output) { … }
inline void TriggerRegistrationDataView::GetAggregatableTriggerDataDataView(
mojo::ArrayDataView<AggregatableTriggerDataDataView>* output) { … }
inline void TriggerRegistrationDataView::GetAggregatableValuesDataView(
mojo::ArrayDataView<AggregatableValuesDataView>* output) { … }
inline void TriggerRegistrationDataView::GetAggregatableDedupKeysDataView(
mojo::ArrayDataView<AggregatableDedupKeyDataView>* output) { … }
inline void TriggerRegistrationDataView::GetAggregationCoordinatorOriginDataView(
SuitableOriginDataView* output) { … }
inline void TriggerRegistrationDataView::GetTriggerContextIdDataView(
mojo::StringDataView* output) { … }
inline void TriggerRegistrationDataView::GetAggregatableDebugReportingConfigDataView(
AggregatableDebugReportingConfigDataView* output) { … }
inline void TriggerRegistrationDataView::GetAttributionScopesDataView(
AttributionScopesSetDataView* output) { … }
inline void OsRegistrationItemDataView::GetUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void OsRegistrationDataView::GetItemsDataView(
mojo::ArrayDataView<OsRegistrationItemDataView>* output) { … }
}
#endif