chromium/out/Default/gen/content/browser/attribution_reporting/attribution_internals.mojom-shared.h

// content/browser/attribution_reporting/attribution_internals.mojom-shared.h is auto generated by mojom_bindings_generator.py, do not edit

// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CONTENT_BROWSER_ATTRIBUTION_REPORTING_ATTRIBUTION_INTERNALS_MOJOM_SHARED_H_
#define CONTENT_BROWSER_ATTRIBUTION_REPORTING_ATTRIBUTION_INTERNALS_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 "content/browser/attribution_reporting/attribution_internals.mojom-shared-internal.h"
#include "components/attribution_reporting/registration.mojom-shared.h"
#include "components/attribution_reporting/source_type.mojom-shared.h"
#include "components/attribution_reporting/trigger_data_matching.mojom-shared.h"
#include "content/browser/attribution_reporting/aggregatable_result.mojom-shared.h"
#include "content/browser/attribution_reporting/process_aggregatable_debug_report_result.mojom-shared.h"
#include "content/browser/attribution_reporting/attribution_reporting.mojom-shared.h"
#include "content/browser/attribution_reporting/event_level_result.mojom-shared.h"
#include "content/browser/attribution_reporting/store_source_result.mojom-shared.h"
#include "services/network/public/mojom/attribution.mojom-shared.h"
#include "url/mojom/origin.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 attribution_internals::mojom {
class ReportIDDataView;

class WebUIReportEventLevelDataDataView;

class AggregatableHistogramContributionDataView;

class WebUIReportAggregatableAttributionDataDataView;

class EmptyDataView;

class WebUIReportDataView;

class WebUIDebugReportDataView;

class WebUIAggregatableDebugReportDataView;

class WebUISourceDataView;

class WebUIRegistrationDataView;

class WebUITriggerDataView;

class WebUISourceRegistrationDataView;

class WebUIOsRegistrationDataView;

class WebUIReportDataDataView;
class NetworkStatusDataView;
class ReportStatusDataView;
class SendAggregatableDebugReportResultDataView;


}  // attribution_internals::mojom

namespace mojo {
namespace internal {

template <>
struct MojomTypeTraits<::attribution_internals::mojom::ReportIDDataView> {};

template <>
struct MojomTypeTraits<::attribution_internals::mojom::WebUIReportEventLevelDataDataView> {};

template <>
struct MojomTypeTraits<::attribution_internals::mojom::AggregatableHistogramContributionDataView> {};

template <>
struct MojomTypeTraits<::attribution_internals::mojom::WebUIReportAggregatableAttributionDataDataView> {};

template <>
struct MojomTypeTraits<::attribution_internals::mojom::EmptyDataView> {};

template <>
struct MojomTypeTraits<::attribution_internals::mojom::WebUIReportDataView> {};

template <>
struct MojomTypeTraits<::attribution_internals::mojom::WebUIDebugReportDataView> {};

template <>
struct MojomTypeTraits<::attribution_internals::mojom::WebUIAggregatableDebugReportDataView> {};

template <>
struct MojomTypeTraits<::attribution_internals::mojom::WebUISourceDataView> {};

template <>
struct MojomTypeTraits<::attribution_internals::mojom::WebUIRegistrationDataView> {};

template <>
struct MojomTypeTraits<::attribution_internals::mojom::WebUITriggerDataView> {};

template <>
struct MojomTypeTraits<::attribution_internals::mojom::WebUISourceRegistrationDataView> {};

template <>
struct MojomTypeTraits<::attribution_internals::mojom::WebUIOsRegistrationDataView> {};

template <>
struct MojomTypeTraits<::attribution_internals::mojom::WebUIReportDataDataView> {};

template <>
struct MojomTypeTraits<::attribution_internals::mojom::NetworkStatusDataView> {};

template <>
struct MojomTypeTraits<::attribution_internals::mojom::ReportStatusDataView> {};

template <>
struct MojomTypeTraits<::attribution_internals::mojom::SendAggregatableDebugReportResultDataView> {};

}  // namespace internal
}  // namespace mojo


namespace attribution_internals::mojom {


enum class WebUISource_Attributability : int32_t {};

 std::ostream& operator<<(std::ostream& os, WebUISource_Attributability value);
inline bool IsKnownEnumValue(WebUISource_Attributability value) {}
// Interface base classes. They are used for type safety check.
class ObserverInterfaceBase {};

ObserverPtrDataView;
ObserverRequestDataView;
ObserverAssociatedPtrInfoDataView;
ObserverAssociatedRequestDataView;
class HandlerInterfaceBase {};

HandlerPtrDataView;
HandlerRequestDataView;
HandlerAssociatedPtrInfoDataView;
HandlerAssociatedRequestDataView;
class FactoryInterfaceBase {};

FactoryPtrDataView;
FactoryRequestDataView;
FactoryAssociatedPtrInfoDataView;
FactoryAssociatedRequestDataView;


class ReportIDDataView {};


class WebUIReportEventLevelDataDataView {};


class AggregatableHistogramContributionDataView {};


class WebUIReportAggregatableAttributionDataDataView {};


class EmptyDataView {};


class WebUIReportDataView {};


class WebUIDebugReportDataView {};


class WebUIAggregatableDebugReportDataView {};


class WebUISourceDataView {};


class WebUIRegistrationDataView {};


class WebUITriggerDataView {};


class WebUISourceRegistrationDataView {};


class WebUIOsRegistrationDataView {};


class WebUIReportDataDataView {};



class NetworkStatusDataView {};



class ReportStatusDataView {};



class SendAggregatableDebugReportResultDataView {};



}  // attribution_internals::mojom

namespace std {

template <>
struct hash<::attribution_internals::mojom::WebUISource_Attributability>
    : public mojo::internal::EnumHashImpl<::attribution_internals::mojom::WebUISource_Attributability> {};

}  // namespace std

namespace mojo {


namespace internal {

Serializer< ::attribution_internals::mojom::WebUISource_Attributability, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::attribution_internals::mojom::ReportIDDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::attribution_internals::mojom::WebUIReportEventLevelDataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::attribution_internals::mojom::AggregatableHistogramContributionDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::attribution_internals::mojom::WebUIReportAggregatableAttributionDataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::attribution_internals::mojom::EmptyDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::attribution_internals::mojom::WebUIReportDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::attribution_internals::mojom::WebUIDebugReportDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::attribution_internals::mojom::WebUIAggregatableDebugReportDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::attribution_internals::mojom::WebUISourceDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::attribution_internals::mojom::WebUIRegistrationDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::attribution_internals::mojom::WebUITriggerDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::attribution_internals::mojom::WebUISourceRegistrationDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::attribution_internals::mojom::WebUIOsRegistrationDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::attribution_internals::mojom::WebUIReportDataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::attribution_internals::mojom::NetworkStatusDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::attribution_internals::mojom::ReportStatusDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::attribution_internals::mojom::SendAggregatableDebugReportResultDataView, MaybeConstUserType>;

}  // namespace internal

}  // namespace mojo


namespace attribution_internals::mojom {





inline void AggregatableHistogramContributionDataView::GetKeyDataView(
    mojo::StringDataView* output) {}


inline void WebUIReportAggregatableAttributionDataDataView::GetContributionsDataView(
    mojo::ArrayDataView<AggregatableHistogramContributionDataView>* output) {}
inline void WebUIReportAggregatableAttributionDataDataView::GetAggregationCoordinatorDataView(
    mojo::StringDataView* output) {}




inline void WebUIReportDataView::GetIdDataView(
    ReportIDDataView* output) {}
inline void WebUIReportDataView::GetReportUrlDataView(
    ::url::mojom::UrlDataView* output) {}
inline void WebUIReportDataView::GetReportBodyDataView(
    mojo::StringDataView* output) {}
inline void WebUIReportDataView::GetStatusDataView(
    ReportStatusDataView* output) {}
inline void WebUIReportDataView::GetDataDataView(
    WebUIReportDataDataView* output) {}


inline void WebUIDebugReportDataView::GetUrlDataView(
    ::url::mojom::UrlDataView* output) {}
inline void WebUIDebugReportDataView::GetBodyDataView(
    mojo::StringDataView* output) {}
inline void WebUIDebugReportDataView::GetStatusDataView(
    NetworkStatusDataView* output) {}


inline void WebUIAggregatableDebugReportDataView::GetUrlDataView(
    ::url::mojom::UrlDataView* output) {}
inline void WebUIAggregatableDebugReportDataView::GetBodyDataView(
    mojo::StringDataView* output) {}
inline void WebUIAggregatableDebugReportDataView::GetSendResultDataView(
    SendAggregatableDebugReportResultDataView* output) {}


inline void WebUISourceDataView::GetSourceOriginDataView(
    ::url::mojom::OriginDataView* output) {}
inline void WebUISourceDataView::GetDestinationsDataView(
    ::attribution_reporting::mojom::DestinationSetDataView* output) {}
inline void WebUISourceDataView::GetReportingOriginDataView(
    ::url::mojom::OriginDataView* output) {}
inline void WebUISourceDataView::GetTriggerSpecsJsonDataView(
    mojo::StringDataView* output) {}
inline void WebUISourceDataView::GetDedupKeysDataView(
    mojo::ArrayDataView<uint64_t>* output) {}
inline void WebUISourceDataView::GetFilterDataDataView(
    ::attribution_reporting::mojom::FilterDataDataView* output) {}
inline void WebUISourceDataView::GetAggregationKeysDataView(
    mojo::MapDataView<mojo::StringDataView, mojo::StringDataView>* output) {}
inline void WebUISourceDataView::GetAggregatableDedupKeysDataView(
    mojo::ArrayDataView<uint64_t>* output) {}
inline void WebUISourceDataView::GetAggregatableDebugKeyPieceDataView(
    mojo::StringDataView* output) {}
inline void WebUISourceDataView::GetAttributionScopesDataJsonDataView(
    mojo::StringDataView* output) {}


inline void WebUIRegistrationDataView::GetContextOriginDataView(
    ::url::mojom::OriginDataView* output) {}
inline void WebUIRegistrationDataView::GetReportingOriginDataView(
    ::url::mojom::OriginDataView* output) {}
inline void WebUIRegistrationDataView::GetRegistrationJsonDataView(
    mojo::StringDataView* output) {}


inline void WebUITriggerDataView::GetRegistrationDataView(
    WebUIRegistrationDataView* output) {}


inline void WebUISourceRegistrationDataView::GetRegistrationDataView(
    WebUIRegistrationDataView* output) {}


inline void WebUIOsRegistrationDataView::GetRegistrationUrlDataView(
    ::url::mojom::UrlDataView* output) {}
inline void WebUIOsRegistrationDataView::GetTopLevelOriginDataView(
    ::url::mojom::OriginDataView* output) {}


inline void WebUIReportDataDataView::GetEventLevelDataDataView(
    WebUIReportEventLevelDataDataView* output) const {}
inline void WebUIReportDataDataView::GetAggregatableAttributionDataDataView(
    WebUIReportAggregatableAttributionDataDataView* output) const {}

inline void NetworkStatusDataView::GetNetworkErrorDataView(
    mojo::StringDataView* output) const {}

inline void ReportStatusDataView::GetPendingDataView(
    EmptyDataView* output) const {}
inline void ReportStatusDataView::GetReplacedByHigherPriorityReportDataView(
    mojo::StringDataView* output) const {}
inline void ReportStatusDataView::GetProhibitedByBrowserPolicyDataView(
    EmptyDataView* output) const {}
inline void ReportStatusDataView::GetNetworkStatusDataView(
    NetworkStatusDataView* output) const {}
inline void ReportStatusDataView::GetFailedToAssembleDataView(
    EmptyDataView* output) const {}

inline void SendAggregatableDebugReportResultDataView::GetAssemblyFailedDataView(
    EmptyDataView* output) const {}
inline void SendAggregatableDebugReportResultDataView::GetNetworkStatusDataView(
    NetworkStatusDataView* output) const {}


}  // attribution_internals::mojom

// Declare TraceFormatTraits for enums, which should be defined in ::perfetto
// namespace.

namespace perfetto {

template <>
struct  TraceFormatTraits<::attribution_internals::mojom::WebUISource_Attributability> {};

} // namespace perfetto

#endif  // CONTENT_BROWSER_ATTRIBUTION_REPORTING_ATTRIBUTION_INTERNALS_MOJOM_SHARED_H_