#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-private-field"
#endif
#include "services/metrics/public/mojom/ukm_interface.mojom.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 "services/metrics/public/mojom/ukm_interface.mojom-params-data.h"
#include "services/metrics/public/mojom/ukm_interface.mojom-shared-message-ids.h"
#include "services/metrics/public/mojom/ukm_interface.mojom-import-headers.h"
#include "services/metrics/public/mojom/ukm_interface.mojom-test-utils.h"
namespace ukm::mojom {
UkmEntry::UkmEntry()
: … { … }
UkmEntry::UkmEntry(
int64_t source_id_in,
uint64_t event_hash_in,
const base::flat_map<uint64_t, int64_t>& metrics_in)
: … { … }
UkmEntry::~UkmEntry() = default;
void UkmEntry::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool UkmEntry::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
UkmRecorderParameters::UkmRecorderParameters()
: … { … }
UkmRecorderParameters::UkmRecorderParameters(
bool is_enabled_in,
std::vector<uint64_t> event_hash_bypass_list_in)
: … { … }
UkmRecorderParameters::~UkmRecorderParameters() = default;
void UkmRecorderParameters::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool UkmRecorderParameters::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
const char SingularUkmInterface::Name_[] = …;
SingularUkmInterface::IPCStableHashFunction SingularUkmInterface::MessageToMethodInfo_(mojo::Message& message) { … }
const char* SingularUkmInterface::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t SingularUkmInterface::Submit_Sym::IPCStableHash() { … }
# endif
SingularUkmInterfaceProxy::SingularUkmInterfaceProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void SingularUkmInterfaceProxy::Submit(
UkmEntryPtr in_entry) { … }
bool SingularUkmInterfaceStubDispatch::Accept(
SingularUkmInterface* impl,
mojo::Message* message) { … }
bool SingularUkmInterfaceStubDispatch::AcceptWithResponder(
SingularUkmInterface* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kSingularUkmInterfaceValidationInfo[] = …;
bool SingularUkmInterfaceRequestValidator::Accept(mojo::Message* message) { … }
const char UkmRecorderClientInterface::Name_[] = …;
UkmRecorderClientInterface::IPCStableHashFunction UkmRecorderClientInterface::MessageToMethodInfo_(mojo::Message& message) { … }
const char* UkmRecorderClientInterface::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t UkmRecorderClientInterface::SetParameters_Sym::IPCStableHash() { … }
# endif
UkmRecorderClientInterfaceProxy::UkmRecorderClientInterfaceProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void UkmRecorderClientInterfaceProxy::SetParameters(
UkmRecorderParametersPtr in_params) { … }
bool UkmRecorderClientInterfaceStubDispatch::Accept(
UkmRecorderClientInterface* impl,
mojo::Message* message) { … }
bool UkmRecorderClientInterfaceStubDispatch::AcceptWithResponder(
UkmRecorderClientInterface* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kUkmRecorderClientInterfaceValidationInfo[] = …;
bool UkmRecorderClientInterfaceRequestValidator::Accept(mojo::Message* message) { … }
const char UkmRecorderInterface::Name_[] = …;
UkmRecorderInterface::IPCStableHashFunction UkmRecorderInterface::MessageToMethodInfo_(mojo::Message& message) { … }
const char* UkmRecorderInterface::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t UkmRecorderInterface::AddEntry_Sym::IPCStableHash() { … }
uint32_t UkmRecorderInterface::UpdateSourceURL_Sym::IPCStableHash() { … }
# endif
UkmRecorderInterfaceProxy::UkmRecorderInterfaceProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void UkmRecorderInterfaceProxy::AddEntry(
UkmEntryPtr in_entry) { … }
void UkmRecorderInterfaceProxy::UpdateSourceURL(
int64_t in_source_id, const std::string& in_url) { … }
bool UkmRecorderInterfaceStubDispatch::Accept(
UkmRecorderInterface* impl,
mojo::Message* message) { … }
bool UkmRecorderInterfaceStubDispatch::AcceptWithResponder(
UkmRecorderInterface* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kUkmRecorderInterfaceValidationInfo[] = …;
bool UkmRecorderInterfaceRequestValidator::Accept(mojo::Message* message) { … }
const char UkmRecorderFactory::Name_[] = …;
UkmRecorderFactory::IPCStableHashFunction UkmRecorderFactory::MessageToMethodInfo_(mojo::Message& message) { … }
const char* UkmRecorderFactory::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t UkmRecorderFactory::CreateUkmRecorder_Sym::IPCStableHash() { … }
# endif
UkmRecorderFactoryProxy::UkmRecorderFactoryProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void UkmRecorderFactoryProxy::CreateUkmRecorder(
::mojo::PendingReceiver<UkmRecorderInterface> in_receiver, ::mojo::PendingRemote<UkmRecorderClientInterface> in_client_remote) { … }
bool UkmRecorderFactoryStubDispatch::Accept(
UkmRecorderFactory* impl,
mojo::Message* message) { … }
bool UkmRecorderFactoryStubDispatch::AcceptWithResponder(
UkmRecorderFactory* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kUkmRecorderFactoryValidationInfo[] = …;
bool UkmRecorderFactoryRequestValidator::Accept(mojo::Message* message) { … }
}
namespace mojo {
bool StructTraits<::ukm::mojom::UkmEntry::DataView, ::ukm::mojom::UkmEntryPtr>::Read(
::ukm::mojom::UkmEntry::DataView input,
::ukm::mojom::UkmEntryPtr* output) { … }
bool StructTraits<::ukm::mojom::UkmRecorderParameters::DataView, ::ukm::mojom::UkmRecorderParametersPtr>::Read(
::ukm::mojom::UkmRecorderParameters::DataView input,
::ukm::mojom::UkmRecorderParametersPtr* output) { … }
}
namespace ukm::mojom {
void SingularUkmInterfaceInterceptorForTesting::Submit(UkmEntryPtr entry) { … }
SingularUkmInterfaceAsyncWaiter::SingularUkmInterfaceAsyncWaiter(
SingularUkmInterface* proxy) : … { … }
SingularUkmInterfaceAsyncWaiter::~SingularUkmInterfaceAsyncWaiter() = default;
void UkmRecorderClientInterfaceInterceptorForTesting::SetParameters(UkmRecorderParametersPtr params) { … }
UkmRecorderClientInterfaceAsyncWaiter::UkmRecorderClientInterfaceAsyncWaiter(
UkmRecorderClientInterface* proxy) : … { … }
UkmRecorderClientInterfaceAsyncWaiter::~UkmRecorderClientInterfaceAsyncWaiter() = default;
void UkmRecorderInterfaceInterceptorForTesting::AddEntry(UkmEntryPtr entry) { … }
void UkmRecorderInterfaceInterceptorForTesting::UpdateSourceURL(int64_t source_id, const std::string& url) { … }
UkmRecorderInterfaceAsyncWaiter::UkmRecorderInterfaceAsyncWaiter(
UkmRecorderInterface* proxy) : … { … }
UkmRecorderInterfaceAsyncWaiter::~UkmRecorderInterfaceAsyncWaiter() = default;
void UkmRecorderFactoryInterceptorForTesting::CreateUkmRecorder(::mojo::PendingReceiver<UkmRecorderInterface> receiver, ::mojo::PendingRemote<UkmRecorderClientInterface> client_remote) { … }
UkmRecorderFactoryAsyncWaiter::UkmRecorderFactoryAsyncWaiter(
UkmRecorderFactory* proxy) : … { … }
UkmRecorderFactoryAsyncWaiter::~UkmRecorderFactoryAsyncWaiter() = default;
}
#if defined(__clang__)
#pragma clang diagnostic pop
#endif