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 const device::mojom::blink::SensorConfiguration* defaultConfig() const { ret urn m_defaultConfig.get(); } | |
shalamov
2016/09/13 10:52:59
DCHECK(isInitialized()); ?
| |
65 | 66 |
66 // Updates internal reading from shared buffer. | 67 // Updates internal reading from shared buffer. |
67 void updateInternalReading(); | 68 void updateInternalReading(); |
68 | 69 |
69 DECLARE_VIRTUAL_TRACE(); | 70 DECLARE_VIRTUAL_TRACE(); |
70 | 71 |
71 private: | 72 private: |
72 friend class SensorProviderProxy; | 73 friend class SensorProviderProxy; |
73 SensorProxy(device::mojom::blink::SensorType, SensorProviderProxy*); | 74 SensorProxy(device::mojom::blink::SensorType, SensorProviderProxy*); |
74 | 75 |
75 // device::mojom::blink::SensorClient overrides. | 76 // device::mojom::blink::SensorClient overrides. |
76 void RaiseError() override; | 77 void RaiseError() override; |
77 void SensorReadingChanged() override; | 78 void SensorReadingChanged() override; |
78 | 79 |
79 // Generic handler for a fatal error. | 80 // Generic handler for a fatal error. |
80 void handleSensorError(); | 81 void handleSensorError(); |
81 | 82 |
82 void onSensorCreated(device::mojom::blink::SensorReadBufferPtr, device::mojo m::blink::SensorClientRequest); | 83 void onSensorCreated(device::mojom::blink::SensorInitParamsPtr, device::mojo m::blink::SensorClientRequest); |
83 | 84 |
84 device::mojom::blink::SensorType m_type; | 85 device::mojom::blink::SensorType m_type; |
85 device::mojom::blink::ReportingMode m_mode; | 86 device::mojom::blink::ReportingMode m_mode; |
86 Member<SensorProviderProxy> m_provider; | 87 Member<SensorProviderProxy> m_provider; |
87 using ObserversSet = HeapHashSet<WeakMember<Observer>>; | 88 using ObserversSet = HeapHashSet<WeakMember<Observer>>; |
88 ObserversSet m_observers; | 89 ObserversSet m_observers; |
89 | 90 |
90 device::mojom::blink::SensorPtr m_sensor; | 91 device::mojom::blink::SensorPtr m_sensor; |
92 device::mojom::blink::SensorConfigurationPtr m_defaultConfig; | |
91 mojo::Binding<device::mojom::blink::SensorClient> m_clientBinding; | 93 mojo::Binding<device::mojom::blink::SensorClient> m_clientBinding; |
94 | |
92 enum State { | 95 enum State { |
93 Uninitialized, | 96 Uninitialized, |
94 Initializing, | 97 Initializing, |
95 Initialized | 98 Initialized |
96 }; | 99 }; |
97 State m_state; | 100 State m_state; |
98 mojo::ScopedSharedBufferHandle m_sharedBufferHandle; | 101 mojo::ScopedSharedBufferHandle m_sharedBufferHandle; |
99 mojo::ScopedSharedBufferMapping m_sharedBuffer; | 102 mojo::ScopedSharedBufferMapping m_sharedBuffer; |
100 Reading m_reading; | 103 Reading m_reading; |
101 bool m_suspended; | 104 bool m_suspended; |
102 }; | 105 }; |
103 | 106 |
104 } // namespace blink | 107 } // namespace blink |
105 | 108 |
106 #endif // SensorProxy_h | 109 #endif // SensorProxy_h |
OLD | NEW |