forked from chromium/chromium
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathplatform_sensor_provider_mac.cc
41 lines (33 loc) · 1.2 KB
/
platform_sensor_provider_mac.cc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// 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.
#include "device/generic_sensor/platform_sensor_provider_mac.h"
#include "base/memory/singleton.h"
#include "device/generic_sensor/platform_sensor_ambient_light_mac.h"
namespace device {
// static
PlatformSensorProviderMac* PlatformSensorProviderMac::GetInstance() {
return base::Singleton<
PlatformSensorProviderMac,
base::LeakySingletonTraits<PlatformSensorProviderMac>>::get();
}
PlatformSensorProviderMac::PlatformSensorProviderMac() = default;
PlatformSensorProviderMac::~PlatformSensorProviderMac() = default;
void PlatformSensorProviderMac::CreateSensorInternal(
mojom::SensorType type,
mojo::ScopedSharedBufferMapping mapping,
const CreateSensorCallback& callback) {
// Create Sensors here.
switch (type) {
case mojom::SensorType::AMBIENT_LIGHT: {
scoped_refptr<PlatformSensor> sensor =
new PlatformSensorAmbientLightMac(std::move(mapping), this);
callback.Run(std::move(sensor));
break;
}
default:
NOTIMPLEMENTED();
callback.Run(nullptr);
}
}
} // namespace device