blob: 1f571fbb95830098d5056ca9075a5a8f9da31b6f [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef DEVICE_GENERIC_SENSOR_FAKE_PLATFORM_SENSOR_H_
#define DEVICE_GENERIC_SENSOR_FAKE_PLATFORM_SENSOR_H_
#include "device/generic_sensor/platform_sensor.h"
namespace device {
class FakePlatformSensor : public PlatformSensor {
public:
FakePlatformSensor(mojom::SensorType type,
mojo::ScopedSharedBufferMapping mapping,
uint64_t buffer_size,
PlatformSensorProvider* provider);
mojom::ReportingMode GetReportingMode() override;
PlatformSensorConfiguration GetDefaultConfiguration() override;
bool started() const { return started_; }
using PlatformSensor::NotifySensorReadingChanged;
using PlatformSensor::NotifySensorError;
using PlatformSensor::config_map;
protected:
~FakePlatformSensor() override;
bool StartSensor(const PlatformSensorConfiguration& configuration) override;
void StopSensor() override;
bool CheckSensorConfiguration(
const PlatformSensorConfiguration& configuration) override;
private:
static constexpr double kMaxFrequencyValueForTests = 50.0;
PlatformSensorConfiguration config_;
bool started_;
DISALLOW_COPY_AND_ASSIGN(FakePlatformSensor);
};
} // namespace device
#endif // DEVICE_GENERIC_SENSOR_FAKE_PLATFORM_SENSOR_H