#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-private-field"
#endif
#include "third_party/blink/public/mojom/usb/web_usb_service.mojom-blink.h"
#include <math.h>
#include <stdint.h>
#include <utility>
#include "base/debug/alias.h"
#include "base/hash/md5_constexpr.h"
#include "base/run_loop.h"
#include "base/strings/string_number_conversions.h"
#include "base/task/thread_pool/thread_pool_instance.h"
#include "base/trace_event/trace_event.h"
#include "base/trace_event/typed_macros.h"
#include "mojo/public/cpp/bindings/features.h"
#include "mojo/public/cpp/bindings/lib/default_construct_tag_internal.h"
#include "mojo/public/cpp/bindings/lib/generated_code_util.h"
#include "mojo/public/cpp/bindings/lib/message_internal.h"
#include "mojo/public/cpp/bindings/lib/proxy_to_responder.h"
#include "mojo/public/cpp/bindings/lib/send_message_helper.h"
#include "mojo/public/cpp/bindings/lib/serialization_util.h"
#include "mojo/public/cpp/bindings/lib/unserialized_message_context.h"
#include "mojo/public/cpp/bindings/lib/validate_params.h"
#include "mojo/public/cpp/bindings/lib/validation_errors.h"
#include "mojo/public/cpp/bindings/mojo_buildflags.h"
#include "mojo/public/cpp/bindings/urgent_message_scope.h"
#include "mojo/public/interfaces/bindings/interface_control_messages.mojom.h"
#include "third_party/perfetto/include/perfetto/tracing/traced_value.h"
#include "third_party/blink/public/mojom/usb/web_usb_service.mojom-params-data.h"
#include "third_party/blink/public/mojom/usb/web_usb_service.mojom-shared-message-ids.h"
#include "third_party/blink/public/mojom/usb/web_usb_service.mojom-blink-import-headers.h"
#include "third_party/blink/public/mojom/usb/web_usb_service.mojom-blink-test-utils.h"
#include "mojo/public/cpp/bindings/lib/wtf_serialization.h"
namespace blink::mojom::blink {
WebUsbRequestDeviceOptions::WebUsbRequestDeviceOptions()
: … { … }
WebUsbRequestDeviceOptions::WebUsbRequestDeviceOptions(
WTF::Vector<::device::mojom::blink::UsbDeviceFilterPtr> filters_in,
WTF::Vector<::device::mojom::blink::UsbDeviceFilterPtr> exclusion_filters_in)
: … { … }
WebUsbRequestDeviceOptions::~WebUsbRequestDeviceOptions() = default;
void WebUsbRequestDeviceOptions::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool WebUsbRequestDeviceOptions::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
const char WebUsbService::Name_[] = …;
WebUsbService::IPCStableHashFunction WebUsbService::MessageToMethodInfo_(mojo::Message& message) { … }
const char* WebUsbService::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t WebUsbService::GetDevices_Sym::IPCStableHash() { … }
uint32_t WebUsbService::GetDevice_Sym::IPCStableHash() { … }
uint32_t WebUsbService::GetPermission_Sym::IPCStableHash() { … }
uint32_t WebUsbService::ForgetDevice_Sym::IPCStableHash() { … }
uint32_t WebUsbService::SetClient_Sym::IPCStableHash() { … }
# endif
class WebUsbService_GetDevices_ForwardToCallback
: public mojo::MessageReceiver { … };
class WebUsbService_GetPermission_ForwardToCallback
: public mojo::MessageReceiver { … };
class WebUsbService_ForgetDevice_ForwardToCallback
: public mojo::MessageReceiver { … };
WebUsbServiceProxy::WebUsbServiceProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void WebUsbServiceProxy::GetDevices(
GetDevicesCallback callback) { … }
void WebUsbServiceProxy::GetDevice(
const WTF::String& in_guid, ::mojo::PendingReceiver<::device::mojom::blink::UsbDevice> in_device_receiver) { … }
void WebUsbServiceProxy::GetPermission(
WebUsbRequestDeviceOptionsPtr in_options, GetPermissionCallback callback) { … }
void WebUsbServiceProxy::ForgetDevice(
const WTF::String& in_guid, ForgetDeviceCallback callback) { … }
void WebUsbServiceProxy::SetClient(
::mojo::PendingAssociatedRemote<::device::mojom::blink::UsbDeviceManagerClient> in_client) { … }
class WebUsbService_GetDevices_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool WebUsbService_GetDevices_ForwardToCallback::Accept(
mojo::Message* message) { … }
void WebUsbService_GetDevices_ProxyToResponder::Run(
WTF::Vector<::device::mojom::blink::UsbDeviceInfoPtr> in_results) { … }
class WebUsbService_GetPermission_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool WebUsbService_GetPermission_ForwardToCallback::Accept(
mojo::Message* message) { … }
void WebUsbService_GetPermission_ProxyToResponder::Run(
::device::mojom::blink::UsbDeviceInfoPtr in_result) { … }
class WebUsbService_ForgetDevice_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool WebUsbService_ForgetDevice_ForwardToCallback::Accept(
mojo::Message* message) { … }
void WebUsbService_ForgetDevice_ProxyToResponder::Run(
) { … }
bool WebUsbServiceStubDispatch::Accept(
WebUsbService* impl,
mojo::Message* message) { … }
bool WebUsbServiceStubDispatch::AcceptWithResponder(
WebUsbService* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kWebUsbServiceValidationInfo[] = …;
bool WebUsbServiceRequestValidator::Accept(mojo::Message* message) { … }
bool WebUsbServiceResponseValidator::Accept(mojo::Message* message) { … }
}
namespace mojo {
bool StructTraits<::blink::mojom::blink::WebUsbRequestDeviceOptions::DataView, ::blink::mojom::blink::WebUsbRequestDeviceOptionsPtr>::Read(
::blink::mojom::blink::WebUsbRequestDeviceOptions::DataView input,
::blink::mojom::blink::WebUsbRequestDeviceOptionsPtr* output) { … }
}
namespace blink::mojom::blink {
void WebUsbServiceInterceptorForTesting::GetDevices(GetDevicesCallback callback) { … }
void WebUsbServiceInterceptorForTesting::GetDevice(const WTF::String& guid, ::mojo::PendingReceiver<::device::mojom::blink::UsbDevice> device_receiver) { … }
void WebUsbServiceInterceptorForTesting::GetPermission(WebUsbRequestDeviceOptionsPtr options, GetPermissionCallback callback) { … }
void WebUsbServiceInterceptorForTesting::ForgetDevice(const WTF::String& guid, ForgetDeviceCallback callback) { … }
void WebUsbServiceInterceptorForTesting::SetClient(::mojo::PendingAssociatedRemote<::device::mojom::blink::UsbDeviceManagerClient> client) { … }
WebUsbServiceAsyncWaiter::WebUsbServiceAsyncWaiter(
WebUsbService* proxy) : … { … }
WebUsbServiceAsyncWaiter::~WebUsbServiceAsyncWaiter() = default;
void WebUsbServiceAsyncWaiter::GetDevices(
WTF::Vector<::device::mojom::blink::UsbDeviceInfoPtr>* out_results) { … }
WTF::Vector<::device::mojom::blink::UsbDeviceInfoPtr> WebUsbServiceAsyncWaiter::GetDevices(
) { … }
void WebUsbServiceAsyncWaiter::GetPermission(
WebUsbRequestDeviceOptionsPtr options, ::device::mojom::blink::UsbDeviceInfoPtr* out_result) { … }
::device::mojom::blink::UsbDeviceInfoPtr WebUsbServiceAsyncWaiter::GetPermission(
WebUsbRequestDeviceOptionsPtr options) { … }
void WebUsbServiceAsyncWaiter::ForgetDevice(
const WTF::String& guid) { … }
}
#if defined(__clang__)
#pragma clang diagnostic pop
#endif