ml: Switch to new Mojo types
Migrate from &, Request, etc to pending_receiver, etc, now that these
are supported in libchrome.
This includes migrating from "connection error" to "disconnection"
terminology that Mojo switched to (since disconnection is not always
error).
BUG=chromium:1103123
TEST=ebuild bla/ml-9999.ebuild clean test
TEST=tast -verbose run bla platform.MLServiceBootstrap power.SmartDim
Change-Id: I015e116442281cbda313eb8d0593bb543090008c
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/2289245
Tested-by: Andrew Moylan <amoylan@chromium.org>
Auto-Submit: Andrew Moylan <amoylan@chromium.org>
Reviewed-by: Honglin Yu <honglinyu@chromium.org>
Reviewed-by: Sam McNally <sammc@chromium.org>
Reviewed-by: Thanh Nguyen <thanhdng@chromium.org>
Commit-Queue: Andrew Moylan <amoylan@chromium.org>
diff --git a/ml/machine_learning_service_impl.h b/ml/machine_learning_service_impl.h
index c21b6fa..62b8966 100644
--- a/ml/machine_learning_service_impl.h
+++ b/ml/machine_learning_service_impl.h
@@ -11,8 +11,9 @@
#include <base/callback_forward.h>
#include <base/macros.h>
-#include <mojo/public/cpp/bindings/binding.h>
-#include <mojo/public/cpp/bindings/binding_set.h>
+#include <mojo/public/cpp/bindings/pending_receiver.h>
+#include <mojo/public/cpp/bindings/receiver.h>
+#include <mojo/public/cpp/bindings/receiver_set.h>
#include "ml/model_metadata.h"
#include "ml/mojom/machine_learning_service.mojom.h"
@@ -22,11 +23,10 @@
class MachineLearningServiceImpl
: public chromeos::machine_learning::mojom::MachineLearningService {
public:
- // Creates an instance bound to `pipe`. The specified
- // `connection_error_handler` will be invoked if the binding encounters a
- // connection error.
+ // Creates an instance bound to `pipe`. The specified `disconnect_handler`
+ // will be invoked if the binding encounters a connection error or is closed.
MachineLearningServiceImpl(mojo::ScopedMessagePipeHandle pipe,
- base::Closure connection_error_handler);
+ base::Closure disconnect_handler);
// A interface to change `text_classifier_model_filename_` for testing. Should
// not be used outside of tests.
@@ -36,30 +36,34 @@
// Testing constructor that allows overriding of the model dir. Should not be
// used outside of tests.
MachineLearningServiceImpl(mojo::ScopedMessagePipeHandle pipe,
- base::Closure connection_error_handler,
+ base::Closure disconnect_handler,
const std::string& model_dir);
private:
// chromeos::machine_learning::mojom::MachineLearningService:
- void Clone(chromeos::machine_learning::mojom::MachineLearningServiceRequest
- request) override;
+ void Clone(mojo::PendingReceiver<
+ chromeos::machine_learning::mojom::MachineLearningService>
+ receiver) override;
void LoadBuiltinModel(
chromeos::machine_learning::mojom::BuiltinModelSpecPtr spec,
- chromeos::machine_learning::mojom::ModelRequest request,
+ mojo::PendingReceiver<chromeos::machine_learning::mojom::Model> receiver,
LoadBuiltinModelCallback callback) override;
void LoadFlatBufferModel(
chromeos::machine_learning::mojom::FlatBufferModelSpecPtr spec,
- chromeos::machine_learning::mojom::ModelRequest request,
+ mojo::PendingReceiver<chromeos::machine_learning::mojom::Model> receiver,
LoadFlatBufferModelCallback callback) override;
void LoadTextClassifier(
- chromeos::machine_learning::mojom::TextClassifierRequest request,
+ mojo::PendingReceiver<chromeos::machine_learning::mojom::TextClassifier>
+ receiver,
LoadTextClassifierCallback callback) override;
void LoadHandwritingModel(
- chromeos::machine_learning::mojom::HandwritingRecognizerRequest request,
+ mojo::PendingReceiver<
+ chromeos::machine_learning::mojom::HandwritingRecognizer> receiver,
LoadHandwritingModelCallback callback) override;
void LoadHandwritingModelWithSpec(
chromeos::machine_learning::mojom::HandwritingRecognizerSpecPtr spec,
- chromeos::machine_learning::mojom::HandwritingRecognizerRequest request,
+ mojo::PendingReceiver<
+ chromeos::machine_learning::mojom::HandwritingRecognizer> receiver,
LoadHandwritingModelCallback callback) override;
// Init the icu data if it is not initialized yet.
@@ -77,13 +81,13 @@
const std::string model_dir_;
- // Primordial binding bootstrapped over D-Bus. Once opened, is never closed.
- mojo::Binding<chromeos::machine_learning::mojom::MachineLearningService>
- binding_;
+ // Primordial receiver bootstrapped over D-Bus. Once opened, is never closed.
+ mojo::Receiver<chromeos::machine_learning::mojom::MachineLearningService>
+ receiver_;
- // Additional bindings obtained via `Clone`.
- mojo::BindingSet<chromeos::machine_learning::mojom::MachineLearningService>
- clone_bindings_;
+ // Additional receivers bound via `Clone`.
+ mojo::ReceiverSet<chromeos::machine_learning::mojom::MachineLearningService>
+ clone_receivers_;
DISALLOW_COPY_AND_ASSIGN(MachineLearningServiceImpl);
};