OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef DEVICE_GENERIC_SENSOR_PUBLIC_CPP_SENSOR_READING_H_ | 5 #ifndef DEVICE_GENERIC_SENSOR_PUBLIC_CPP_SENSOR_READING_H_ |
6 #define DEVICE_GENERIC_SENSOR_PUBLIC_CPP_SENSOR_READING_H_ | 6 #define DEVICE_GENERIC_SENSOR_PUBLIC_CPP_SENSOR_READING_H_ |
7 | 7 |
8 #include "device/base/synchronization/one_writer_seqlock.h" | 8 #include "device/base/synchronization/one_writer_seqlock.h" |
9 #include "device/generic_sensor/public/cpp/generic_sensor_public_export.h" | 9 #include "device/generic_sensor/public/cpp/generic_sensor_public_export.h" |
10 #include "device/generic_sensor/public/interfaces/sensor.mojom.h" | 10 #include "device/generic_sensor/public/interfaces/sensor.mojom.h" |
(...skipping 27 matching lines...) Expand all Loading... |
38 }; | 38 }; |
39 Storage storage_; | 39 Storage storage_; |
40 }; | 40 }; |
41 | 41 |
42 // This structure represents sensor reading data: timestamp and 3 values. | 42 // This structure represents sensor reading data: timestamp and 3 values. |
43 struct DEVICE_GENERIC_SENSOR_PUBLIC_EXPORT SensorReading { | 43 struct DEVICE_GENERIC_SENSOR_PUBLIC_EXPORT SensorReading { |
44 SensorReading(); | 44 SensorReading(); |
45 ~SensorReading(); | 45 ~SensorReading(); |
46 SensorReading(const SensorReading& other); | 46 SensorReading(const SensorReading& other); |
47 SensorReadingField<double> timestamp; | 47 SensorReadingField<double> timestamp; |
48 SensorReadingField<double> values[3]; | 48 constexpr static int kValuesCount = 3; |
| 49 SensorReadingField<double> values[kValuesCount]; |
49 }; | 50 }; |
50 | 51 |
51 // This structure represents sensor reading buffer: sensor reading and seqlock | 52 // This structure represents sensor reading buffer: sensor reading and seqlock |
52 // for synchronization. | 53 // for synchronization. |
53 struct DEVICE_GENERIC_SENSOR_PUBLIC_EXPORT SensorReadingSharedBuffer { | 54 struct DEVICE_GENERIC_SENSOR_PUBLIC_EXPORT SensorReadingSharedBuffer { |
54 SensorReadingSharedBuffer(); | 55 SensorReadingSharedBuffer(); |
55 ~SensorReadingSharedBuffer(); | 56 ~SensorReadingSharedBuffer(); |
56 SensorReadingField<OneWriterSeqLock> seqlock; | 57 SensorReadingField<OneWriterSeqLock> seqlock; |
57 SensorReading reading; | 58 SensorReading reading; |
58 | 59 |
59 // Gets the shared reading buffer offset for the given sensor type. | 60 // Gets the shared reading buffer offset for the given sensor type. |
60 static uint64_t GetOffset(mojom::SensorType type); | 61 static uint64_t GetOffset(mojom::SensorType type); |
61 }; | 62 }; |
62 | 63 |
63 } // namespace device | 64 } // namespace device |
64 | 65 |
65 #endif // DEVICE_GENERIC_SENSOR_PUBLIC_CPP_SENSOR_READING_H_ | 66 #endif // DEVICE_GENERIC_SENSOR_PUBLIC_CPP_SENSOR_READING_H_ |
OLD | NEW |