blob: 036c08432ff16403a7e7cf267571c085c4c8ed2a [file] [log] [blame]
// Copyright 2013 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.
#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-private-field"
#elif defined(_MSC_VER)
#pragma warning(push)
#pragma warning(disable:4056)
#pragma warning(disable:4065)
#pragma warning(disable:4756)
#endif
#include "components/payments/mojom/payment_request.mojom-blink.h"
#include <math.h>
#include <stdint.h>
#include <utility>
#include "base/logging.h"
#include "base/trace_event/trace_event.h"
#include "mojo/public/cpp/bindings/lib/message_builder.h"
#include "mojo/public/cpp/bindings/lib/serialization_util.h"
#include "mojo/public/cpp/bindings/lib/validate_params.h"
#include "mojo/public/cpp/bindings/lib/validation_context.h"
#include "mojo/public/cpp/bindings/lib/validation_errors.h"
#include "mojo/public/interfaces/bindings/interface_control_messages.mojom.h"
#include "mojo/public/cpp/bindings/lib/wtf_serialization.h"
namespace payments {
namespace mojom {
namespace blink {
PaymentAddress::PaymentAddress()
: country(),
address_line(),
region(),
city(),
dependent_locality(),
postal_code(),
sorting_code(),
language_code(),
script_code(),
organization(),
recipient(),
phone() {}
PaymentAddress::PaymentAddress(
const WTF::String& country_in,
const WTF::Vector<WTF::String>& address_line_in,
const WTF::String& region_in,
const WTF::String& city_in,
const WTF::String& dependent_locality_in,
const WTF::String& postal_code_in,
const WTF::String& sorting_code_in,
const WTF::String& language_code_in,
const WTF::String& script_code_in,
const WTF::String& organization_in,
const WTF::String& recipient_in,
const WTF::String& phone_in)
: country(std::move(country_in)),
address_line(std::move(address_line_in)),
region(std::move(region_in)),
city(std::move(city_in)),
dependent_locality(std::move(dependent_locality_in)),
postal_code(std::move(postal_code_in)),
sorting_code(std::move(sorting_code_in)),
language_code(std::move(language_code_in)),
script_code(std::move(script_code_in)),
organization(std::move(organization_in)),
recipient(std::move(recipient_in)),
phone(std::move(phone_in)) {}
PaymentAddress::~PaymentAddress() = default;
bool PaymentAddress::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) {
return Data_::Validate(data, validation_context);
}
PaymentCurrencyAmount::PaymentCurrencyAmount()
: currency(),
value(),
currency_system("urn:iso:std:iso:4217") {}
PaymentCurrencyAmount::PaymentCurrencyAmount(
const WTF::String& currency_in,
const WTF::String& value_in,
const WTF::String& currency_system_in)
: currency(std::move(currency_in)),
value(std::move(value_in)),
currency_system(std::move(currency_system_in)) {}
PaymentCurrencyAmount::~PaymentCurrencyAmount() = default;
size_t PaymentCurrencyAmount::Hash(size_t seed) const {
seed = mojo::internal::WTFHash(seed, this->currency);
seed = mojo::internal::WTFHash(seed, this->value);
seed = mojo::internal::WTFHash(seed, this->currency_system);
return seed;
}
bool PaymentCurrencyAmount::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) {
return Data_::Validate(data, validation_context);
}
PaymentResponse::PaymentResponse()
: method_name(),
stringified_details(),
shipping_address(),
shipping_option(),
payer_name(),
payer_email(),
payer_phone() {}
PaymentResponse::PaymentResponse(
const WTF::String& method_name_in,
const WTF::String& stringified_details_in,
PaymentAddressPtr shipping_address_in,
const WTF::String& shipping_option_in,
const WTF::String& payer_name_in,
const WTF::String& payer_email_in,
const WTF::String& payer_phone_in)
: method_name(std::move(method_name_in)),
stringified_details(std::move(stringified_details_in)),
shipping_address(std::move(shipping_address_in)),
shipping_option(std::move(shipping_option_in)),
payer_name(std::move(payer_name_in)),
payer_email(std::move(payer_email_in)),
payer_phone(std::move(payer_phone_in)) {}
PaymentResponse::~PaymentResponse() = default;
bool PaymentResponse::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) {
return Data_::Validate(data, validation_context);
}
PaymentItem::PaymentItem()
: label(),
amount(),
pending() {}
PaymentItem::PaymentItem(
const WTF::String& label_in,
PaymentCurrencyAmountPtr amount_in,
bool pending_in)
: label(std::move(label_in)),
amount(std::move(amount_in)),
pending(std::move(pending_in)) {}
PaymentItem::~PaymentItem() = default;
size_t PaymentItem::Hash(size_t seed) const {
seed = mojo::internal::WTFHash(seed, this->label);
seed = mojo::internal::WTFHash(seed, this->amount);
seed = mojo::internal::WTFHash(seed, this->pending);
return seed;
}
bool PaymentItem::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) {
return Data_::Validate(data, validation_context);
}
PaymentShippingOption::PaymentShippingOption()
: id(),
label(),
amount(),
selected() {}
PaymentShippingOption::PaymentShippingOption(
const WTF::String& id_in,
const WTF::String& label_in,
PaymentCurrencyAmountPtr amount_in,
bool selected_in)
: id(std::move(id_in)),
label(std::move(label_in)),
amount(std::move(amount_in)),
selected(std::move(selected_in)) {}
PaymentShippingOption::~PaymentShippingOption() = default;
size_t PaymentShippingOption::Hash(size_t seed) const {
seed = mojo::internal::WTFHash(seed, this->id);
seed = mojo::internal::WTFHash(seed, this->label);
seed = mojo::internal::WTFHash(seed, this->amount);
seed = mojo::internal::WTFHash(seed, this->selected);
return seed;
}
bool PaymentShippingOption::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) {
return Data_::Validate(data, validation_context);
}
AndroidPayTokenizationParameter::AndroidPayTokenizationParameter()
: key(),
value() {}
AndroidPayTokenizationParameter::AndroidPayTokenizationParameter(
const WTF::String& key_in,
const WTF::String& value_in)
: key(std::move(key_in)),
value(std::move(value_in)) {}
AndroidPayTokenizationParameter::~AndroidPayTokenizationParameter() = default;
bool AndroidPayTokenizationParameter::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) {
return Data_::Validate(data, validation_context);
}
PaymentMethodData::PaymentMethodData()
: supported_methods(),
stringified_data(),
environment(),
merchant_name(),
merchant_id(),
allowed_card_networks(),
tokenization_type(),
parameters(),
min_google_play_services_version(),
supported_networks(),
supported_types() {}
PaymentMethodData::PaymentMethodData(
const WTF::Vector<WTF::String>& supported_methods_in,
const WTF::String& stringified_data_in,
AndroidPayEnvironment environment_in,
const WTF::String& merchant_name_in,
const WTF::String& merchant_id_in,
const WTF::Vector<AndroidPayCardNetwork>& allowed_card_networks_in,
AndroidPayTokenization tokenization_type_in,
WTF::Vector<AndroidPayTokenizationParameterPtr> parameters_in,
int32_t min_google_play_services_version_in,
const WTF::Vector<BasicCardNetwork>& supported_networks_in,
const WTF::Vector<BasicCardType>& supported_types_in)
: supported_methods(std::move(supported_methods_in)),
stringified_data(std::move(stringified_data_in)),
environment(std::move(environment_in)),
merchant_name(std::move(merchant_name_in)),
merchant_id(std::move(merchant_id_in)),
allowed_card_networks(std::move(allowed_card_networks_in)),
tokenization_type(std::move(tokenization_type_in)),
parameters(std::move(parameters_in)),
min_google_play_services_version(std::move(min_google_play_services_version_in)),
supported_networks(std::move(supported_networks_in)),
supported_types(std::move(supported_types_in)) {}
PaymentMethodData::~PaymentMethodData() = default;
bool PaymentMethodData::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) {
return Data_::Validate(data, validation_context);
}
PaymentDetailsModifier::PaymentDetailsModifier()
: total(),
additional_display_items(),
method_data() {}
PaymentDetailsModifier::PaymentDetailsModifier(
PaymentItemPtr total_in,
WTF::Vector<PaymentItemPtr> additional_display_items_in,
PaymentMethodDataPtr method_data_in)
: total(std::move(total_in)),
additional_display_items(std::move(additional_display_items_in)),
method_data(std::move(method_data_in)) {}
PaymentDetailsModifier::~PaymentDetailsModifier() = default;
bool PaymentDetailsModifier::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) {
return Data_::Validate(data, validation_context);
}
PaymentDetails::PaymentDetails()
: total(),
display_items(),
shipping_options(),
modifiers(),
error(""),
id() {}
PaymentDetails::PaymentDetails(
PaymentItemPtr total_in,
WTF::Vector<PaymentItemPtr> display_items_in,
WTF::Vector<PaymentShippingOptionPtr> shipping_options_in,
WTF::Vector<PaymentDetailsModifierPtr> modifiers_in,
const WTF::String& error_in,
const WTF::String& id_in)
: total(std::move(total_in)),
display_items(std::move(display_items_in)),
shipping_options(std::move(shipping_options_in)),
modifiers(std::move(modifiers_in)),
error(std::move(error_in)),
id(std::move(id_in)) {}
PaymentDetails::~PaymentDetails() = default;
bool PaymentDetails::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) {
return Data_::Validate(data, validation_context);
}
PaymentOptions::PaymentOptions()
: request_payer_name(),
request_payer_email(),
request_payer_phone(),
request_shipping(),
shipping_type() {}
PaymentOptions::PaymentOptions(
bool request_payer_name_in,
bool request_payer_email_in,
bool request_payer_phone_in,
bool request_shipping_in,
PaymentShippingType shipping_type_in)
: request_payer_name(std::move(request_payer_name_in)),
request_payer_email(std::move(request_payer_email_in)),
request_payer_phone(std::move(request_payer_phone_in)),
request_shipping(std::move(request_shipping_in)),
shipping_type(std::move(shipping_type_in)) {}
PaymentOptions::~PaymentOptions() = default;
size_t PaymentOptions::Hash(size_t seed) const {
seed = mojo::internal::WTFHash(seed, this->request_payer_name);
seed = mojo::internal::WTFHash(seed, this->request_payer_email);
seed = mojo::internal::WTFHash(seed, this->request_payer_phone);
seed = mojo::internal::WTFHash(seed, this->request_shipping);
seed = mojo::internal::WTFHash(seed, this->shipping_type);
return seed;
}
bool PaymentOptions::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) {
return Data_::Validate(data, validation_context);
}
const char PaymentRequestClient::Name_[] = "payments::mojom::PaymentRequestClient";
PaymentRequestClientProxy::PaymentRequestClientProxy(mojo::MessageReceiverWithResponder* receiver)
: receiver_(receiver) {
}
void PaymentRequestClientProxy::OnShippingAddressChange(
PaymentAddressPtr in_address) {
mojo::internal::SerializationContext serialization_context;
size_t size = sizeof(::payments::mojom::internal::PaymentRequestClient_OnShippingAddressChange_Params_Data);
size += mojo::internal::PrepareToSerialize<::payments::mojom::PaymentAddressDataView>(
in_address, &serialization_context);
constexpr uint32_t kFlags = 0;
mojo::internal::MessageBuilder builder(
internal::kPaymentRequestClient_OnShippingAddressChange_Name, kFlags, size,
serialization_context.associated_endpoint_count);
auto params =
::payments::mojom::internal::PaymentRequestClient_OnShippingAddressChange_Params_Data::New(builder.buffer());
ALLOW_UNUSED_LOCAL(params);
typename decltype(params->address)::BaseType* address_ptr;
mojo::internal::Serialize<::payments::mojom::PaymentAddressDataView>(
in_address, builder.buffer(), &address_ptr, &serialization_context);
params->address.Set(address_ptr);
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
params->address.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null address in PaymentRequestClient.OnShippingAddressChange request");
(&serialization_context)->handles.Swap(
builder.message()->mutable_handles());
(&serialization_context)->associated_endpoint_handles.swap(
*builder.message()->mutable_associated_endpoint_handles());
// This return value may be ignored as false implies the Connector has
// encountered an error, which will be visible through other means.
ignore_result(receiver_->Accept(builder.message()));
}
void PaymentRequestClientProxy::OnShippingOptionChange(
const WTF::String& in_shipping_option_id) {
mojo::internal::SerializationContext serialization_context;
size_t size = sizeof(::payments::mojom::internal::PaymentRequestClient_OnShippingOptionChange_Params_Data);
size += mojo::internal::PrepareToSerialize<mojo::StringDataView>(
in_shipping_option_id, &serialization_context);
constexpr uint32_t kFlags = 0;
mojo::internal::MessageBuilder builder(
internal::kPaymentRequestClient_OnShippingOptionChange_Name, kFlags, size,
serialization_context.associated_endpoint_count);
auto params =
::payments::mojom::internal::PaymentRequestClient_OnShippingOptionChange_Params_Data::New(builder.buffer());
ALLOW_UNUSED_LOCAL(params);
typename decltype(params->shipping_option_id)::BaseType* shipping_option_id_ptr;
mojo::internal::Serialize<mojo::StringDataView>(
in_shipping_option_id, builder.buffer(), &shipping_option_id_ptr, &serialization_context);
params->shipping_option_id.Set(shipping_option_id_ptr);
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
params->shipping_option_id.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null shipping_option_id in PaymentRequestClient.OnShippingOptionChange request");
(&serialization_context)->handles.Swap(
builder.message()->mutable_handles());
(&serialization_context)->associated_endpoint_handles.swap(
*builder.message()->mutable_associated_endpoint_handles());
// This return value may be ignored as false implies the Connector has
// encountered an error, which will be visible through other means.
ignore_result(receiver_->Accept(builder.message()));
}
void PaymentRequestClientProxy::OnPaymentResponse(
PaymentResponsePtr in_response) {
mojo::internal::SerializationContext serialization_context;
size_t size = sizeof(::payments::mojom::internal::PaymentRequestClient_OnPaymentResponse_Params_Data);
size += mojo::internal::PrepareToSerialize<::payments::mojom::PaymentResponseDataView>(
in_response, &serialization_context);
constexpr uint32_t kFlags = 0;
mojo::internal::MessageBuilder builder(
internal::kPaymentRequestClient_OnPaymentResponse_Name, kFlags, size,
serialization_context.associated_endpoint_count);
auto params =
::payments::mojom::internal::PaymentRequestClient_OnPaymentResponse_Params_Data::New(builder.buffer());
ALLOW_UNUSED_LOCAL(params);
typename decltype(params->response)::BaseType* response_ptr;
mojo::internal::Serialize<::payments::mojom::PaymentResponseDataView>(
in_response, builder.buffer(), &response_ptr, &serialization_context);
params->response.Set(response_ptr);
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
params->response.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null response in PaymentRequestClient.OnPaymentResponse request");
(&serialization_context)->handles.Swap(
builder.message()->mutable_handles());
(&serialization_context)->associated_endpoint_handles.swap(
*builder.message()->mutable_associated_endpoint_handles());
// This return value may be ignored as false implies the Connector has
// encountered an error, which will be visible through other means.
ignore_result(receiver_->Accept(builder.message()));
}
void PaymentRequestClientProxy::OnError(
PaymentErrorReason in_error) {
mojo::internal::SerializationContext serialization_context;
size_t size = sizeof(::payments::mojom::internal::PaymentRequestClient_OnError_Params_Data);
constexpr uint32_t kFlags = 0;
mojo::internal::MessageBuilder builder(
internal::kPaymentRequestClient_OnError_Name, kFlags, size,
serialization_context.associated_endpoint_count);
auto params =
::payments::mojom::internal::PaymentRequestClient_OnError_Params_Data::New(builder.buffer());
ALLOW_UNUSED_LOCAL(params);
mojo::internal::Serialize<::payments::mojom::PaymentErrorReason>(
in_error, &params->error);
(&serialization_context)->handles.Swap(
builder.message()->mutable_handles());
(&serialization_context)->associated_endpoint_handles.swap(
*builder.message()->mutable_associated_endpoint_handles());
// This return value may be ignored as false implies the Connector has
// encountered an error, which will be visible through other means.
ignore_result(receiver_->Accept(builder.message()));
}
void PaymentRequestClientProxy::OnComplete(
) {
mojo::internal::SerializationContext serialization_context;
size_t size = sizeof(::payments::mojom::internal::PaymentRequestClient_OnComplete_Params_Data);
constexpr uint32_t kFlags = 0;
mojo::internal::MessageBuilder builder(
internal::kPaymentRequestClient_OnComplete_Name, kFlags, size,
serialization_context.associated_endpoint_count);
auto params =
::payments::mojom::internal::PaymentRequestClient_OnComplete_Params_Data::New(builder.buffer());
ALLOW_UNUSED_LOCAL(params);
(&serialization_context)->handles.Swap(
builder.message()->mutable_handles());
(&serialization_context)->associated_endpoint_handles.swap(
*builder.message()->mutable_associated_endpoint_handles());
// This return value may be ignored as false implies the Connector has
// encountered an error, which will be visible through other means.
ignore_result(receiver_->Accept(builder.message()));
}
void PaymentRequestClientProxy::OnAbort(
bool in_aborted_successfully) {
mojo::internal::SerializationContext serialization_context;
size_t size = sizeof(::payments::mojom::internal::PaymentRequestClient_OnAbort_Params_Data);
constexpr uint32_t kFlags = 0;
mojo::internal::MessageBuilder builder(
internal::kPaymentRequestClient_OnAbort_Name, kFlags, size,
serialization_context.associated_endpoint_count);
auto params =
::payments::mojom::internal::PaymentRequestClient_OnAbort_Params_Data::New(builder.buffer());
ALLOW_UNUSED_LOCAL(params);
params->aborted_successfully = in_aborted_successfully;
(&serialization_context)->handles.Swap(
builder.message()->mutable_handles());
(&serialization_context)->associated_endpoint_handles.swap(
*builder.message()->mutable_associated_endpoint_handles());
// This return value may be ignored as false implies the Connector has
// encountered an error, which will be visible through other means.
ignore_result(receiver_->Accept(builder.message()));
}
void PaymentRequestClientProxy::OnCanMakePayment(
CanMakePaymentQueryResult in_result) {
mojo::internal::SerializationContext serialization_context;
size_t size = sizeof(::payments::mojom::internal::PaymentRequestClient_OnCanMakePayment_Params_Data);
constexpr uint32_t kFlags = 0;
mojo::internal::MessageBuilder builder(
internal::kPaymentRequestClient_OnCanMakePayment_Name, kFlags, size,
serialization_context.associated_endpoint_count);
auto params =
::payments::mojom::internal::PaymentRequestClient_OnCanMakePayment_Params_Data::New(builder.buffer());
ALLOW_UNUSED_LOCAL(params);
mojo::internal::Serialize<::payments::mojom::CanMakePaymentQueryResult>(
in_result, &params->result);
(&serialization_context)->handles.Swap(
builder.message()->mutable_handles());
(&serialization_context)->associated_endpoint_handles.swap(
*builder.message()->mutable_associated_endpoint_handles());
// This return value may be ignored as false implies the Connector has
// encountered an error, which will be visible through other means.
ignore_result(receiver_->Accept(builder.message()));
}
// static
bool PaymentRequestClientStubDispatch::Accept(
PaymentRequestClient* impl,
mojo::Message* message) {
switch (message->header()->name) {
case internal::kPaymentRequestClient_OnShippingAddressChange_Name: {
internal::PaymentRequestClient_OnShippingAddressChange_Params_Data* params =
reinterpret_cast<internal::PaymentRequestClient_OnShippingAddressChange_Params_Data*>(
message->mutable_payload());
mojo::internal::SerializationContext serialization_context;
serialization_context.handles.Swap((message)->mutable_handles());
serialization_context.associated_endpoint_handles.swap(
*(message)->mutable_associated_endpoint_handles());
bool success = true;
PaymentAddressPtr p_address{};
PaymentRequestClient_OnShippingAddressChange_ParamsDataView input_data_view(params, &serialization_context);
if (!input_data_view.ReadAddress(&p_address))
success = false;
if (!success) {
ReportValidationErrorForMessage(
message,
mojo::internal::VALIDATION_ERROR_DESERIALIZATION_FAILED,
"PaymentRequestClient::OnShippingAddressChange deserializer");
return false;
}
// A null |impl| means no implementation was bound.
assert(impl);
TRACE_EVENT0("mojom", "PaymentRequestClient::OnShippingAddressChange");
mojo::internal::MessageDispatchContext context(message);
impl->OnShippingAddressChange(
std::move(p_address));
return true;
}
case internal::kPaymentRequestClient_OnShippingOptionChange_Name: {
internal::PaymentRequestClient_OnShippingOptionChange_Params_Data* params =
reinterpret_cast<internal::PaymentRequestClient_OnShippingOptionChange_Params_Data*>(
message->mutable_payload());
mojo::internal::SerializationContext serialization_context;
serialization_context.handles.Swap((message)->mutable_handles());
serialization_context.associated_endpoint_handles.swap(
*(message)->mutable_associated_endpoint_handles());
bool success = true;
WTF::String p_shipping_option_id{};
PaymentRequestClient_OnShippingOptionChange_ParamsDataView input_data_view(params, &serialization_context);
if (!input_data_view.ReadShippingOptionId(&p_shipping_option_id))
success = false;
if (!success) {
ReportValidationErrorForMessage(
message,
mojo::internal::VALIDATION_ERROR_DESERIALIZATION_FAILED,
"PaymentRequestClient::OnShippingOptionChange deserializer");
return false;
}
// A null |impl| means no implementation was bound.
assert(impl);
TRACE_EVENT0("mojom", "PaymentRequestClient::OnShippingOptionChange");
mojo::internal::MessageDispatchContext context(message);
impl->OnShippingOptionChange(
std::move(p_shipping_option_id));
return true;
}
case internal::kPaymentRequestClient_OnPaymentResponse_Name: {
internal::PaymentRequestClient_OnPaymentResponse_Params_Data* params =
reinterpret_cast<internal::PaymentRequestClient_OnPaymentResponse_Params_Data*>(
message->mutable_payload());
mojo::internal::SerializationContext serialization_context;
serialization_context.handles.Swap((message)->mutable_handles());
serialization_context.associated_endpoint_handles.swap(
*(message)->mutable_associated_endpoint_handles());
bool success = true;
PaymentResponsePtr p_response{};
PaymentRequestClient_OnPaymentResponse_ParamsDataView input_data_view(params, &serialization_context);
if (!input_data_view.ReadResponse(&p_response))
success = false;
if (!success) {
ReportValidationErrorForMessage(
message,
mojo::internal::VALIDATION_ERROR_DESERIALIZATION_FAILED,
"PaymentRequestClient::OnPaymentResponse deserializer");
return false;
}
// A null |impl| means no implementation was bound.
assert(impl);
TRACE_EVENT0("mojom", "PaymentRequestClient::OnPaymentResponse");
mojo::internal::MessageDispatchContext context(message);
impl->OnPaymentResponse(
std::move(p_response));
return true;
}
case internal::kPaymentRequestClient_OnError_Name: {
internal::PaymentRequestClient_OnError_Params_Data* params =
reinterpret_cast<internal::PaymentRequestClient_OnError_Params_Data*>(
message->mutable_payload());
mojo::internal::SerializationContext serialization_context;
serialization_context.handles.Swap((message)->mutable_handles());
serialization_context.associated_endpoint_handles.swap(
*(message)->mutable_associated_endpoint_handles());
bool success = true;
PaymentErrorReason p_error{};
PaymentRequestClient_OnError_ParamsDataView input_data_view(params, &serialization_context);
if (!input_data_view.ReadError(&p_error))
success = false;
if (!success) {
ReportValidationErrorForMessage(
message,
mojo::internal::VALIDATION_ERROR_DESERIALIZATION_FAILED,
"PaymentRequestClient::OnError deserializer");
return false;
}
// A null |impl| means no implementation was bound.
assert(impl);
TRACE_EVENT0("mojom", "PaymentRequestClient::OnError");
mojo::internal::MessageDispatchContext context(message);
impl->OnError(
std::move(p_error));
return true;
}
case internal::kPaymentRequestClient_OnComplete_Name: {
internal::PaymentRequestClient_OnComplete_Params_Data* params =
reinterpret_cast<internal::PaymentRequestClient_OnComplete_Params_Data*>(
message->mutable_payload());
mojo::internal::SerializationContext serialization_context;
serialization_context.handles.Swap((message)->mutable_handles());
serialization_context.associated_endpoint_handles.swap(
*(message)->mutable_associated_endpoint_handles());
bool success = true;
PaymentRequestClient_OnComplete_ParamsDataView input_data_view(params, &serialization_context);
if (!success) {
ReportValidationErrorForMessage(
message,
mojo::internal::VALIDATION_ERROR_DESERIALIZATION_FAILED,
"PaymentRequestClient::OnComplete deserializer");
return false;
}
// A null |impl| means no implementation was bound.
assert(impl);
TRACE_EVENT0("mojom", "PaymentRequestClient::OnComplete");
mojo::internal::MessageDispatchContext context(message);
impl->OnComplete();
return true;
}
case internal::kPaymentRequestClient_OnAbort_Name: {
internal::PaymentRequestClient_OnAbort_Params_Data* params =
reinterpret_cast<internal::PaymentRequestClient_OnAbort_Params_Data*>(
message->mutable_payload());
mojo::internal::SerializationContext serialization_context;
serialization_context.handles.Swap((message)->mutable_handles());
serialization_context.associated_endpoint_handles.swap(
*(message)->mutable_associated_endpoint_handles());
bool success = true;
bool p_aborted_successfully{};
PaymentRequestClient_OnAbort_ParamsDataView input_data_view(params, &serialization_context);
p_aborted_successfully = input_data_view.aborted_successfully();
if (!success) {
ReportValidationErrorForMessage(
message,
mojo::internal::VALIDATION_ERROR_DESERIALIZATION_FAILED,
"PaymentRequestClient::OnAbort deserializer");
return false;
}
// A null |impl| means no implementation was bound.
assert(impl);
TRACE_EVENT0("mojom", "PaymentRequestClient::OnAbort");
mojo::internal::MessageDispatchContext context(message);
impl->OnAbort(
std::move(p_aborted_successfully));
return true;
}
case internal::kPaymentRequestClient_OnCanMakePayment_Name: {
internal::PaymentRequestClient_OnCanMakePayment_Params_Data* params =
reinterpret_cast<internal::PaymentRequestClient_OnCanMakePayment_Params_Data*>(
message->mutable_payload());
mojo::internal::SerializationContext serialization_context;
serialization_context.handles.Swap((message)->mutable_handles());
serialization_context.associated_endpoint_handles.swap(
*(message)->mutable_associated_endpoint_handles());
bool success = true;
CanMakePaymentQueryResult p_result{};
PaymentRequestClient_OnCanMakePayment_ParamsDataView input_data_view(params, &serialization_context);
if (!input_data_view.ReadResult(&p_result))
success = false;
if (!success) {
ReportValidationErrorForMessage(
message,
mojo::internal::VALIDATION_ERROR_DESERIALIZATION_FAILED,
"PaymentRequestClient::OnCanMakePayment deserializer");
return false;
}
// A null |impl| means no implementation was bound.
assert(impl);
TRACE_EVENT0("mojom", "PaymentRequestClient::OnCanMakePayment");
mojo::internal::MessageDispatchContext context(message);
impl->OnCanMakePayment(
std::move(p_result));
return true;
}
}
return false;
}
// static
bool PaymentRequestClientStubDispatch::AcceptWithResponder(
PaymentRequestClient* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) {
switch (message->header()->name) {
case internal::kPaymentRequestClient_OnShippingAddressChange_Name: {
break;
}
case internal::kPaymentRequestClient_OnShippingOptionChange_Name: {
break;
}
case internal::kPaymentRequestClient_OnPaymentResponse_Name: {
break;
}
case internal::kPaymentRequestClient_OnError_Name: {
break;
}
case internal::kPaymentRequestClient_OnComplete_Name: {
break;
}
case internal::kPaymentRequestClient_OnAbort_Name: {
break;
}
case internal::kPaymentRequestClient_OnCanMakePayment_Name: {
break;
}
}
return false;
}
bool PaymentRequestClientRequestValidator::Accept(mojo::Message* message) {
if (mojo::internal::ControlMessageHandler::IsControlMessage(message))
return true;
mojo::internal::ValidationContext validation_context(
message->payload(), message->payload_num_bytes(),
message->handles()->size(), message->payload_num_interface_ids(), message,
"PaymentRequestClient RequestValidator");
switch (message->header()->name) {
case internal::kPaymentRequestClient_OnShippingAddressChange_Name: {
if (!mojo::internal::ValidateMessageIsRequestWithoutResponse(
message, &validation_context)) {
return false;
}
if (!mojo::internal::ValidateMessagePayload<
internal::PaymentRequestClient_OnShippingAddressChange_Params_Data>(
message, &validation_context)) {
return false;
}
return true;
}
case internal::kPaymentRequestClient_OnShippingOptionChange_Name: {
if (!mojo::internal::ValidateMessageIsRequestWithoutResponse(
message, &validation_context)) {
return false;
}
if (!mojo::internal::ValidateMessagePayload<
internal::PaymentRequestClient_OnShippingOptionChange_Params_Data>(
message, &validation_context)) {
return false;
}
return true;
}
case internal::kPaymentRequestClient_OnPaymentResponse_Name: {
if (!mojo::internal::ValidateMessageIsRequestWithoutResponse(
message, &validation_context)) {
return false;
}
if (!mojo::internal::ValidateMessagePayload<
internal::PaymentRequestClient_OnPaymentResponse_Params_Data>(
message, &validation_context)) {
return false;
}
return true;
}
case internal::kPaymentRequestClient_OnError_Name: {
if (!mojo::internal::ValidateMessageIsRequestWithoutResponse(
message, &validation_context)) {
return false;
}
if (!mojo::internal::ValidateMessagePayload<
internal::PaymentRequestClient_OnError_Params_Data>(
message, &validation_context)) {
return false;
}
return true;
}
case internal::kPaymentRequestClient_OnComplete_Name: {
if (!mojo::internal::ValidateMessageIsRequestWithoutResponse(
message, &validation_context)) {
return false;
}
if (!mojo::internal::ValidateMessagePayload<
internal::PaymentRequestClient_OnComplete_Params_Data>(
message, &validation_context)) {
return false;
}
return true;
}
case internal::kPaymentRequestClient_OnAbort_Name: {
if (!mojo::internal::ValidateMessageIsRequestWithoutResponse(
message, &validation_context)) {
return false;
}
if (!mojo::internal::ValidateMessagePayload<
internal::PaymentRequestClient_OnAbort_Params_Data>(
message, &validation_context)) {
return false;
}
return true;
}
case internal::kPaymentRequestClient_OnCanMakePayment_Name: {
if (!mojo::internal::ValidateMessageIsRequestWithoutResponse(
message, &validation_context)) {
return false;
}
if (!mojo::internal::ValidateMessagePayload<
internal::PaymentRequestClient_OnCanMakePayment_Params_Data>(
message, &validation_context)) {
return false;
}
return true;
}
default:
break;
}
// Unrecognized message.
ReportValidationError(
&validation_context,
mojo::internal::VALIDATION_ERROR_MESSAGE_HEADER_UNKNOWN_METHOD);
return false;
}
const char PaymentRequest::Name_[] = "payments::mojom::PaymentRequest";
PaymentRequestProxy::PaymentRequestProxy(mojo::MessageReceiverWithResponder* receiver)
: receiver_(receiver) {
}
void PaymentRequestProxy::Init(
PaymentRequestClientPtr in_client, WTF::Vector<PaymentMethodDataPtr> in_method_data, PaymentDetailsPtr in_details, PaymentOptionsPtr in_options) {
mojo::internal::SerializationContext serialization_context;
size_t size = sizeof(::payments::mojom::internal::PaymentRequest_Init_Params_Data);
size += mojo::internal::PrepareToSerialize<mojo::ArrayDataView<::payments::mojom::PaymentMethodDataDataView>>(
in_method_data, &serialization_context);
size += mojo::internal::PrepareToSerialize<::payments::mojom::PaymentDetailsDataView>(
in_details, &serialization_context);
size += mojo::internal::PrepareToSerialize<::payments::mojom::PaymentOptionsDataView>(
in_options, &serialization_context);
constexpr uint32_t kFlags = 0;
mojo::internal::MessageBuilder builder(
internal::kPaymentRequest_Init_Name, kFlags, size,
serialization_context.associated_endpoint_count);
auto params =
::payments::mojom::internal::PaymentRequest_Init_Params_Data::New(builder.buffer());
ALLOW_UNUSED_LOCAL(params);
mojo::internal::Serialize<::payments::mojom::PaymentRequestClientPtrDataView>(
in_client, &params->client, &serialization_context);
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
!mojo::internal::IsHandleOrInterfaceValid(params->client),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_INVALID_HANDLE,
"invalid client in PaymentRequest.Init request");
typename decltype(params->method_data)::BaseType* method_data_ptr;
const mojo::internal::ContainerValidateParams method_data_validate_params(
0, false, nullptr);
mojo::internal::Serialize<mojo::ArrayDataView<::payments::mojom::PaymentMethodDataDataView>>(
in_method_data, builder.buffer(), &method_data_ptr, &method_data_validate_params,
&serialization_context);
params->method_data.Set(method_data_ptr);
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
params->method_data.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null method_data in PaymentRequest.Init request");
typename decltype(params->details)::BaseType* details_ptr;
mojo::internal::Serialize<::payments::mojom::PaymentDetailsDataView>(
in_details, builder.buffer(), &details_ptr, &serialization_context);
params->details.Set(details_ptr);
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
params->details.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null details in PaymentRequest.Init request");
typename decltype(params->options)::BaseType* options_ptr;
mojo::internal::Serialize<::payments::mojom::PaymentOptionsDataView>(
in_options, builder.buffer(), &options_ptr, &serialization_context);
params->options.Set(options_ptr);
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
params->options.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null options in PaymentRequest.Init request");
(&serialization_context)->handles.Swap(
builder.message()->mutable_handles());
(&serialization_context)->associated_endpoint_handles.swap(
*builder.message()->mutable_associated_endpoint_handles());
// This return value may be ignored as false implies the Connector has
// encountered an error, which will be visible through other means.
ignore_result(receiver_->Accept(builder.message()));
}
void PaymentRequestProxy::Show(
) {
mojo::internal::SerializationContext serialization_context;
size_t size = sizeof(::payments::mojom::internal::PaymentRequest_Show_Params_Data);
constexpr uint32_t kFlags = 0;
mojo::internal::MessageBuilder builder(
internal::kPaymentRequest_Show_Name, kFlags, size,
serialization_context.associated_endpoint_count);
auto params =
::payments::mojom::internal::PaymentRequest_Show_Params_Data::New(builder.buffer());
ALLOW_UNUSED_LOCAL(params);
(&serialization_context)->handles.Swap(
builder.message()->mutable_handles());
(&serialization_context)->associated_endpoint_handles.swap(
*builder.message()->mutable_associated_endpoint_handles());
// This return value may be ignored as false implies the Connector has
// encountered an error, which will be visible through other means.
ignore_result(receiver_->Accept(builder.message()));
}
void PaymentRequestProxy::UpdateWith(
PaymentDetailsPtr in_details) {
mojo::internal::SerializationContext serialization_context;
size_t size = sizeof(::payments::mojom::internal::PaymentRequest_UpdateWith_Params_Data);
size += mojo::internal::PrepareToSerialize<::payments::mojom::PaymentDetailsDataView>(
in_details, &serialization_context);
constexpr uint32_t kFlags = 0;
mojo::internal::MessageBuilder builder(
internal::kPaymentRequest_UpdateWith_Name, kFlags, size,
serialization_context.associated_endpoint_count);
auto params =
::payments::mojom::internal::PaymentRequest_UpdateWith_Params_Data::New(builder.buffer());
ALLOW_UNUSED_LOCAL(params);
typename decltype(params->details)::BaseType* details_ptr;
mojo::internal::Serialize<::payments::mojom::PaymentDetailsDataView>(
in_details, builder.buffer(), &details_ptr, &serialization_context);
params->details.Set(details_ptr);
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
params->details.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null details in PaymentRequest.UpdateWith request");
(&serialization_context)->handles.Swap(
builder.message()->mutable_handles());
(&serialization_context)->associated_endpoint_handles.swap(
*builder.message()->mutable_associated_endpoint_handles());
// This return value may be ignored as false implies the Connector has
// encountered an error, which will be visible through other means.
ignore_result(receiver_->Accept(builder.message()));
}
void PaymentRequestProxy::Abort(
) {
mojo::internal::SerializationContext serialization_context;
size_t size = sizeof(::payments::mojom::internal::PaymentRequest_Abort_Params_Data);
constexpr uint32_t kFlags = 0;
mojo::internal::MessageBuilder builder(
internal::kPaymentRequest_Abort_Name, kFlags, size,
serialization_context.associated_endpoint_count);
auto params =
::payments::mojom::internal::PaymentRequest_Abort_Params_Data::New(builder.buffer());
ALLOW_UNUSED_LOCAL(params);
(&serialization_context)->handles.Swap(
builder.message()->mutable_handles());
(&serialization_context)->associated_endpoint_handles.swap(
*builder.message()->mutable_associated_endpoint_handles());
// This return value may be ignored as false implies the Connector has
// encountered an error, which will be visible through other means.
ignore_result(receiver_->Accept(builder.message()));
}
void PaymentRequestProxy::Complete(
PaymentComplete in_result) {
mojo::internal::SerializationContext serialization_context;
size_t size = sizeof(::payments::mojom::internal::PaymentRequest_Complete_Params_Data);
constexpr uint32_t kFlags = 0;
mojo::internal::MessageBuilder builder(
internal::kPaymentRequest_Complete_Name, kFlags, size,
serialization_context.associated_endpoint_count);
auto params =
::payments::mojom::internal::PaymentRequest_Complete_Params_Data::New(builder.buffer());
ALLOW_UNUSED_LOCAL(params);
mojo::internal::Serialize<::payments::mojom::PaymentComplete>(
in_result, &params->result);
(&serialization_context)->handles.Swap(
builder.message()->mutable_handles());
(&serialization_context)->associated_endpoint_handles.swap(
*builder.message()->mutable_associated_endpoint_handles());
// This return value may be ignored as false implies the Connector has
// encountered an error, which will be visible through other means.
ignore_result(receiver_->Accept(builder.message()));
}
void PaymentRequestProxy::CanMakePayment(
) {
mojo::internal::SerializationContext serialization_context;
size_t size = sizeof(::payments::mojom::internal::PaymentRequest_CanMakePayment_Params_Data);
constexpr uint32_t kFlags = 0;
mojo::internal::MessageBuilder builder(
internal::kPaymentRequest_CanMakePayment_Name, kFlags, size,
serialization_context.associated_endpoint_count);
auto params =
::payments::mojom::internal::PaymentRequest_CanMakePayment_Params_Data::New(builder.buffer());
ALLOW_UNUSED_LOCAL(params);
(&serialization_context)->handles.Swap(
builder.message()->mutable_handles());
(&serialization_context)->associated_endpoint_handles.swap(
*builder.message()->mutable_associated_endpoint_handles());
// This return value may be ignored as false implies the Connector has
// encountered an error, which will be visible through other means.
ignore_result(receiver_->Accept(builder.message()));
}
// static
bool PaymentRequestStubDispatch::Accept(
PaymentRequest* impl,
mojo::Message* message) {
switch (message->header()->name) {
case internal::kPaymentRequest_Init_Name: {
internal::PaymentRequest_Init_Params_Data* params =
reinterpret_cast<internal::PaymentRequest_Init_Params_Data*>(
message->mutable_payload());
mojo::internal::SerializationContext serialization_context;
serialization_context.handles.Swap((message)->mutable_handles());
serialization_context.associated_endpoint_handles.swap(
*(message)->mutable_associated_endpoint_handles());
bool success = true;
PaymentRequestClientPtr p_client{};
WTF::Vector<PaymentMethodDataPtr> p_method_data{};
PaymentDetailsPtr p_details{};
PaymentOptionsPtr p_options{};
PaymentRequest_Init_ParamsDataView input_data_view(params, &serialization_context);
p_client =
input_data_view.TakeClient<decltype(p_client)>();
if (!input_data_view.ReadMethodData(&p_method_data))
success = false;
if (!input_data_view.ReadDetails(&p_details))
success = false;
if (!input_data_view.ReadOptions(&p_options))
success = false;
if (!success) {
ReportValidationErrorForMessage(
message,
mojo::internal::VALIDATION_ERROR_DESERIALIZATION_FAILED,
"PaymentRequest::Init deserializer");
return false;
}
// A null |impl| means no implementation was bound.
assert(impl);
TRACE_EVENT0("mojom", "PaymentRequest::Init");
mojo::internal::MessageDispatchContext context(message);
impl->Init(
std::move(p_client),
std::move(p_method_data),
std::move(p_details),
std::move(p_options));
return true;
}
case internal::kPaymentRequest_Show_Name: {
internal::PaymentRequest_Show_Params_Data* params =
reinterpret_cast<internal::PaymentRequest_Show_Params_Data*>(
message->mutable_payload());
mojo::internal::SerializationContext serialization_context;
serialization_context.handles.Swap((message)->mutable_handles());
serialization_context.associated_endpoint_handles.swap(
*(message)->mutable_associated_endpoint_handles());
bool success = true;
PaymentRequest_Show_ParamsDataView input_data_view(params, &serialization_context);
if (!success) {
ReportValidationErrorForMessage(
message,
mojo::internal::VALIDATION_ERROR_DESERIALIZATION_FAILED,
"PaymentRequest::Show deserializer");
return false;
}
// A null |impl| means no implementation was bound.
assert(impl);
TRACE_EVENT0("mojom", "PaymentRequest::Show");
mojo::internal::MessageDispatchContext context(message);
impl->Show();
return true;
}
case internal::kPaymentRequest_UpdateWith_Name: {
internal::PaymentRequest_UpdateWith_Params_Data* params =
reinterpret_cast<internal::PaymentRequest_UpdateWith_Params_Data*>(
message->mutable_payload());
mojo::internal::SerializationContext serialization_context;
serialization_context.handles.Swap((message)->mutable_handles());
serialization_context.associated_endpoint_handles.swap(
*(message)->mutable_associated_endpoint_handles());
bool success = true;
PaymentDetailsPtr p_details{};
PaymentRequest_UpdateWith_ParamsDataView input_data_view(params, &serialization_context);
if (!input_data_view.ReadDetails(&p_details))
success = false;
if (!success) {
ReportValidationErrorForMessage(
message,
mojo::internal::VALIDATION_ERROR_DESERIALIZATION_FAILED,
"PaymentRequest::UpdateWith deserializer");
return false;
}
// A null |impl| means no implementation was bound.
assert(impl);
TRACE_EVENT0("mojom", "PaymentRequest::UpdateWith");
mojo::internal::MessageDispatchContext context(message);
impl->UpdateWith(
std::move(p_details));
return true;
}
case internal::kPaymentRequest_Abort_Name: {
internal::PaymentRequest_Abort_Params_Data* params =
reinterpret_cast<internal::PaymentRequest_Abort_Params_Data*>(
message->mutable_payload());
mojo::internal::SerializationContext serialization_context;
serialization_context.handles.Swap((message)->mutable_handles());
serialization_context.associated_endpoint_handles.swap(
*(message)->mutable_associated_endpoint_handles());
bool success = true;
PaymentRequest_Abort_ParamsDataView input_data_view(params, &serialization_context);
if (!success) {
ReportValidationErrorForMessage(
message,
mojo::internal::VALIDATION_ERROR_DESERIALIZATION_FAILED,
"PaymentRequest::Abort deserializer");
return false;
}
// A null |impl| means no implementation was bound.
assert(impl);
TRACE_EVENT0("mojom", "PaymentRequest::Abort");
mojo::internal::MessageDispatchContext context(message);
impl->Abort();
return true;
}
case internal::kPaymentRequest_Complete_Name: {
internal::PaymentRequest_Complete_Params_Data* params =
reinterpret_cast<internal::PaymentRequest_Complete_Params_Data*>(
message->mutable_payload());
mojo::internal::SerializationContext serialization_context;
serialization_context.handles.Swap((message)->mutable_handles());
serialization_context.associated_endpoint_handles.swap(
*(message)->mutable_associated_endpoint_handles());
bool success = true;
PaymentComplete p_result{};
PaymentRequest_Complete_ParamsDataView input_data_view(params, &serialization_context);
if (!input_data_view.ReadResult(&p_result))
success = false;
if (!success) {
ReportValidationErrorForMessage(
message,
mojo::internal::VALIDATION_ERROR_DESERIALIZATION_FAILED,
"PaymentRequest::Complete deserializer");
return false;
}
// A null |impl| means no implementation was bound.
assert(impl);
TRACE_EVENT0("mojom", "PaymentRequest::Complete");
mojo::internal::MessageDispatchContext context(message);
impl->Complete(
std::move(p_result));
return true;
}
case internal::kPaymentRequest_CanMakePayment_Name: {
internal::PaymentRequest_CanMakePayment_Params_Data* params =
reinterpret_cast<internal::PaymentRequest_CanMakePayment_Params_Data*>(
message->mutable_payload());
mojo::internal::SerializationContext serialization_context;
serialization_context.handles.Swap((message)->mutable_handles());
serialization_context.associated_endpoint_handles.swap(
*(message)->mutable_associated_endpoint_handles());
bool success = true;
PaymentRequest_CanMakePayment_ParamsDataView input_data_view(params, &serialization_context);
if (!success) {
ReportValidationErrorForMessage(
message,
mojo::internal::VALIDATION_ERROR_DESERIALIZATION_FAILED,
"PaymentRequest::CanMakePayment deserializer");
return false;
}
// A null |impl| means no implementation was bound.
assert(impl);
TRACE_EVENT0("mojom", "PaymentRequest::CanMakePayment");
mojo::internal::MessageDispatchContext context(message);
impl->CanMakePayment();
return true;
}
}
return false;
}
// static
bool PaymentRequestStubDispatch::AcceptWithResponder(
PaymentRequest* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) {
switch (message->header()->name) {
case internal::kPaymentRequest_Init_Name: {
break;
}
case internal::kPaymentRequest_Show_Name: {
break;
}
case internal::kPaymentRequest_UpdateWith_Name: {
break;
}
case internal::kPaymentRequest_Abort_Name: {
break;
}
case internal::kPaymentRequest_Complete_Name: {
break;
}
case internal::kPaymentRequest_CanMakePayment_Name: {
break;
}
}
return false;
}
bool PaymentRequestRequestValidator::Accept(mojo::Message* message) {
if (mojo::internal::ControlMessageHandler::IsControlMessage(message))
return true;
mojo::internal::ValidationContext validation_context(
message->payload(), message->payload_num_bytes(),
message->handles()->size(), message->payload_num_interface_ids(), message,
"PaymentRequest RequestValidator");
switch (message->header()->name) {
case internal::kPaymentRequest_Init_Name: {
if (!mojo::internal::ValidateMessageIsRequestWithoutResponse(
message, &validation_context)) {
return false;
}
if (!mojo::internal::ValidateMessagePayload<
internal::PaymentRequest_Init_Params_Data>(
message, &validation_context)) {
return false;
}
return true;
}
case internal::kPaymentRequest_Show_Name: {
if (!mojo::internal::ValidateMessageIsRequestWithoutResponse(
message, &validation_context)) {
return false;
}
if (!mojo::internal::ValidateMessagePayload<
internal::PaymentRequest_Show_Params_Data>(
message, &validation_context)) {
return false;
}
return true;
}
case internal::kPaymentRequest_UpdateWith_Name: {
if (!mojo::internal::ValidateMessageIsRequestWithoutResponse(
message, &validation_context)) {
return false;
}
if (!mojo::internal::ValidateMessagePayload<
internal::PaymentRequest_UpdateWith_Params_Data>(
message, &validation_context)) {
return false;
}
return true;
}
case internal::kPaymentRequest_Abort_Name: {
if (!mojo::internal::ValidateMessageIsRequestWithoutResponse(
message, &validation_context)) {
return false;
}
if (!mojo::internal::ValidateMessagePayload<
internal::PaymentRequest_Abort_Params_Data>(
message, &validation_context)) {
return false;
}
return true;
}
case internal::kPaymentRequest_Complete_Name: {
if (!mojo::internal::ValidateMessageIsRequestWithoutResponse(
message, &validation_context)) {
return false;
}
if (!mojo::internal::ValidateMessagePayload<
internal::PaymentRequest_Complete_Params_Data>(
message, &validation_context)) {
return false;
}
return true;
}
case internal::kPaymentRequest_CanMakePayment_Name: {
if (!mojo::internal::ValidateMessageIsRequestWithoutResponse(
message, &validation_context)) {
return false;
}
if (!mojo::internal::ValidateMessagePayload<
internal::PaymentRequest_CanMakePayment_Params_Data>(
message, &validation_context)) {
return false;
}
return true;
}
default:
break;
}
// Unrecognized message.
ReportValidationError(
&validation_context,
mojo::internal::VALIDATION_ERROR_MESSAGE_HEADER_UNKNOWN_METHOD);
return false;
}
} // namespace blink
} // namespace mojom
} // namespace payments
namespace mojo {
// static
bool StructTraits<::payments::mojom::blink::PaymentAddress::DataView, ::payments::mojom::blink::PaymentAddressPtr>::Read(
::payments::mojom::blink::PaymentAddress::DataView input,
::payments::mojom::blink::PaymentAddressPtr* output) {
bool success = true;
::payments::mojom::blink::PaymentAddressPtr result(::payments::mojom::blink::PaymentAddress::New());
if (!input.ReadCountry(&result->country))
success = false;
if (!input.ReadAddressLine(&result->address_line))
success = false;
if (!input.ReadRegion(&result->region))
success = false;
if (!input.ReadCity(&result->city))
success = false;
if (!input.ReadDependentLocality(&result->dependent_locality))
success = false;
if (!input.ReadPostalCode(&result->postal_code))
success = false;
if (!input.ReadSortingCode(&result->sorting_code))
success = false;
if (!input.ReadLanguageCode(&result->language_code))
success = false;
if (!input.ReadScriptCode(&result->script_code))
success = false;
if (!input.ReadOrganization(&result->organization))
success = false;
if (!input.ReadRecipient(&result->recipient))
success = false;
if (!input.ReadPhone(&result->phone))
success = false;
*output = std::move(result);
return success;
}
// static
bool StructTraits<::payments::mojom::blink::PaymentCurrencyAmount::DataView, ::payments::mojom::blink::PaymentCurrencyAmountPtr>::Read(
::payments::mojom::blink::PaymentCurrencyAmount::DataView input,
::payments::mojom::blink::PaymentCurrencyAmountPtr* output) {
bool success = true;
::payments::mojom::blink::PaymentCurrencyAmountPtr result(::payments::mojom::blink::PaymentCurrencyAmount::New());
if (!input.ReadCurrency(&result->currency))
success = false;
if (!input.ReadValue(&result->value))
success = false;
if (!input.ReadCurrencySystem(&result->currency_system))
success = false;
*output = std::move(result);
return success;
}
// static
bool StructTraits<::payments::mojom::blink::PaymentResponse::DataView, ::payments::mojom::blink::PaymentResponsePtr>::Read(
::payments::mojom::blink::PaymentResponse::DataView input,
::payments::mojom::blink::PaymentResponsePtr* output) {
bool success = true;
::payments::mojom::blink::PaymentResponsePtr result(::payments::mojom::blink::PaymentResponse::New());
if (!input.ReadMethodName(&result->method_name))
success = false;
if (!input.ReadStringifiedDetails(&result->stringified_details))
success = false;
if (!input.ReadShippingAddress(&result->shipping_address))
success = false;
if (!input.ReadShippingOption(&result->shipping_option))
success = false;
if (!input.ReadPayerName(&result->payer_name))
success = false;
if (!input.ReadPayerEmail(&result->payer_email))
success = false;
if (!input.ReadPayerPhone(&result->payer_phone))
success = false;
*output = std::move(result);
return success;
}
// static
bool StructTraits<::payments::mojom::blink::PaymentItem::DataView, ::payments::mojom::blink::PaymentItemPtr>::Read(
::payments::mojom::blink::PaymentItem::DataView input,
::payments::mojom::blink::PaymentItemPtr* output) {
bool success = true;
::payments::mojom::blink::PaymentItemPtr result(::payments::mojom::blink::PaymentItem::New());
if (!input.ReadLabel(&result->label))
success = false;
if (!input.ReadAmount(&result->amount))
success = false;
result->pending = input.pending();
*output = std::move(result);
return success;
}
// static
bool StructTraits<::payments::mojom::blink::PaymentShippingOption::DataView, ::payments::mojom::blink::PaymentShippingOptionPtr>::Read(
::payments::mojom::blink::PaymentShippingOption::DataView input,
::payments::mojom::blink::PaymentShippingOptionPtr* output) {
bool success = true;
::payments::mojom::blink::PaymentShippingOptionPtr result(::payments::mojom::blink::PaymentShippingOption::New());
if (!input.ReadId(&result->id))
success = false;
if (!input.ReadLabel(&result->label))
success = false;
if (!input.ReadAmount(&result->amount))
success = false;
result->selected = input.selected();
*output = std::move(result);
return success;
}
// static
bool StructTraits<::payments::mojom::blink::AndroidPayTokenizationParameter::DataView, ::payments::mojom::blink::AndroidPayTokenizationParameterPtr>::Read(
::payments::mojom::blink::AndroidPayTokenizationParameter::DataView input,
::payments::mojom::blink::AndroidPayTokenizationParameterPtr* output) {
bool success = true;
::payments::mojom::blink::AndroidPayTokenizationParameterPtr result(::payments::mojom::blink::AndroidPayTokenizationParameter::New());
if (!input.ReadKey(&result->key))
success = false;
if (!input.ReadValue(&result->value))
success = false;
*output = std::move(result);
return success;
}
// static
bool StructTraits<::payments::mojom::blink::PaymentMethodData::DataView, ::payments::mojom::blink::PaymentMethodDataPtr>::Read(
::payments::mojom::blink::PaymentMethodData::DataView input,
::payments::mojom::blink::PaymentMethodDataPtr* output) {
bool success = true;
::payments::mojom::blink::PaymentMethodDataPtr result(::payments::mojom::blink::PaymentMethodData::New());
if (!input.ReadSupportedMethods(&result->supported_methods))
success = false;
if (!input.ReadStringifiedData(&result->stringified_data))
success = false;
if (!input.ReadEnvironment(&result->environment))
success = false;
if (!input.ReadMerchantName(&result->merchant_name))
success = false;
if (!input.ReadMerchantId(&result->merchant_id))
success = false;
if (!input.ReadAllowedCardNetworks(&result->allowed_card_networks))
success = false;
if (!input.ReadTokenizationType(&result->tokenization_type))
success = false;
if (!input.ReadParameters(&result->parameters))
success = false;
result->min_google_play_services_version = input.min_google_play_services_version();
if (!input.ReadSupportedNetworks(&result->supported_networks))
success = false;
if (!input.ReadSupportedTypes(&result->supported_types))
success = false;
*output = std::move(result);
return success;
}
// static
bool StructTraits<::payments::mojom::blink::PaymentDetailsModifier::DataView, ::payments::mojom::blink::PaymentDetailsModifierPtr>::Read(
::payments::mojom::blink::PaymentDetailsModifier::DataView input,
::payments::mojom::blink::PaymentDetailsModifierPtr* output) {
bool success = true;
::payments::mojom::blink::PaymentDetailsModifierPtr result(::payments::mojom::blink::PaymentDetailsModifier::New());
if (!input.ReadTotal(&result->total))
success = false;
if (!input.ReadAdditionalDisplayItems(&result->additional_display_items))
success = false;
if (!input.ReadMethodData(&result->method_data))
success = false;
*output = std::move(result);
return success;
}
// static
bool StructTraits<::payments::mojom::blink::PaymentDetails::DataView, ::payments::mojom::blink::PaymentDetailsPtr>::Read(
::payments::mojom::blink::PaymentDetails::DataView input,
::payments::mojom::blink::PaymentDetailsPtr* output) {
bool success = true;
::payments::mojom::blink::PaymentDetailsPtr result(::payments::mojom::blink::PaymentDetails::New());
if (!input.ReadTotal(&result->total))
success = false;
if (!input.ReadDisplayItems(&result->display_items))
success = false;
if (!input.ReadShippingOptions(&result->shipping_options))
success = false;
if (!input.ReadModifiers(&result->modifiers))
success = false;
if (!input.ReadError(&result->error))
success = false;
if (!input.ReadId(&result->id))
success = false;
*output = std::move(result);
return success;
}
// static
bool StructTraits<::payments::mojom::blink::PaymentOptions::DataView, ::payments::mojom::blink::PaymentOptionsPtr>::Read(
::payments::mojom::blink::PaymentOptions::DataView input,
::payments::mojom::blink::PaymentOptionsPtr* output) {
bool success = true;
::payments::mojom::blink::PaymentOptionsPtr result(::payments::mojom::blink::PaymentOptions::New());
result->request_payer_name = input.request_payer_name();
result->request_payer_email = input.request_payer_email();
result->request_payer_phone = input.request_payer_phone();
result->request_shipping = input.request_shipping();
if (!input.ReadShippingType(&result->shipping_type))
success = false;
*output = std::move(result);
return success;
}
} // namespace mojo
#if defined(__clang__)
#pragma clang diagnostic pop
#elif defined(_MSC_VER)
#pragma warning(pop)
#endif