blob: ac5739897952233373ab69cf393ccf6de048e82a [file]
// Copyright 2017 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "device/vr/test/fake_sensor_provider.h"
#include "services/device/public/mojom/sensor.mojom.h"
#include "services/device/public/mojom/sensor_provider.mojom.h"
namespace device {
FakeXRSensorProvider::FakeXRSensorProvider() = default;
FakeXRSensorProvider::FakeXRSensorProvider(
mojo::PendingReceiver<mojom::SensorProvider> receiver)
: receiver_(this, std::move(receiver)) {}
FakeXRSensorProvider::~FakeXRSensorProvider() {
if (callback_) {
std::move(callback_).Run(mojom::SensorCreationResult::ERROR_NOT_AVAILABLE,
nullptr);
}
}
void FakeXRSensorProvider::Bind(
mojo::PendingReceiver<mojom::SensorProvider> receiver) {
receiver_.Bind(std::move(receiver));
}
void FakeXRSensorProvider::GetSensor(
mojom::SensorType type,
mojo::PendingReceiver<mojom::SensorClientController> controller,
bool initially_suspended,
GetSensorCallback callback) {
callback_ = std::move(callback);
}
void FakeXRSensorProvider::CallCallback(mojom::SensorInitParamsPtr param) {
std::move(callback_).Run(mojom::SensorCreationResult::SUCCESS,
std::move(param));
}
} // namespace device