|
|
|
|
|
|
|
|
|
#include "chromeos/services/machine_learning/public/cpp/service_connection.h" |
|
|
|
#include <utility> |
|
|
|
#include "base/component_export.h" |
|
#include "base/no_destructor.h" |
|
#include "chromeos/lacros/lacros_service.h" |
|
#include "chromeos/services/machine_learning/public/mojom/machine_learning_service.mojom.h" |
|
#include "mojo/public/cpp/bindings/remote.h" |
|
|
|
namespace lacros { |
|
namespace machine_learning { |
|
namespace { |
|
|
|
|
|
class COMPONENT_EXPORT(CHROMEOS_MLSERVICE) ServiceConnectionLacros |
|
: public chromeos::machine_learning::ServiceConnection { |
|
public: |
|
ServiceConnectionLacros(); |
|
ServiceConnectionLacros(const ServiceConnectionLacros&) = delete; |
|
ServiceConnectionLacros& operator=(const ServiceConnectionLacros&) = delete; |
|
|
|
~ServiceConnectionLacros() override; |
|
|
|
chromeos::machine_learning::mojom::MachineLearningService& |
|
GetMachineLearningService() override; |
|
|
|
void BindMachineLearningService( |
|
mojo::PendingReceiver< |
|
chromeos::machine_learning::mojom::MachineLearningService> receiver) |
|
override; |
|
|
|
void Initialize() override; |
|
}; |
|
|
|
ServiceConnectionLacros::ServiceConnectionLacros() = default; |
|
|
|
ServiceConnectionLacros::~ServiceConnectionLacros() = default; |
|
|
|
chromeos::machine_learning::mojom::MachineLearningService& |
|
ServiceConnectionLacros::GetMachineLearningService() { |
|
mojo::Remote<chromeos::machine_learning::mojom::MachineLearningService>& |
|
machine_learning_service_remote = |
|
chromeos::LacrosService::Get() |
|
->GetRemote< |
|
chromeos::machine_learning::mojom::MachineLearningService>(); |
|
return *machine_learning_service_remote.get(); |
|
} |
|
|
|
void ServiceConnectionLacros::BindMachineLearningService( |
|
mojo::PendingReceiver< |
|
chromeos::machine_learning::mojom::MachineLearningService> receiver) { |
|
chromeos::LacrosService::Get()->BindMachineLearningService( |
|
std::move(receiver)); |
|
} |
|
|
|
void ServiceConnectionLacros::Initialize() {} |
|
|
|
} |
|
|
|
} |
|
} |
|
|
|
namespace chromeos { |
|
namespace machine_learning { |
|
|
|
ServiceConnection* ServiceConnection::CreateRealInstance() { |
|
static base::NoDestructor<lacros::machine_learning::ServiceConnectionLacros> |
|
service_connection; |
|
return service_connection.get(); |
|
} |
|
|
|
} |
|
} |
|
|