#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-private-field"
#endif
#include "services/on_device_model/public/mojom/on_device_model_service.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/on_device_model/public/mojom/on_device_model_service.mojom-params-data.h"
#include "services/on_device_model/public/mojom/on_device_model_service.mojom-shared-message-ids.h"
#include "services/on_device_model/public/mojom/on_device_model_service.mojom-import-headers.h"
#include "services/on_device_model/public/mojom/on_device_model_service.mojom-test-utils.h"
namespace on_device_model::mojom {
ModelAssets::ModelAssets()
: … { … }
ModelAssets::ModelAssets(
::base::File weights_in,
const std::optional<::base::FilePath>& weights_path_in,
const std::optional<::base::FilePath>& sp_model_path_in,
::base::File ts_data_in,
::base::File ts_sp_model_in,
::base::File language_detection_model_in)
: … { … }
ModelAssets::~ModelAssets() = default;
void ModelAssets::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool ModelAssets::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
LoadModelParams::LoadModelParams()
: … { … }
LoadModelParams::LoadModelParams(
ModelBackendType backend_type_in,
::on_device_model::ModelAssets assets_in,
uint32_t max_tokens_in,
std::optional<uint32_t> ts_dimension_in,
std::vector<uint32_t> adaptation_ranks_in,
bool support_multiple_sessions_in)
: … { … }
LoadModelParams::~LoadModelParams() = default;
void LoadModelParams::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool LoadModelParams::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
const char PlatformModelProgressObserver::Name_[] = …;
PlatformModelProgressObserver::IPCStableHashFunction PlatformModelProgressObserver::MessageToMethodInfo_(mojo::Message& message) { … }
const char* PlatformModelProgressObserver::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t PlatformModelProgressObserver::Progress_Sym::IPCStableHash() { … }
# endif
PlatformModelProgressObserverProxy::PlatformModelProgressObserverProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void PlatformModelProgressObserverProxy::Progress(
double in_progress) { … }
bool PlatformModelProgressObserverStubDispatch::Accept(
PlatformModelProgressObserver* impl,
mojo::Message* message) { … }
bool PlatformModelProgressObserverStubDispatch::AcceptWithResponder(
PlatformModelProgressObserver* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kPlatformModelProgressObserverValidationInfo[] = …;
bool PlatformModelProgressObserverRequestValidator::Accept(mojo::Message* message) { … }
const char OnDeviceModelService::Name_[] = …;
OnDeviceModelService::IPCStableHashFunction OnDeviceModelService::MessageToMethodInfo_(mojo::Message& message) { … }
const char* OnDeviceModelService::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t OnDeviceModelService::LoadModel_Sym::IPCStableHash() { … }
uint32_t OnDeviceModelService::GetEstimatedPerformanceClass_Sym::IPCStableHash() { … }
# endif
class OnDeviceModelService_LoadModel_ForwardToCallback
: public mojo::MessageReceiver { … };
class OnDeviceModelService_GetEstimatedPerformanceClass_ForwardToCallback
: public mojo::MessageReceiver { … };
OnDeviceModelServiceProxy::OnDeviceModelServiceProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void OnDeviceModelServiceProxy::LoadModel(
LoadModelParamsPtr in_params, ::mojo::PendingReceiver<::on_device_model::mojom::OnDeviceModel> in_model, LoadModelCallback callback) { … }
void OnDeviceModelServiceProxy::GetEstimatedPerformanceClass(
GetEstimatedPerformanceClassCallback callback) { … }
class OnDeviceModelService_LoadModel_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool OnDeviceModelService_LoadModel_ForwardToCallback::Accept(
mojo::Message* message) { … }
void OnDeviceModelService_LoadModel_ProxyToResponder::Run(
::on_device_model::mojom::LoadModelResult in_result) { … }
class OnDeviceModelService_GetEstimatedPerformanceClass_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool OnDeviceModelService_GetEstimatedPerformanceClass_ForwardToCallback::Accept(
mojo::Message* message) { … }
void OnDeviceModelService_GetEstimatedPerformanceClass_ProxyToResponder::Run(
::on_device_model::mojom::PerformanceClass in_performance_class) { … }
bool OnDeviceModelServiceStubDispatch::Accept(
OnDeviceModelService* impl,
mojo::Message* message) { … }
bool OnDeviceModelServiceStubDispatch::AcceptWithResponder(
OnDeviceModelService* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kOnDeviceModelServiceValidationInfo[] = …;
bool OnDeviceModelServiceRequestValidator::Accept(mojo::Message* message) { … }
bool OnDeviceModelServiceResponseValidator::Accept(mojo::Message* message) { … }
const char OnDeviceModelPlatformService::Name_[] = …;
OnDeviceModelPlatformService::IPCStableHashFunction OnDeviceModelPlatformService::MessageToMethodInfo_(mojo::Message& message) { … }
const char* OnDeviceModelPlatformService::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t OnDeviceModelPlatformService::LoadPlatformModel_Sym::IPCStableHash() { … }
uint32_t OnDeviceModelPlatformService::GetPlatformModelState_Sym::IPCStableHash() { … }
uint32_t OnDeviceModelPlatformService::GetEstimatedPerformanceClass_Sym::IPCStableHash() { … }
uint32_t OnDeviceModelPlatformService::FormatInput_Sym::IPCStableHash() { … }
uint32_t OnDeviceModelPlatformService::ValidateSafetyResult_Sym::IPCStableHash() { … }
# endif
class OnDeviceModelPlatformService_LoadPlatformModel_ForwardToCallback
: public mojo::MessageReceiver { … };
class OnDeviceModelPlatformService_GetPlatformModelState_ForwardToCallback
: public mojo::MessageReceiver { … };
class OnDeviceModelPlatformService_GetEstimatedPerformanceClass_ForwardToCallback
: public mojo::MessageReceiver { … };
class OnDeviceModelPlatformService_FormatInput_ForwardToCallback
: public mojo::MessageReceiver { … };
class OnDeviceModelPlatformService_ValidateSafetyResult_ForwardToCallback
: public mojo::MessageReceiver { … };
OnDeviceModelPlatformServiceProxy::OnDeviceModelPlatformServiceProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void OnDeviceModelPlatformServiceProxy::LoadPlatformModel(
const ::base::Uuid& in_uuid, ::mojo::PendingReceiver<::on_device_model::mojom::OnDeviceModel> in_model, ::mojo::PendingRemote<PlatformModelProgressObserver> in_progress_observer, LoadPlatformModelCallback callback) { … }
void OnDeviceModelPlatformServiceProxy::GetPlatformModelState(
const ::base::Uuid& in_uuid, GetPlatformModelStateCallback callback) { … }
void OnDeviceModelPlatformServiceProxy::GetEstimatedPerformanceClass(
GetEstimatedPerformanceClassCallback callback) { … }
void OnDeviceModelPlatformServiceProxy::FormatInput(
const ::base::Uuid& in_uuid, FormatFeature in_feature, const base::flat_map<std::string, std::string>& in_fields, FormatInputCallback callback) { … }
void OnDeviceModelPlatformServiceProxy::ValidateSafetyResult(
SafetyFeature in_safety_feature, const std::string& in_text, ::on_device_model::mojom::SafetyInfoPtr in_safety_info, ValidateSafetyResultCallback callback) { … }
class OnDeviceModelPlatformService_LoadPlatformModel_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool OnDeviceModelPlatformService_LoadPlatformModel_ForwardToCallback::Accept(
mojo::Message* message) { … }
void OnDeviceModelPlatformService_LoadPlatformModel_ProxyToResponder::Run(
::on_device_model::mojom::LoadModelResult in_result) { … }
class OnDeviceModelPlatformService_GetPlatformModelState_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool OnDeviceModelPlatformService_GetPlatformModelState_ForwardToCallback::Accept(
mojo::Message* message) { … }
void OnDeviceModelPlatformService_GetPlatformModelState_ProxyToResponder::Run(
PlatformModelState in_result) { … }
class OnDeviceModelPlatformService_GetEstimatedPerformanceClass_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool OnDeviceModelPlatformService_GetEstimatedPerformanceClass_ForwardToCallback::Accept(
mojo::Message* message) { … }
void OnDeviceModelPlatformService_GetEstimatedPerformanceClass_ProxyToResponder::Run(
::on_device_model::mojom::PerformanceClass in_performance_class) { … }
class OnDeviceModelPlatformService_FormatInput_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool OnDeviceModelPlatformService_FormatInput_ForwardToCallback::Accept(
mojo::Message* message) { … }
void OnDeviceModelPlatformService_FormatInput_ProxyToResponder::Run(
const std::optional<std::string>& in_result) { … }
class OnDeviceModelPlatformService_ValidateSafetyResult_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool OnDeviceModelPlatformService_ValidateSafetyResult_ForwardToCallback::Accept(
mojo::Message* message) { … }
void OnDeviceModelPlatformService_ValidateSafetyResult_ProxyToResponder::Run(
bool in_result) { … }
bool OnDeviceModelPlatformServiceStubDispatch::Accept(
OnDeviceModelPlatformService* impl,
mojo::Message* message) { … }
bool OnDeviceModelPlatformServiceStubDispatch::AcceptWithResponder(
OnDeviceModelPlatformService* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kOnDeviceModelPlatformServiceValidationInfo[] = …;
bool OnDeviceModelPlatformServiceRequestValidator::Accept(mojo::Message* message) { … }
bool OnDeviceModelPlatformServiceResponseValidator::Accept(mojo::Message* message) { … }
}
namespace mojo {
bool StructTraits<::on_device_model::mojom::ModelAssets::DataView, ::on_device_model::mojom::ModelAssetsPtr>::Read(
::on_device_model::mojom::ModelAssets::DataView input,
::on_device_model::mojom::ModelAssetsPtr* output) { … }
bool StructTraits<::on_device_model::mojom::LoadModelParams::DataView, ::on_device_model::mojom::LoadModelParamsPtr>::Read(
::on_device_model::mojom::LoadModelParams::DataView input,
::on_device_model::mojom::LoadModelParamsPtr* output) { … }
}
namespace on_device_model::mojom {
void PlatformModelProgressObserverInterceptorForTesting::Progress(double progress) { … }
PlatformModelProgressObserverAsyncWaiter::PlatformModelProgressObserverAsyncWaiter(
PlatformModelProgressObserver* proxy) : … { … }
PlatformModelProgressObserverAsyncWaiter::~PlatformModelProgressObserverAsyncWaiter() = default;
void OnDeviceModelServiceInterceptorForTesting::LoadModel(LoadModelParamsPtr params, ::mojo::PendingReceiver<::on_device_model::mojom::OnDeviceModel> model, LoadModelCallback callback) { … }
void OnDeviceModelServiceInterceptorForTesting::GetEstimatedPerformanceClass(GetEstimatedPerformanceClassCallback callback) { … }
OnDeviceModelServiceAsyncWaiter::OnDeviceModelServiceAsyncWaiter(
OnDeviceModelService* proxy) : … { … }
OnDeviceModelServiceAsyncWaiter::~OnDeviceModelServiceAsyncWaiter() = default;
void OnDeviceModelServiceAsyncWaiter::LoadModel(
LoadModelParamsPtr params, ::mojo::PendingReceiver<::on_device_model::mojom::OnDeviceModel> model, ::on_device_model::mojom::LoadModelResult* out_result) { … }
::on_device_model::mojom::LoadModelResult OnDeviceModelServiceAsyncWaiter::LoadModel(
LoadModelParamsPtr params, ::mojo::PendingReceiver<::on_device_model::mojom::OnDeviceModel> model) { … }
void OnDeviceModelServiceAsyncWaiter::GetEstimatedPerformanceClass(
::on_device_model::mojom::PerformanceClass* out_performance_class) { … }
::on_device_model::mojom::PerformanceClass OnDeviceModelServiceAsyncWaiter::GetEstimatedPerformanceClass(
) { … }
void OnDeviceModelPlatformServiceInterceptorForTesting::LoadPlatformModel(const ::base::Uuid& uuid, ::mojo::PendingReceiver<::on_device_model::mojom::OnDeviceModel> model, ::mojo::PendingRemote<PlatformModelProgressObserver> progress_observer, LoadPlatformModelCallback callback) { … }
void OnDeviceModelPlatformServiceInterceptorForTesting::GetPlatformModelState(const ::base::Uuid& uuid, GetPlatformModelStateCallback callback) { … }
void OnDeviceModelPlatformServiceInterceptorForTesting::GetEstimatedPerformanceClass(GetEstimatedPerformanceClassCallback callback) { … }
void OnDeviceModelPlatformServiceInterceptorForTesting::FormatInput(const ::base::Uuid& uuid, FormatFeature feature, const base::flat_map<std::string, std::string>& fields, FormatInputCallback callback) { … }
void OnDeviceModelPlatformServiceInterceptorForTesting::ValidateSafetyResult(SafetyFeature safety_feature, const std::string& text, ::on_device_model::mojom::SafetyInfoPtr safety_info, ValidateSafetyResultCallback callback) { … }
OnDeviceModelPlatformServiceAsyncWaiter::OnDeviceModelPlatformServiceAsyncWaiter(
OnDeviceModelPlatformService* proxy) : … { … }
OnDeviceModelPlatformServiceAsyncWaiter::~OnDeviceModelPlatformServiceAsyncWaiter() = default;
void OnDeviceModelPlatformServiceAsyncWaiter::LoadPlatformModel(
const ::base::Uuid& uuid, ::mojo::PendingReceiver<::on_device_model::mojom::OnDeviceModel> model, ::mojo::PendingRemote<PlatformModelProgressObserver> progress_observer, ::on_device_model::mojom::LoadModelResult* out_result) { … }
::on_device_model::mojom::LoadModelResult OnDeviceModelPlatformServiceAsyncWaiter::LoadPlatformModel(
const ::base::Uuid& uuid, ::mojo::PendingReceiver<::on_device_model::mojom::OnDeviceModel> model, ::mojo::PendingRemote<PlatformModelProgressObserver> progress_observer) { … }
void OnDeviceModelPlatformServiceAsyncWaiter::GetPlatformModelState(
const ::base::Uuid& uuid, PlatformModelState* out_result) { … }
PlatformModelState OnDeviceModelPlatformServiceAsyncWaiter::GetPlatformModelState(
const ::base::Uuid& uuid) { … }
void OnDeviceModelPlatformServiceAsyncWaiter::GetEstimatedPerformanceClass(
::on_device_model::mojom::PerformanceClass* out_performance_class) { … }
::on_device_model::mojom::PerformanceClass OnDeviceModelPlatformServiceAsyncWaiter::GetEstimatedPerformanceClass(
) { … }
void OnDeviceModelPlatformServiceAsyncWaiter::FormatInput(
const ::base::Uuid& uuid, FormatFeature feature, const base::flat_map<std::string, std::string>& fields, std::optional<std::string>* out_result) { … }
std::optional<std::string> OnDeviceModelPlatformServiceAsyncWaiter::FormatInput(
const ::base::Uuid& uuid, FormatFeature feature, const base::flat_map<std::string, std::string>& fields) { … }
void OnDeviceModelPlatformServiceAsyncWaiter::ValidateSafetyResult(
SafetyFeature safety_feature, const std::string& text, ::on_device_model::mojom::SafetyInfoPtr safety_info, bool* out_result) { … }
bool OnDeviceModelPlatformServiceAsyncWaiter::ValidateSafetyResult(
SafetyFeature safety_feature, const std::string& text, ::on_device_model::mojom::SafetyInfoPtr safety_info) { … }
}
#if defined(__clang__)
#pragma clang diagnostic pop
#endif