| // Copyright 2016 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef SERVICES_NETWORK_PUBLIC_MOJOM_WEBSOCKET_MOJOM_SHARED_H_ |
| #define SERVICES_NETWORK_PUBLIC_MOJOM_WEBSOCKET_MOJOM_SHARED_H_ |
| |
| #include <stdint.h> |
| |
| #include <functional> |
| #include <ostream> |
| #include <type_traits> |
| #include <utility> |
| |
| #include "base/compiler_specific.h" |
| #include "base/containers/flat_map.h" |
| #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 "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/bindings/native_enum.h" |
| #include "mojo/public/cpp/bindings/lib/native_struct_serialization.h" |
| |
| #ifdef KYTHE_IS_RUNNING |
| #pragma kythe_inline_metadata "Metadata comment" |
| #endif |
| |
| |
| namespace network { |
| namespace mojom { |
| class HttpHeaderDataView; |
| |
| class WebSocketHandshakeRequestDataView; |
| |
| class WebSocketHandshakeResponseDataView; |
| |
| |
| |
| } // namespace mojom |
| } // namespace network |
| |
| namespace mojo { |
| namespace internal { |
| |
| template <> |
| struct MojomTypeTraits<::network::mojom::HttpHeaderDataView> { |
| using Data = ::network::mojom::internal::HttpHeader_Data; |
| using DataAsArrayElement = Pointer<Data>; |
| static constexpr MojomTypeCategory category = MojomTypeCategory::STRUCT; |
| }; |
| |
| template <> |
| struct MojomTypeTraits<::network::mojom::WebSocketHandshakeRequestDataView> { |
| using Data = ::network::mojom::internal::WebSocketHandshakeRequest_Data; |
| using DataAsArrayElement = Pointer<Data>; |
| static constexpr MojomTypeCategory category = MojomTypeCategory::STRUCT; |
| }; |
| |
| template <> |
| struct MojomTypeTraits<::network::mojom::WebSocketHandshakeResponseDataView> { |
| using Data = ::network::mojom::internal::WebSocketHandshakeResponse_Data; |
| using DataAsArrayElement = Pointer<Data>; |
| static constexpr MojomTypeCategory category = MojomTypeCategory::STRUCT; |
| }; |
| |
| } // namespace internal |
| } // namespace mojo |
| |
| |
| namespace network { |
| namespace mojom { |
| |
| |
| // @generated_from: network.mojom.WebSocketMessageType |
| enum class WebSocketMessageType : int32_t { |
| |
| // @generated_from: network.mojom.WebSocketMessageType.CONTINUATION |
| CONTINUATION, |
| |
| // @generated_from: network.mojom.WebSocketMessageType.TEXT |
| TEXT, |
| |
| // @generated_from: network.mojom.WebSocketMessageType.BINARY |
| BINARY, |
| |
| // @generated_from: network.mojom.WebSocketMessageType.LAST |
| LAST = WebSocketMessageType::BINARY, |
| kMinValue = 0, |
| kMaxValue = 2, |
| }; |
| |
| std::ostream& operator<<(std::ostream& os, WebSocketMessageType value); |
| inline bool IsKnownEnumValue(WebSocketMessageType value) { |
| return internal::WebSocketMessageType_Data::IsKnownValue( |
| static_cast<int32_t>(value)); |
| } |
| // Interface base classes. They are used for type safety check. |
| class AuthenticationHandlerInterfaceBase {}; |
| |
| using AuthenticationHandlerPtrDataView = |
| mojo::InterfacePtrDataView<AuthenticationHandlerInterfaceBase>; |
| using AuthenticationHandlerRequestDataView = |
| mojo::InterfaceRequestDataView<AuthenticationHandlerInterfaceBase>; |
| using AuthenticationHandlerAssociatedPtrInfoDataView = |
| mojo::AssociatedInterfacePtrInfoDataView<AuthenticationHandlerInterfaceBase>; |
| using AuthenticationHandlerAssociatedRequestDataView = |
| mojo::AssociatedInterfaceRequestDataView<AuthenticationHandlerInterfaceBase>; |
| class WebSocketHandshakeClientInterfaceBase {}; |
| |
| using WebSocketHandshakeClientPtrDataView = |
| mojo::InterfacePtrDataView<WebSocketHandshakeClientInterfaceBase>; |
| using WebSocketHandshakeClientRequestDataView = |
| mojo::InterfaceRequestDataView<WebSocketHandshakeClientInterfaceBase>; |
| using WebSocketHandshakeClientAssociatedPtrInfoDataView = |
| mojo::AssociatedInterfacePtrInfoDataView<WebSocketHandshakeClientInterfaceBase>; |
| using WebSocketHandshakeClientAssociatedRequestDataView = |
| mojo::AssociatedInterfaceRequestDataView<WebSocketHandshakeClientInterfaceBase>; |
| class WebSocketClientInterfaceBase {}; |
| |
| using WebSocketClientPtrDataView = |
| mojo::InterfacePtrDataView<WebSocketClientInterfaceBase>; |
| using WebSocketClientRequestDataView = |
| mojo::InterfaceRequestDataView<WebSocketClientInterfaceBase>; |
| using WebSocketClientAssociatedPtrInfoDataView = |
| mojo::AssociatedInterfacePtrInfoDataView<WebSocketClientInterfaceBase>; |
| using WebSocketClientAssociatedRequestDataView = |
| mojo::AssociatedInterfaceRequestDataView<WebSocketClientInterfaceBase>; |
| class WebSocketInterfaceBase {}; |
| |
| using WebSocketPtrDataView = |
| mojo::InterfacePtrDataView<WebSocketInterfaceBase>; |
| using WebSocketRequestDataView = |
| mojo::InterfaceRequestDataView<WebSocketInterfaceBase>; |
| using WebSocketAssociatedPtrInfoDataView = |
| mojo::AssociatedInterfacePtrInfoDataView<WebSocketInterfaceBase>; |
| using WebSocketAssociatedRequestDataView = |
| mojo::AssociatedInterfaceRequestDataView<WebSocketInterfaceBase>; |
| class HttpHeaderDataView { |
| public: |
| HttpHeaderDataView() {} |
| |
| HttpHeaderDataView( |
| internal::HttpHeader_Data* data, |
| mojo::internal::SerializationContext* context) |
| : data_(data), context_(context) {} |
| |
| bool is_null() const { return !data_; } |
| inline void GetNameDataView( |
| mojo::StringDataView* output); |
| |
| template <typename UserType> |
| WARN_UNUSED_RESULT bool ReadName(UserType* output) { |
| auto* pointer = data_->name.Get(); |
| return mojo::internal::Deserialize<mojo::StringDataView>( |
| pointer, output, context_); |
| } |
| inline void GetValueDataView( |
| mojo::StringDataView* output); |
| |
| template <typename UserType> |
| WARN_UNUSED_RESULT bool ReadValue(UserType* output) { |
| auto* pointer = data_->value.Get(); |
| return mojo::internal::Deserialize<mojo::StringDataView>( |
| pointer, output, context_); |
| } |
| private: |
| internal::HttpHeader_Data* data_ = nullptr; |
| mojo::internal::SerializationContext* context_ = nullptr; |
| }; |
| |
| class WebSocketHandshakeRequestDataView { |
| public: |
| WebSocketHandshakeRequestDataView() {} |
| |
| WebSocketHandshakeRequestDataView( |
| internal::WebSocketHandshakeRequest_Data* data, |
| mojo::internal::SerializationContext* context) |
| : data_(data), context_(context) {} |
| |
| bool is_null() const { return !data_; } |
| inline void GetUrlDataView( |
| ::url::mojom::UrlDataView* output); |
| |
| template <typename UserType> |
| WARN_UNUSED_RESULT bool ReadUrl(UserType* output) { |
| auto* pointer = data_->url.Get(); |
| return mojo::internal::Deserialize<::url::mojom::UrlDataView>( |
| pointer, output, context_); |
| } |
| inline void GetHeadersDataView( |
| mojo::ArrayDataView<HttpHeaderDataView>* output); |
| |
| template <typename UserType> |
| WARN_UNUSED_RESULT bool ReadHeaders(UserType* output) { |
| auto* pointer = data_->headers.Get(); |
| return mojo::internal::Deserialize<mojo::ArrayDataView<::network::mojom::HttpHeaderDataView>>( |
| pointer, output, context_); |
| } |
| inline void GetHeadersTextDataView( |
| mojo::StringDataView* output); |
| |
| template <typename UserType> |
| WARN_UNUSED_RESULT bool ReadHeadersText(UserType* output) { |
| auto* pointer = data_->headers_text.Get(); |
| return mojo::internal::Deserialize<mojo::StringDataView>( |
| pointer, output, context_); |
| } |
| private: |
| internal::WebSocketHandshakeRequest_Data* data_ = nullptr; |
| mojo::internal::SerializationContext* context_ = nullptr; |
| }; |
| |
| class WebSocketHandshakeResponseDataView { |
| public: |
| WebSocketHandshakeResponseDataView() {} |
| |
| WebSocketHandshakeResponseDataView( |
| internal::WebSocketHandshakeResponse_Data* data, |
| mojo::internal::SerializationContext* context) |
| : data_(data), context_(context) {} |
| |
| bool is_null() const { return !data_; } |
| inline void GetUrlDataView( |
| ::url::mojom::UrlDataView* output); |
| |
| template <typename UserType> |
| WARN_UNUSED_RESULT bool ReadUrl(UserType* output) { |
| auto* pointer = data_->url.Get(); |
| return mojo::internal::Deserialize<::url::mojom::UrlDataView>( |
| pointer, output, context_); |
| } |
| inline void GetHttpVersionDataView( |
| ::network::mojom::HttpVersionDataView* output); |
| |
| template <typename UserType> |
| WARN_UNUSED_RESULT bool ReadHttpVersion(UserType* output) { |
| auto* pointer = data_->http_version.Get(); |
| return mojo::internal::Deserialize<::network::mojom::HttpVersionDataView>( |
| pointer, output, context_); |
| } |
| int32_t status_code() const { |
| return data_->status_code; |
| } |
| inline void GetStatusTextDataView( |
| mojo::StringDataView* output); |
| |
| template <typename UserType> |
| WARN_UNUSED_RESULT bool ReadStatusText(UserType* output) { |
| auto* pointer = data_->status_text.Get(); |
| return mojo::internal::Deserialize<mojo::StringDataView>( |
| pointer, output, context_); |
| } |
| inline void GetRemoteEndpointDataView( |
| ::network::mojom::IPEndPointDataView* output); |
| |
| template <typename UserType> |
| WARN_UNUSED_RESULT bool ReadRemoteEndpoint(UserType* output) { |
| auto* pointer = data_->remote_endpoint.Get(); |
| return mojo::internal::Deserialize<::network::mojom::IPEndPointDataView>( |
| pointer, output, context_); |
| } |
| inline void GetHeadersDataView( |
| mojo::ArrayDataView<HttpHeaderDataView>* output); |
| |
| template <typename UserType> |
| WARN_UNUSED_RESULT bool ReadHeaders(UserType* output) { |
| auto* pointer = data_->headers.Get(); |
| return mojo::internal::Deserialize<mojo::ArrayDataView<::network::mojom::HttpHeaderDataView>>( |
| pointer, output, context_); |
| } |
| inline void GetHeadersTextDataView( |
| mojo::StringDataView* output); |
| |
| template <typename UserType> |
| WARN_UNUSED_RESULT bool ReadHeadersText(UserType* output) { |
| auto* pointer = data_->headers_text.Get(); |
| return mojo::internal::Deserialize<mojo::StringDataView>( |
| pointer, output, context_); |
| } |
| private: |
| internal::WebSocketHandshakeResponse_Data* data_ = nullptr; |
| mojo::internal::SerializationContext* context_ = nullptr; |
| }; |
| |
| |
| |
| } // namespace mojom |
| } // namespace network |
| |
| namespace std { |
| |
| template <> |
| struct hash<::network::mojom::WebSocketMessageType> |
| : public mojo::internal::EnumHashImpl<::network::mojom::WebSocketMessageType> {}; |
| |
| } // namespace std |
| |
| namespace mojo { |
| |
| |
| template <> |
| struct EnumTraits<::network::mojom::WebSocketMessageType, ::network::mojom::WebSocketMessageType> { |
| static ::network::mojom::WebSocketMessageType ToMojom(::network::mojom::WebSocketMessageType input) { return input; } |
| static bool FromMojom(::network::mojom::WebSocketMessageType input, ::network::mojom::WebSocketMessageType* output) { |
| *output = input; |
| return true; |
| } |
| }; |
| |
| namespace internal { |
| |
| template <typename MaybeConstUserType> |
| struct Serializer<::network::mojom::WebSocketMessageType, MaybeConstUserType> { |
| using UserType = typename std::remove_const<MaybeConstUserType>::type; |
| using Traits = EnumTraits<::network::mojom::WebSocketMessageType, UserType>; |
| |
| static void Serialize(UserType input, int32_t* output) { |
| *output = static_cast<int32_t>(Traits::ToMojom(input)); |
| } |
| |
| static bool Deserialize(int32_t input, UserType* output) { |
| return Traits::FromMojom(static_cast<::network::mojom::WebSocketMessageType>(input), output); |
| } |
| }; |
| |
| } // namespace internal |
| |
| |
| namespace internal { |
| |
| template <typename MaybeConstUserType> |
| struct Serializer<::network::mojom::HttpHeaderDataView, MaybeConstUserType> { |
| using UserType = typename std::remove_const<MaybeConstUserType>::type; |
| using Traits = StructTraits<::network::mojom::HttpHeaderDataView, UserType>; |
| |
| static void Serialize(MaybeConstUserType& input, |
| Buffer* buffer, |
| ::network::mojom::internal::HttpHeader_Data::BufferWriter* output, |
| SerializationContext* context) { |
| if (CallIsNullIfExists<Traits>(input)) |
| return; |
| (*output).Allocate(buffer); |
| decltype(Traits::name(input)) in_name = Traits::name(input); |
| typename decltype((*output)->name)::BaseType::BufferWriter |
| name_writer; |
| mojo::internal::Serialize<mojo::StringDataView>( |
| in_name, buffer, &name_writer, context); |
| (*output)->name.Set( |
| name_writer.is_null() ? nullptr : name_writer.data()); |
| MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING( |
| (*output)->name.is_null(), |
| mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, |
| "null name in HttpHeader struct"); |
| decltype(Traits::value(input)) in_value = Traits::value(input); |
| typename decltype((*output)->value)::BaseType::BufferWriter |
| value_writer; |
| mojo::internal::Serialize<mojo::StringDataView>( |
| in_value, buffer, &value_writer, context); |
| (*output)->value.Set( |
| value_writer.is_null() ? nullptr : value_writer.data()); |
| MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING( |
| (*output)->value.is_null(), |
| mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, |
| "null value in HttpHeader struct"); |
| } |
| |
| static bool Deserialize(::network::mojom::internal::HttpHeader_Data* input, |
| UserType* output, |
| SerializationContext* context) { |
| if (!input) |
| return CallSetToNullIfExists<Traits>(output); |
| |
| ::network::mojom::HttpHeaderDataView data_view(input, context); |
| return Traits::Read(data_view, output); |
| } |
| }; |
| |
| } // namespace internal |
| |
| |
| namespace internal { |
| |
| template <typename MaybeConstUserType> |
| struct Serializer<::network::mojom::WebSocketHandshakeRequestDataView, MaybeConstUserType> { |
| using UserType = typename std::remove_const<MaybeConstUserType>::type; |
| using Traits = StructTraits<::network::mojom::WebSocketHandshakeRequestDataView, UserType>; |
| |
| static void Serialize(MaybeConstUserType& input, |
| Buffer* buffer, |
| ::network::mojom::internal::WebSocketHandshakeRequest_Data::BufferWriter* output, |
| SerializationContext* context) { |
| if (CallIsNullIfExists<Traits>(input)) |
| return; |
| (*output).Allocate(buffer); |
| decltype(Traits::url(input)) in_url = Traits::url(input); |
| typename decltype((*output)->url)::BaseType::BufferWriter |
| url_writer; |
| mojo::internal::Serialize<::url::mojom::UrlDataView>( |
| in_url, buffer, &url_writer, context); |
| (*output)->url.Set( |
| url_writer.is_null() ? nullptr : url_writer.data()); |
| MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING( |
| (*output)->url.is_null(), |
| mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, |
| "null url in WebSocketHandshakeRequest struct"); |
| decltype(Traits::headers(input)) in_headers = Traits::headers(input); |
| typename decltype((*output)->headers)::BaseType::BufferWriter |
| headers_writer; |
| const mojo::internal::ContainerValidateParams headers_validate_params( |
| 0, false, nullptr); |
| mojo::internal::Serialize<mojo::ArrayDataView<::network::mojom::HttpHeaderDataView>>( |
| in_headers, buffer, &headers_writer, &headers_validate_params, |
| context); |
| (*output)->headers.Set( |
| headers_writer.is_null() ? nullptr : headers_writer.data()); |
| MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING( |
| (*output)->headers.is_null(), |
| mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, |
| "null headers in WebSocketHandshakeRequest struct"); |
| decltype(Traits::headers_text(input)) in_headers_text = Traits::headers_text(input); |
| typename decltype((*output)->headers_text)::BaseType::BufferWriter |
| headers_text_writer; |
| mojo::internal::Serialize<mojo::StringDataView>( |
| in_headers_text, buffer, &headers_text_writer, context); |
| (*output)->headers_text.Set( |
| headers_text_writer.is_null() ? nullptr : headers_text_writer.data()); |
| MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING( |
| (*output)->headers_text.is_null(), |
| mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, |
| "null headers_text in WebSocketHandshakeRequest struct"); |
| } |
| |
| static bool Deserialize(::network::mojom::internal::WebSocketHandshakeRequest_Data* input, |
| UserType* output, |
| SerializationContext* context) { |
| if (!input) |
| return CallSetToNullIfExists<Traits>(output); |
| |
| ::network::mojom::WebSocketHandshakeRequestDataView data_view(input, context); |
| return Traits::Read(data_view, output); |
| } |
| }; |
| |
| } // namespace internal |
| |
| |
| namespace internal { |
| |
| template <typename MaybeConstUserType> |
| struct Serializer<::network::mojom::WebSocketHandshakeResponseDataView, MaybeConstUserType> { |
| using UserType = typename std::remove_const<MaybeConstUserType>::type; |
| using Traits = StructTraits<::network::mojom::WebSocketHandshakeResponseDataView, UserType>; |
| |
| static void Serialize(MaybeConstUserType& input, |
| Buffer* buffer, |
| ::network::mojom::internal::WebSocketHandshakeResponse_Data::BufferWriter* output, |
| SerializationContext* context) { |
| if (CallIsNullIfExists<Traits>(input)) |
| return; |
| (*output).Allocate(buffer); |
| decltype(Traits::url(input)) in_url = Traits::url(input); |
| typename decltype((*output)->url)::BaseType::BufferWriter |
| url_writer; |
| mojo::internal::Serialize<::url::mojom::UrlDataView>( |
| in_url, buffer, &url_writer, context); |
| (*output)->url.Set( |
| url_writer.is_null() ? nullptr : url_writer.data()); |
| MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING( |
| (*output)->url.is_null(), |
| mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, |
| "null url in WebSocketHandshakeResponse struct"); |
| decltype(Traits::http_version(input)) in_http_version = Traits::http_version(input); |
| typename decltype((*output)->http_version)::BaseType::BufferWriter |
| http_version_writer; |
| mojo::internal::Serialize<::network::mojom::HttpVersionDataView>( |
| in_http_version, buffer, &http_version_writer, context); |
| (*output)->http_version.Set( |
| http_version_writer.is_null() ? nullptr : http_version_writer.data()); |
| MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING( |
| (*output)->http_version.is_null(), |
| mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, |
| "null http_version in WebSocketHandshakeResponse struct"); |
| (*output)->status_code = Traits::status_code(input); |
| decltype(Traits::status_text(input)) in_status_text = Traits::status_text(input); |
| typename decltype((*output)->status_text)::BaseType::BufferWriter |
| status_text_writer; |
| mojo::internal::Serialize<mojo::StringDataView>( |
| in_status_text, buffer, &status_text_writer, context); |
| (*output)->status_text.Set( |
| status_text_writer.is_null() ? nullptr : status_text_writer.data()); |
| MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING( |
| (*output)->status_text.is_null(), |
| mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, |
| "null status_text in WebSocketHandshakeResponse struct"); |
| decltype(Traits::remote_endpoint(input)) in_remote_endpoint = Traits::remote_endpoint(input); |
| typename decltype((*output)->remote_endpoint)::BaseType::BufferWriter |
| remote_endpoint_writer; |
| mojo::internal::Serialize<::network::mojom::IPEndPointDataView>( |
| in_remote_endpoint, buffer, &remote_endpoint_writer, context); |
| (*output)->remote_endpoint.Set( |
| remote_endpoint_writer.is_null() ? nullptr : remote_endpoint_writer.data()); |
| MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING( |
| (*output)->remote_endpoint.is_null(), |
| mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, |
| "null remote_endpoint in WebSocketHandshakeResponse struct"); |
| decltype(Traits::headers(input)) in_headers = Traits::headers(input); |
| typename decltype((*output)->headers)::BaseType::BufferWriter |
| headers_writer; |
| const mojo::internal::ContainerValidateParams headers_validate_params( |
| 0, false, nullptr); |
| mojo::internal::Serialize<mojo::ArrayDataView<::network::mojom::HttpHeaderDataView>>( |
| in_headers, buffer, &headers_writer, &headers_validate_params, |
| context); |
| (*output)->headers.Set( |
| headers_writer.is_null() ? nullptr : headers_writer.data()); |
| MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING( |
| (*output)->headers.is_null(), |
| mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, |
| "null headers in WebSocketHandshakeResponse struct"); |
| decltype(Traits::headers_text(input)) in_headers_text = Traits::headers_text(input); |
| typename decltype((*output)->headers_text)::BaseType::BufferWriter |
| headers_text_writer; |
| mojo::internal::Serialize<mojo::StringDataView>( |
| in_headers_text, buffer, &headers_text_writer, context); |
| (*output)->headers_text.Set( |
| headers_text_writer.is_null() ? nullptr : headers_text_writer.data()); |
| MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING( |
| (*output)->headers_text.is_null(), |
| mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, |
| "null headers_text in WebSocketHandshakeResponse struct"); |
| } |
| |
| static bool Deserialize(::network::mojom::internal::WebSocketHandshakeResponse_Data* input, |
| UserType* output, |
| SerializationContext* context) { |
| if (!input) |
| return CallSetToNullIfExists<Traits>(output); |
| |
| ::network::mojom::WebSocketHandshakeResponseDataView data_view(input, context); |
| return Traits::Read(data_view, output); |
| } |
| }; |
| |
| } // namespace internal |
| |
| } // namespace mojo |
| |
| |
| namespace network { |
| namespace mojom { |
| |
| inline void HttpHeaderDataView::GetNameDataView( |
| mojo::StringDataView* output) { |
| auto pointer = data_->name.Get(); |
| *output = mojo::StringDataView(pointer, context_); |
| } |
| inline void HttpHeaderDataView::GetValueDataView( |
| mojo::StringDataView* output) { |
| auto pointer = data_->value.Get(); |
| *output = mojo::StringDataView(pointer, context_); |
| } |
| |
| |
| inline void WebSocketHandshakeRequestDataView::GetUrlDataView( |
| ::url::mojom::UrlDataView* output) { |
| auto pointer = data_->url.Get(); |
| *output = ::url::mojom::UrlDataView(pointer, context_); |
| } |
| inline void WebSocketHandshakeRequestDataView::GetHeadersDataView( |
| mojo::ArrayDataView<HttpHeaderDataView>* output) { |
| auto pointer = data_->headers.Get(); |
| *output = mojo::ArrayDataView<HttpHeaderDataView>(pointer, context_); |
| } |
| inline void WebSocketHandshakeRequestDataView::GetHeadersTextDataView( |
| mojo::StringDataView* output) { |
| auto pointer = data_->headers_text.Get(); |
| *output = mojo::StringDataView(pointer, context_); |
| } |
| |
| |
| inline void WebSocketHandshakeResponseDataView::GetUrlDataView( |
| ::url::mojom::UrlDataView* output) { |
| auto pointer = data_->url.Get(); |
| *output = ::url::mojom::UrlDataView(pointer, context_); |
| } |
| inline void WebSocketHandshakeResponseDataView::GetHttpVersionDataView( |
| ::network::mojom::HttpVersionDataView* output) { |
| auto pointer = data_->http_version.Get(); |
| *output = ::network::mojom::HttpVersionDataView(pointer, context_); |
| } |
| inline void WebSocketHandshakeResponseDataView::GetStatusTextDataView( |
| mojo::StringDataView* output) { |
| auto pointer = data_->status_text.Get(); |
| *output = mojo::StringDataView(pointer, context_); |
| } |
| inline void WebSocketHandshakeResponseDataView::GetRemoteEndpointDataView( |
| ::network::mojom::IPEndPointDataView* output) { |
| auto pointer = data_->remote_endpoint.Get(); |
| *output = ::network::mojom::IPEndPointDataView(pointer, context_); |
| } |
| inline void WebSocketHandshakeResponseDataView::GetHeadersDataView( |
| mojo::ArrayDataView<HttpHeaderDataView>* output) { |
| auto pointer = data_->headers.Get(); |
| *output = mojo::ArrayDataView<HttpHeaderDataView>(pointer, context_); |
| } |
| inline void WebSocketHandshakeResponseDataView::GetHeadersTextDataView( |
| mojo::StringDataView* output) { |
| auto pointer = data_->headers_text.Get(); |
| *output = mojo::StringDataView(pointer, context_); |
| } |
| |
| |
| |
| } // namespace mojom |
| } // namespace network |
| |
| #endif // SERVICES_NETWORK_PUBLIC_MOJOM_WEBSOCKET_MOJOM_SHARED_H_
|
| /* Metadata comment
|
| eyJtZXRhIjogW3siZW5kIjogMjYzMiwgImJlZ2luIjogMjYxMiwgImVkZ2UiOiAiJS9reXRoZS9l
|
| ZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3Jw
|
| dXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2Ui
|
| OiAibW9qb20iLCAic2lnbmF0dXJlIjogIm5ldHdvcmsubW9qb20uV2ViU29ja2V0TWVzc2FnZVR5
|
| cGUifX0sIHsiZW5kIjogMjczMCwgImJlZ2luIjogMjcxOCwgImVkZ2UiOiAiJS9reXRoZS9lZGdl
|
| L2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMi
|
| OiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAi
|
| bW9qb20iLCAic2lnbmF0dXJlIjogIm5ldHdvcmsubW9qb20uV2ViU29ja2V0TWVzc2FnZVR5cGUu
|
| Q09OVElOVUFUSU9OIn19LCB7ImVuZCI6IDI4MDEsICJiZWdpbiI6IDI3OTcsICJlZGdlIjogIiUv
|
| a3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6
|
| IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxh
|
| bmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJuZXR3b3JrLm1vam9tLldlYlNvY2tldE1l
|
| c3NhZ2VUeXBlLlRFWFQifX0sIHsiZW5kIjogMjg3NiwgImJlZ2luIjogMjg3MCwgImVkZ2UiOiAi
|
| JS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1l
|
| IjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAi
|
| bGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm5ldHdvcmsubW9qb20uV2ViU29ja2V0
|
| TWVzc2FnZVR5cGUuQklOQVJZIn19LCB7ImVuZCI6IDI5NDcsICJiZWdpbiI6IDI5NDMsICJlZGdl
|
| IjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2
|
| bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3Jj
|
| IiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJuZXR3b3JrLm1vam9tLldlYlNv
|
| Y2tldE1lc3NhZ2VUeXBlLkxBU1QifX1dLCAidHlwZSI6ICJreXRoZTAifQ==
|
| */ |