#ifndef COMPONENTS_CONTINUOUS_SEARCH_COMMON_PUBLIC_MOJOM_CONTINUOUS_SEARCH_MOJOM_SHARED_H_
#define COMPONENTS_CONTINUOUS_SEARCH_COMMON_PUBLIC_MOJOM_CONTINUOUS_SEARCH_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/continuous_search/common/public/mojom/continuous_search.mojom-shared-internal.h"
#include "mojo/public/mojom/base/string16.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 continuous_search::mojom {
class SearchResultDataView;
class ResultGroupDataView;
class CategoryResultsDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::continuous_search::mojom::SearchResultDataView> { … };
template <>
struct MojomTypeTraits<::continuous_search::mojom::ResultGroupDataView> { … };
template <>
struct MojomTypeTraits<::continuous_search::mojom::CategoryResultsDataView> { … };
}
}
namespace continuous_search::mojom {
enum class ResultType : int32_t { … };
std::ostream& operator<<(std::ostream& os, ResultType value);
inline bool IsKnownEnumValue(ResultType value) { … }
enum class Category : int32_t { … };
std::ostream& operator<<(std::ostream& os, Category value);
inline bool IsKnownEnumValue(Category value) { … }
enum class SearchResultExtractor_Status : int32_t { … };
std::ostream& operator<<(std::ostream& os, SearchResultExtractor_Status value);
inline bool IsKnownEnumValue(SearchResultExtractor_Status value) { … }
class SearchResultExtractorInterfaceBase { … };
SearchResultExtractorPtrDataView;
SearchResultExtractorRequestDataView;
SearchResultExtractorAssociatedPtrInfoDataView;
SearchResultExtractorAssociatedRequestDataView;
class SearchResultDataView { … };
class ResultGroupDataView { … };
class CategoryResultsDataView { … };
}
namespace std {
template <>
struct hash<::continuous_search::mojom::ResultType>
: public mojo::internal::EnumHashImpl<::continuous_search::mojom::ResultType> { … };
template <>
struct hash<::continuous_search::mojom::Category>
: public mojo::internal::EnumHashImpl<::continuous_search::mojom::Category> { … };
template <>
struct hash<::continuous_search::mojom::SearchResultExtractor_Status>
: public mojo::internal::EnumHashImpl<::continuous_search::mojom::SearchResultExtractor_Status> { … };
}
namespace mojo {
namespace internal {
Serializer< ::continuous_search::mojom::ResultType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::continuous_search::mojom::Category, MaybeConstUserType>;
}
namespace internal {
Serializer< ::continuous_search::mojom::SearchResultExtractor_Status, MaybeConstUserType>;
}
namespace internal {
Serializer< ::continuous_search::mojom::SearchResultDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::continuous_search::mojom::ResultGroupDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::continuous_search::mojom::CategoryResultsDataView, MaybeConstUserType>;
}
}
namespace continuous_search::mojom {
inline void SearchResultDataView::GetLinkDataView(
::url::mojom::UrlDataView* output) { … }
inline void SearchResultDataView::GetTitleDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void ResultGroupDataView::GetResultsDataView(
mojo::ArrayDataView<SearchResultDataView>* output) { … }
inline void CategoryResultsDataView::GetDocumentUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void CategoryResultsDataView::GetGroupsDataView(
mojo::ArrayDataView<ResultGroupDataView>* output) { … }
}
namespace perfetto {
template <>
struct TraceFormatTraits<::continuous_search::mojom::ResultType> { … };
}
namespace perfetto {
template <>
struct TraceFormatTraits<::continuous_search::mojom::Category> { … };
}
namespace perfetto {
template <>
struct TraceFormatTraits<::continuous_search::mojom::SearchResultExtractor_Status> { … };
}
#endif