#ifndef SERVICES_NETWORK_PUBLIC_MOJOM_WEBSOCKET_MOJOM_SHARED_H_
#define SERVICES_NETWORK_PUBLIC_MOJOM_WEBSOCKET_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 "services/network/public/mojom/websocket.mojom-shared-internal.h"
#include "url/mojom/url.mojom-shared.h"
#include "services/network/public/mojom/network_param.mojom-shared.h"
#include "services/network/public/mojom/ip_endpoint.mojom-shared.h"
#include "mojo/public/cpp/bindings/lib/interface_serialization.h"
#include "mojo/public/cpp/system/data_pipe.h"
namespace network::mojom {
class HttpHeaderDataView;
class WebSocketHandshakeRequestDataView;
class WebSocketHandshakeResponseDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::network::mojom::HttpHeaderDataView> { … };
template <>
struct MojomTypeTraits<::network::mojom::WebSocketHandshakeRequestDataView> { … };
template <>
struct MojomTypeTraits<::network::mojom::WebSocketHandshakeResponseDataView> { … };
}
}
namespace network::mojom {
enum class WebSocketMessageType : int32_t { … };
std::ostream& operator<<(std::ostream& os, WebSocketMessageType value);
inline bool IsKnownEnumValue(WebSocketMessageType value) { … }
class WebSocketAuthenticationHandlerInterfaceBase { … };
WebSocketAuthenticationHandlerPtrDataView;
WebSocketAuthenticationHandlerRequestDataView;
WebSocketAuthenticationHandlerAssociatedPtrInfoDataView;
WebSocketAuthenticationHandlerAssociatedRequestDataView;
class WebSocketHandshakeClientInterfaceBase { … };
WebSocketHandshakeClientPtrDataView;
WebSocketHandshakeClientRequestDataView;
WebSocketHandshakeClientAssociatedPtrInfoDataView;
WebSocketHandshakeClientAssociatedRequestDataView;
class WebSocketClientInterfaceBase { … };
WebSocketClientPtrDataView;
WebSocketClientRequestDataView;
WebSocketClientAssociatedPtrInfoDataView;
WebSocketClientAssociatedRequestDataView;
class WebSocketInterfaceBase { … };
WebSocketPtrDataView;
WebSocketRequestDataView;
WebSocketAssociatedPtrInfoDataView;
WebSocketAssociatedRequestDataView;
class HttpHeaderDataView { … };
class WebSocketHandshakeRequestDataView { … };
class WebSocketHandshakeResponseDataView { … };
}
namespace std {
template <>
struct hash<::network::mojom::WebSocketMessageType>
: public mojo::internal::EnumHashImpl<::network::mojom::WebSocketMessageType> { … };
}
namespace mojo {
namespace internal {
Serializer< ::network::mojom::WebSocketMessageType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::network::mojom::HttpHeaderDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::network::mojom::WebSocketHandshakeRequestDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::network::mojom::WebSocketHandshakeResponseDataView, MaybeConstUserType>;
}
}
namespace network::mojom {
inline void HttpHeaderDataView::GetNameDataView(
mojo::StringDataView* output) { … }
inline void HttpHeaderDataView::GetValueDataView(
mojo::StringDataView* output) { … }
inline void WebSocketHandshakeRequestDataView::GetUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void WebSocketHandshakeRequestDataView::GetHeadersDataView(
mojo::ArrayDataView<HttpHeaderDataView>* output) { … }
inline void WebSocketHandshakeRequestDataView::GetHeadersTextDataView(
mojo::StringDataView* output) { … }
inline void WebSocketHandshakeResponseDataView::GetUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void WebSocketHandshakeResponseDataView::GetHttpVersionDataView(
::network::mojom::HttpVersionDataView* output) { … }
inline void WebSocketHandshakeResponseDataView::GetStatusTextDataView(
mojo::StringDataView* output) { … }
inline void WebSocketHandshakeResponseDataView::GetRemoteEndpointDataView(
::network::mojom::IPEndPointDataView* output) { … }
inline void WebSocketHandshakeResponseDataView::GetHeadersDataView(
mojo::ArrayDataView<HttpHeaderDataView>* output) { … }
inline void WebSocketHandshakeResponseDataView::GetHeadersTextDataView(
mojo::StringDataView* output) { … }
inline void WebSocketHandshakeResponseDataView::GetSelectedProtocolDataView(
mojo::StringDataView* output) { … }
inline void WebSocketHandshakeResponseDataView::GetExtensionsDataView(
mojo::StringDataView* output) { … }
}
namespace perfetto {
template <>
struct TraceFormatTraits<::network::mojom::WebSocketMessageType> { … };
}
#endif