#ifndef COMPONENTS_CONTENT_SETTINGS_CORE_COMMON_CONTENT_SETTINGS_MOJOM_SHARED_H_
#define COMPONENTS_CONTENT_SETTINGS_CORE_COMMON_CONTENT_SETTINGS_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/content_settings/core/common/content_settings.mojom-shared-internal.h"
#include "components/content_settings/core/common/content_settings_enums.mojom-shared.h"
#include "mojo/public/mojom/base/time.mojom-shared.h"
#include "mojo/public/mojom/base/values.mojom-shared.h"
namespace content_settings::mojom {
class PatternPartsDataView;
class ContentSettingsPatternDataView;
class RuleMetaDataDataView;
class ContentSettingPatternSourceDataView;
class RendererContentSettingRulesDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::content_settings::mojom::PatternPartsDataView> { … };
template <>
struct MojomTypeTraits<::content_settings::mojom::ContentSettingsPatternDataView> { … };
template <>
struct MojomTypeTraits<::content_settings::mojom::RuleMetaDataDataView> { … };
template <>
struct MojomTypeTraits<::content_settings::mojom::ContentSettingPatternSourceDataView> { … };
template <>
struct MojomTypeTraits<::content_settings::mojom::RendererContentSettingRulesDataView> { … };
}
}
namespace content_settings::mojom {
enum class ContentSetting : int32_t { … };
std::ostream& operator<<(std::ostream& os, ContentSetting value);
inline bool IsKnownEnumValue(ContentSetting value) { … }
class PatternPartsDataView { … };
class ContentSettingsPatternDataView { … };
class RuleMetaDataDataView { … };
class ContentSettingPatternSourceDataView { … };
class RendererContentSettingRulesDataView { … };
}
namespace std {
template <>
struct hash<::content_settings::mojom::ContentSetting>
: public mojo::internal::EnumHashImpl<::content_settings::mojom::ContentSetting> { … };
}
namespace mojo {
namespace internal {
Serializer< ::content_settings::mojom::ContentSetting, MaybeConstUserType>;
}
namespace internal {
Serializer< ::content_settings::mojom::PatternPartsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::content_settings::mojom::ContentSettingsPatternDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::content_settings::mojom::RuleMetaDataDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::content_settings::mojom::ContentSettingPatternSourceDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::content_settings::mojom::RendererContentSettingRulesDataView, MaybeConstUserType>;
}
}
namespace content_settings::mojom {
inline void PatternPartsDataView::GetSchemeDataView(
mojo::StringDataView* output) { … }
inline void PatternPartsDataView::GetHostDataView(
mojo::StringDataView* output) { … }
inline void PatternPartsDataView::GetPortDataView(
mojo::StringDataView* output) { … }
inline void PatternPartsDataView::GetPathDataView(
mojo::StringDataView* output) { … }
inline void ContentSettingsPatternDataView::GetPartsDataView(
PatternPartsDataView* output) { … }
inline void RuleMetaDataDataView::GetLastModifiedDataView(
::mojo_base::mojom::TimeDataView* output) { … }
inline void RuleMetaDataDataView::GetLastUsedDataView(
::mojo_base::mojom::TimeDataView* output) { … }
inline void RuleMetaDataDataView::GetLastVisitedDataView(
::mojo_base::mojom::TimeDataView* output) { … }
inline void RuleMetaDataDataView::GetExpirationDataView(
::mojo_base::mojom::TimeDataView* output) { … }
inline void RuleMetaDataDataView::GetLifetimeDataView(
::mojo_base::mojom::TimeDeltaDataView* output) { … }
inline void ContentSettingPatternSourceDataView::GetPrimaryPatternDataView(
ContentSettingsPatternDataView* output) { … }
inline void ContentSettingPatternSourceDataView::GetSecondaryPatternDataView(
ContentSettingsPatternDataView* output) { … }
inline void ContentSettingPatternSourceDataView::GetSettingValueDataView(
::mojo_base::mojom::ValueDataView* output) { … }
inline void ContentSettingPatternSourceDataView::GetMetadataDataView(
RuleMetaDataDataView* output) { … }
inline void RendererContentSettingRulesDataView::GetMixedContentRulesDataView(
mojo::ArrayDataView<ContentSettingPatternSourceDataView>* output) { … }
}
namespace perfetto {
template <>
struct TraceFormatTraits<::content_settings::mojom::ContentSetting> { … };
}
#endif