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 SensorProxy_h | 5 #ifndef SensorProxy_h |
6 #define SensorProxy_h | 6 #define SensorProxy_h |
7 | 7 |
8 #include "device/generic_sensor/public/interfaces/sensor.mojom-blink.h" | 8 #include "device/generic_sensor/public/interfaces/sensor.mojom-blink.h" |
9 #include "device/generic_sensor/public/interfaces/sensor_provider.mojom-blink.h" | 9 #include "device/generic_sensor/public/interfaces/sensor_provider.mojom-blink.h" |
10 #include "mojo/public/cpp/bindings/binding.h" | 10 #include "mojo/public/cpp/bindings/binding.h" |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
52 void suspend(); | 52 void suspend(); |
53 void resume(); | 53 void resume(); |
54 | 54 |
55 device::mojom::blink::SensorType type() const { return m_type; } | 55 device::mojom::blink::SensorType type() const { return m_type; } |
56 device::mojom::blink::ReportingMode reportingMode() const { return m_mode; } | 56 device::mojom::blink::ReportingMode reportingMode() const { return m_mode; } |
57 | 57 |
58 struct Reading { | 58 struct Reading { |
59 double timestamp; | 59 double timestamp; |
60 double reading[3]; | 60 double reading[3]; |
61 }; | 61 }; |
62 static_assert(sizeof(Reading) == device::mojom::blink::SensorReadBuffer::kRe
adBufferSize, "Check reading size"); | 62 static_assert(sizeof(Reading) == device::mojom::blink::SensorInitParams::kRe
adBufferSize, "Check reading size"); |
63 | 63 |
64 const Reading& reading() const { return m_reading; } | 64 const Reading& reading() const { return m_reading; } |
65 | 65 |
| 66 const device::mojom::blink::SensorConfiguration* defaultConfig() const; |
| 67 |
66 // Updates internal reading from shared buffer. | 68 // Updates internal reading from shared buffer. |
67 void updateInternalReading(); | 69 void updateInternalReading(); |
68 | 70 |
69 DECLARE_VIRTUAL_TRACE(); | 71 DECLARE_VIRTUAL_TRACE(); |
70 | 72 |
71 private: | 73 private: |
72 friend class SensorProviderProxy; | 74 friend class SensorProviderProxy; |
73 SensorProxy(device::mojom::blink::SensorType, SensorProviderProxy*); | 75 SensorProxy(device::mojom::blink::SensorType, SensorProviderProxy*); |
74 | 76 |
75 // device::mojom::blink::SensorClient overrides. | 77 // device::mojom::blink::SensorClient overrides. |
76 void RaiseError() override; | 78 void RaiseError() override; |
77 void SensorReadingChanged() override; | 79 void SensorReadingChanged() override; |
78 | 80 |
79 // Generic handler for a fatal error. | 81 // Generic handler for a fatal error. |
80 void handleSensorError(); | 82 void handleSensorError(); |
81 | 83 |
82 void onSensorCreated(device::mojom::blink::SensorReadBufferPtr, device::mojo
m::blink::SensorClientRequest); | 84 void onSensorCreated(device::mojom::blink::SensorInitParamsPtr, device::mojo
m::blink::SensorClientRequest); |
83 | 85 |
84 device::mojom::blink::SensorType m_type; | 86 device::mojom::blink::SensorType m_type; |
85 device::mojom::blink::ReportingMode m_mode; | 87 device::mojom::blink::ReportingMode m_mode; |
86 Member<SensorProviderProxy> m_provider; | 88 Member<SensorProviderProxy> m_provider; |
87 using ObserversSet = HeapHashSet<WeakMember<Observer>>; | 89 using ObserversSet = HeapHashSet<WeakMember<Observer>>; |
88 ObserversSet m_observers; | 90 ObserversSet m_observers; |
89 | 91 |
90 device::mojom::blink::SensorPtr m_sensor; | 92 device::mojom::blink::SensorPtr m_sensor; |
| 93 device::mojom::blink::SensorConfigurationPtr m_defaultConfig; |
91 mojo::Binding<device::mojom::blink::SensorClient> m_clientBinding; | 94 mojo::Binding<device::mojom::blink::SensorClient> m_clientBinding; |
| 95 |
92 enum State { | 96 enum State { |
93 Uninitialized, | 97 Uninitialized, |
94 Initializing, | 98 Initializing, |
95 Initialized | 99 Initialized |
96 }; | 100 }; |
97 State m_state; | 101 State m_state; |
98 mojo::ScopedSharedBufferHandle m_sharedBufferHandle; | 102 mojo::ScopedSharedBufferHandle m_sharedBufferHandle; |
99 mojo::ScopedSharedBufferMapping m_sharedBuffer; | 103 mojo::ScopedSharedBufferMapping m_sharedBuffer; |
100 Reading m_reading; | 104 Reading m_reading; |
101 bool m_suspended; | 105 bool m_suspended; |
102 }; | 106 }; |
103 | 107 |
104 } // namespace blink | 108 } // namespace blink |
105 | 109 |
106 #endif // SensorProxy_h | 110 #endif // SensorProxy_h |
OLD | NEW |