fake_sensor_hal_server.cc 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. // Copyright 2020 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "chromeos/components/sensors/fake_sensor_hal_server.h"
  5. namespace chromeos {
  6. namespace sensors {
  7. FakeSensorHalServer::FakeSensorHalServer()
  8. : sensor_service_(new FakeSensorService()) {}
  9. FakeSensorHalServer::~FakeSensorHalServer() = default;
  10. void FakeSensorHalServer::CreateChannel(
  11. mojo::PendingReceiver<mojom::SensorService> sensor_service_receiver) {
  12. sensor_service_->AddReceiver(std::move(sensor_service_receiver));
  13. }
  14. mojo::PendingRemote<mojom::SensorHalServer> FakeSensorHalServer::PassRemote() {
  15. DCHECK(!receiver_.is_bound());
  16. auto pending_remote = receiver_.BindNewPipeAndPassRemote();
  17. receiver_.set_disconnect_handler(base::BindOnce(
  18. &FakeSensorHalServer::OnServerDisconnect, base::Unretained(this)));
  19. return pending_remote;
  20. }
  21. void FakeSensorHalServer::OnServerDisconnect() {
  22. receiver_.reset();
  23. }
  24. FakeSensorService* FakeSensorHalServer::GetSensorService() {
  25. return sensor_service_.get();
  26. }
  27. } // namespace sensors
  28. } // namespace chromeos