ml: migrate mojom to OnceCallback
Callback will be deprecated in generated mojom bindings.
Move to OnceCallback now so it can be compatible with newer libchrome.
BUG=chromium:1054279
TEST=emerge
Change-Id: I00b9972fdd4a32ab704242f385ea561327fa7571
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/2154300
Reviewed-by: Andrew Moylan <amoylan@chromium.org>
Tested-by: Qijiang Fan <fqj@google.com>
Commit-Queue: Qijiang Fan <fqj@google.com>
diff --git a/ml/machine_learning_service_impl.cc b/ml/machine_learning_service_impl.cc
index de71d72..62b2f81 100644
--- a/ml/machine_learning_service_impl.cc
+++ b/ml/machine_learning_service_impl.cc
@@ -54,13 +54,13 @@
void MachineLearningServiceImpl::LoadBuiltinModel(
BuiltinModelSpecPtr spec,
ModelRequest request,
- const LoadBuiltinModelCallback& callback) {
+ LoadBuiltinModelCallback callback) {
// Unsupported models do not have metadata entries.
const auto metadata_lookup = builtin_model_metadata_.find(spec->id);
if (metadata_lookup == builtin_model_metadata_.end()) {
LOG(WARNING) << "LoadBuiltinModel requested for unsupported model ID "
<< spec->id << ".";
- callback.Run(LoadModelResult::MODEL_SPEC_ERROR);
+ std::move(callback).Run(LoadModelResult::MODEL_SPEC_ERROR);
RecordModelSpecificationErrorEvent();
return;
}
@@ -79,7 +79,7 @@
tflite::FlatBufferModel::BuildFromFile(model_path.c_str());
if (model == nullptr) {
LOG(ERROR) << "Failed to load model file '" << model_path << "'.";
- callback.Run(LoadModelResult::LOAD_MODEL_ERROR);
+ std::move(callback).Run(LoadModelResult::LOAD_MODEL_ERROR);
request_metrics.RecordRequestEvent(LoadModelResult::LOAD_MODEL_ERROR);
return;
}
@@ -88,7 +88,7 @@
std::move(model), std::move(request),
metadata.metrics_model_name);
- callback.Run(LoadModelResult::OK);
+ std::move(callback).Run(LoadModelResult::OK);
request_metrics.FinishRecordingPerformanceMetrics();
request_metrics.RecordRequestEvent(LoadModelResult::OK);
@@ -97,7 +97,7 @@
void MachineLearningServiceImpl::LoadFlatBufferModel(
FlatBufferModelSpecPtr spec,
ModelRequest request,
- const LoadFlatBufferModelCallback& callback) {
+ LoadFlatBufferModelCallback callback) {
DCHECK(!spec->metrics_model_name.empty());
RequestMetrics<LoadModelResult> request_metrics(spec->metrics_model_name,
@@ -115,7 +115,7 @@
if (model == nullptr) {
LOG(ERROR) << "Failed to load model string of metric name: "
<< spec->metrics_model_name << "'.";
- callback.Run(LoadModelResult::LOAD_MODEL_ERROR);
+ std::move(callback).Run(LoadModelResult::LOAD_MODEL_ERROR);
request_metrics.RecordRequestEvent(LoadModelResult::LOAD_MODEL_ERROR);
return;
}
@@ -126,7 +126,7 @@
std::move(model), std::move(model_string_impl), std::move(request),
spec->metrics_model_name);
- callback.Run(LoadModelResult::OK);
+ std::move(callback).Run(LoadModelResult::OK);
request_metrics.FinishRecordingPerformanceMetrics();
request_metrics.RecordRequestEvent(LoadModelResult::OK);