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 #include "device/generic_sensor/platform_sensor_provider_mac.h" | 5 #include "device/generic_sensor/platform_sensor_provider_mac.h" |
6 | 6 |
7 #include "base/memory/singleton.h" | 7 #include "base/memory/singleton.h" |
| 8 #include "device/generic_sensor/platform_sensor_accelerometer_mac.h" |
8 #include "device/generic_sensor/platform_sensor_ambient_light_mac.h" | 9 #include "device/generic_sensor/platform_sensor_ambient_light_mac.h" |
9 | 10 |
10 namespace device { | 11 namespace device { |
11 | 12 |
12 // static | 13 // static |
13 PlatformSensorProviderMac* PlatformSensorProviderMac::GetInstance() { | 14 PlatformSensorProviderMac* PlatformSensorProviderMac::GetInstance() { |
14 return base::Singleton< | 15 return base::Singleton< |
15 PlatformSensorProviderMac, | 16 PlatformSensorProviderMac, |
16 base::LeakySingletonTraits<PlatformSensorProviderMac>>::get(); | 17 base::LeakySingletonTraits<PlatformSensorProviderMac>>::get(); |
17 } | 18 } |
18 | 19 |
19 PlatformSensorProviderMac::PlatformSensorProviderMac() = default; | 20 PlatformSensorProviderMac::PlatformSensorProviderMac() = default; |
20 | 21 |
21 PlatformSensorProviderMac::~PlatformSensorProviderMac() = default; | 22 PlatformSensorProviderMac::~PlatformSensorProviderMac() = default; |
22 | 23 |
23 void PlatformSensorProviderMac::CreateSensorInternal( | 24 void PlatformSensorProviderMac::CreateSensorInternal( |
24 mojom::SensorType type, | 25 mojom::SensorType type, |
25 mojo::ScopedSharedBufferMapping mapping, | 26 mojo::ScopedSharedBufferMapping mapping, |
26 const CreateSensorCallback& callback) { | 27 const CreateSensorCallback& callback) { |
27 // Create Sensors here. | 28 // Create Sensors here. |
28 switch (type) { | 29 switch (type) { |
29 case mojom::SensorType::AMBIENT_LIGHT: { | 30 case mojom::SensorType::AMBIENT_LIGHT: { |
30 scoped_refptr<PlatformSensor> sensor = | 31 scoped_refptr<PlatformSensor> sensor = |
31 new PlatformSensorAmbientLightMac(std::move(mapping), this); | 32 new PlatformSensorAmbientLightMac(std::move(mapping), this); |
32 callback.Run(std::move(sensor)); | 33 callback.Run(std::move(sensor)); |
33 break; | 34 break; |
34 } | 35 } |
| 36 case mojom::SensorType::ACCELEROMETER: { |
| 37 callback.Run(base::MakeShared<PlatformSensorAccelerometerMac>( |
| 38 std::move(mapping), this)); |
| 39 break; |
| 40 } |
35 default: | 41 default: |
36 NOTIMPLEMENTED(); | 42 NOTIMPLEMENTED(); |
37 callback.Run(nullptr); | 43 callback.Run(nullptr); |
38 } | 44 } |
39 } | 45 } |
40 | 46 |
41 } // namespace device | 47 } // namespace device |
OLD | NEW |