Index: device/sensors/public/interfaces/sensor_struct_traits.h |
diff --git a/device/sensors/public/interfaces/sensor_struct_traits.h b/device/sensors/public/interfaces/sensor_struct_traits.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..eed151d23ff13c3cd54d84611e3b308dde2546ed |
--- /dev/null |
+++ b/device/sensors/public/interfaces/sensor_struct_traits.h |
@@ -0,0 +1,42 @@ |
+// 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_SENSORS_PUBLIC_INTERFACES_SENSOR_STRUCT_TRAITS_H_ |
+#define DEVICE_SENSORS_PUBLIC_INTERFACES_SENSOR_STRUCT_TRAITS_H_ |
+ |
+#include "device/sensors/platform_sensor.h" |
+#include "device/sensors/platform_sensor_configuration.h" |
+#include "device/sensors/public/interfaces/sensor.mojom.h" |
+ |
+namespace mojo { |
+ |
+template <> |
+struct EnumTraits<device::mojom::SensorType, device::SensorType> { |
+ static device::mojom::SensorType ToMojom(device::SensorType sensor_type); |
+ static bool FromMojom(device::mojom::SensorType input, |
+ device::SensorType* out); |
+}; |
+ |
+template <> |
+struct EnumTraits<device::mojom::ReportingMode, device::ReportingMode> { |
+ static device::mojom::ReportingMode ToMojom( |
+ device::ReportingMode reporting_mode); |
+ static bool FromMojom(device::mojom::ReportingMode input, |
+ device::ReportingMode* out); |
+}; |
+ |
+template <> |
+struct StructTraits<device::mojom::SensorConfiguration, |
+ device::PlatformSensorConfiguration> { |
+ static double frequency(const device::PlatformSensorConfiguration& input) { |
+ return input.frequency(); |
+ } |
+ |
+ static bool Read(device::mojom::SensorConfigurationDataView data, |
+ device::PlatformSensorConfiguration* out); |
+}; |
+ |
+} // namespace mojo |
+ |
+#endif // DEVICE_SENSORS_PUBLIC_INTERFACES_SENSOR_STRUCT_TRAITS_H_ |