#ifndef CHROME_BROWSER_UI_WEBUI_TAB_SEARCH_TAB_SEARCH_MOJOM_SHARED_H_
#define CHROME_BROWSER_UI_WEBUI_TAB_SEARCH_TAB_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 "chrome/browser/ui/webui/tab_search/tab_search.mojom-shared-internal.h"
#include "mojo/public/mojom/base/string16.mojom-shared.h"
#include "components/tab_groups/public/mojom/tab_group_types.mojom-shared.h"
#include "mojo/public/mojom/base/time.mojom-shared.h"
#include "mojo/public/mojom/base/token.mojom-shared.h"
#include "url/mojom/url.mojom-shared.h"
#include "chrome/browser/ui/webui/tabs/tabs.mojom-shared.h"
#include "mojo/public/cpp/bindings/lib/interface_serialization.h"
#include "mojo/public/cpp/system/data_pipe.h"
namespace tab_search::mojom {
class ProfileDataDataView;
class WindowDataView;
class TabDataView;
class RecentlyClosedTabDataView;
class TabGroupDataView;
class RecentlyClosedTabGroupDataView;
class SwitchToTabInfoDataView;
class TabOrganizationDataView;
class TabOrganizationSessionDataView;
class TabUpdateInfoDataView;
class TabsRemovedInfoDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::tab_search::mojom::ProfileDataDataView> { … };
template <>
struct MojomTypeTraits<::tab_search::mojom::WindowDataView> { … };
template <>
struct MojomTypeTraits<::tab_search::mojom::TabDataView> { … };
template <>
struct MojomTypeTraits<::tab_search::mojom::RecentlyClosedTabDataView> { … };
template <>
struct MojomTypeTraits<::tab_search::mojom::TabGroupDataView> { … };
template <>
struct MojomTypeTraits<::tab_search::mojom::RecentlyClosedTabGroupDataView> { … };
template <>
struct MojomTypeTraits<::tab_search::mojom::SwitchToTabInfoDataView> { … };
template <>
struct MojomTypeTraits<::tab_search::mojom::TabOrganizationDataView> { … };
template <>
struct MojomTypeTraits<::tab_search::mojom::TabOrganizationSessionDataView> { … };
template <>
struct MojomTypeTraits<::tab_search::mojom::TabUpdateInfoDataView> { … };
template <>
struct MojomTypeTraits<::tab_search::mojom::TabsRemovedInfoDataView> { … };
}
}
namespace tab_search::mojom {
enum class TabOrganizationState : int32_t { … };
std::ostream& operator<<(std::ostream& os, TabOrganizationState value);
inline bool IsKnownEnumValue(TabOrganizationState value) { … }
enum class TabOrganizationError : int32_t { … };
std::ostream& operator<<(std::ostream& os, TabOrganizationError value);
inline bool IsKnownEnumValue(TabOrganizationError value) { … }
enum class TabOrganizationModelStrategy : int32_t { … };
std::ostream& operator<<(std::ostream& os, TabOrganizationModelStrategy value);
inline bool IsKnownEnumValue(TabOrganizationModelStrategy value) { … }
enum class UserFeedback : int32_t { … };
std::ostream& operator<<(std::ostream& os, UserFeedback value);
inline bool IsKnownEnumValue(UserFeedback value) { … }
class PageHandlerFactoryInterfaceBase { … };
PageHandlerFactoryPtrDataView;
PageHandlerFactoryRequestDataView;
PageHandlerFactoryAssociatedPtrInfoDataView;
PageHandlerFactoryAssociatedRequestDataView;
class PageHandlerInterfaceBase { … };
PageHandlerPtrDataView;
PageHandlerRequestDataView;
PageHandlerAssociatedPtrInfoDataView;
PageHandlerAssociatedRequestDataView;
class PageInterfaceBase { … };
PagePtrDataView;
PageRequestDataView;
PageAssociatedPtrInfoDataView;
PageAssociatedRequestDataView;
class ProfileDataDataView { … };
class WindowDataView { … };
class TabDataView { … };
class RecentlyClosedTabDataView { … };
class TabGroupDataView { … };
class RecentlyClosedTabGroupDataView { … };
class SwitchToTabInfoDataView { … };
class TabOrganizationDataView { … };
class TabOrganizationSessionDataView { … };
class TabUpdateInfoDataView { … };
class TabsRemovedInfoDataView { … };
}
namespace std {
template <>
struct hash<::tab_search::mojom::TabOrganizationState>
: public mojo::internal::EnumHashImpl<::tab_search::mojom::TabOrganizationState> { … };
template <>
struct hash<::tab_search::mojom::TabOrganizationError>
: public mojo::internal::EnumHashImpl<::tab_search::mojom::TabOrganizationError> { … };
template <>
struct hash<::tab_search::mojom::TabOrganizationModelStrategy>
: public mojo::internal::EnumHashImpl<::tab_search::mojom::TabOrganizationModelStrategy> { … };
template <>
struct hash<::tab_search::mojom::UserFeedback>
: public mojo::internal::EnumHashImpl<::tab_search::mojom::UserFeedback> { … };
}
namespace mojo {
namespace internal {
Serializer< ::tab_search::mojom::TabOrganizationState, MaybeConstUserType>;
}
namespace internal {
Serializer< ::tab_search::mojom::TabOrganizationError, MaybeConstUserType>;
}
namespace internal {
Serializer< ::tab_search::mojom::TabOrganizationModelStrategy, MaybeConstUserType>;
}
namespace internal {
Serializer< ::tab_search::mojom::UserFeedback, MaybeConstUserType>;
}
namespace internal {
Serializer< ::tab_search::mojom::ProfileDataDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::tab_search::mojom::WindowDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::tab_search::mojom::TabDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::tab_search::mojom::RecentlyClosedTabDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::tab_search::mojom::TabGroupDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::tab_search::mojom::RecentlyClosedTabGroupDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::tab_search::mojom::SwitchToTabInfoDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::tab_search::mojom::TabOrganizationDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::tab_search::mojom::TabOrganizationSessionDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::tab_search::mojom::TabUpdateInfoDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::tab_search::mojom::TabsRemovedInfoDataView, MaybeConstUserType>;
}
}
namespace tab_search::mojom {
inline void ProfileDataDataView::GetWindowsDataView(
mojo::ArrayDataView<WindowDataView>* output) { … }
inline void ProfileDataDataView::GetTabGroupsDataView(
mojo::ArrayDataView<TabGroupDataView>* output) { … }
inline void ProfileDataDataView::GetRecentlyClosedTabsDataView(
mojo::ArrayDataView<RecentlyClosedTabDataView>* output) { … }
inline void ProfileDataDataView::GetRecentlyClosedTabGroupsDataView(
mojo::ArrayDataView<RecentlyClosedTabGroupDataView>* output) { … }
inline void WindowDataView::GetTabsDataView(
mojo::ArrayDataView<TabDataView>* output) { … }
inline void TabDataView::GetAlertStatesDataView(
mojo::ArrayDataView<::tabs::mojom::TabAlertState>* output) { … }
inline void TabDataView::GetGroupIdDataView(
::mojo_base::mojom::TokenDataView* output) { … }
inline void TabDataView::GetTitleDataView(
mojo::StringDataView* output) { … }
inline void TabDataView::GetUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void TabDataView::GetFaviconUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void TabDataView::GetLastActiveTimeTicksDataView(
::mojo_base::mojom::TimeTicksDataView* output) { … }
inline void TabDataView::GetLastActiveElapsedTextDataView(
mojo::StringDataView* output) { … }
inline void RecentlyClosedTabDataView::GetGroupIdDataView(
::mojo_base::mojom::TokenDataView* output) { … }
inline void RecentlyClosedTabDataView::GetTitleDataView(
mojo::StringDataView* output) { … }
inline void RecentlyClosedTabDataView::GetUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void RecentlyClosedTabDataView::GetLastActiveTimeDataView(
::mojo_base::mojom::TimeDataView* output) { … }
inline void RecentlyClosedTabDataView::GetLastActiveElapsedTextDataView(
mojo::StringDataView* output) { … }
inline void TabGroupDataView::GetIdDataView(
::mojo_base::mojom::TokenDataView* output) { … }
inline void TabGroupDataView::GetTitleDataView(
mojo::StringDataView* output) { … }
inline void RecentlyClosedTabGroupDataView::GetIdDataView(
::mojo_base::mojom::TokenDataView* output) { … }
inline void RecentlyClosedTabGroupDataView::GetTitleDataView(
mojo::StringDataView* output) { … }
inline void RecentlyClosedTabGroupDataView::GetLastActiveTimeDataView(
::mojo_base::mojom::TimeDataView* output) { … }
inline void RecentlyClosedTabGroupDataView::GetLastActiveElapsedTextDataView(
mojo::StringDataView* output) { … }
inline void TabOrganizationDataView::GetTabsDataView(
mojo::ArrayDataView<TabDataView>* output) { … }
inline void TabOrganizationDataView::GetNameDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void TabOrganizationSessionDataView::GetOrganizationsDataView(
mojo::ArrayDataView<TabOrganizationDataView>* output) { … }
inline void TabUpdateInfoDataView::GetTabDataView(
TabDataView* output) { … }
inline void TabsRemovedInfoDataView::GetTabIdsDataView(
mojo::ArrayDataView<int32_t>* output) { … }
inline void TabsRemovedInfoDataView::GetRecentlyClosedTabsDataView(
mojo::ArrayDataView<RecentlyClosedTabDataView>* output) { … }
}
namespace perfetto {
template <>
struct TraceFormatTraits<::tab_search::mojom::TabOrganizationState> { … };
}
namespace perfetto {
template <>
struct TraceFormatTraits<::tab_search::mojom::TabOrganizationError> { … };
}
namespace perfetto {
template <>
struct TraceFormatTraits<::tab_search::mojom::TabOrganizationModelStrategy> { … };
}
namespace perfetto {
template <>
struct TraceFormatTraits<::tab_search::mojom::UserFeedback> { … };
}
#endif