Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(540)

Side by Side Diff: device/sensors/data_fetcher_shared_memory_default.cc

Issue 2885203004: Refactor content/renderer/device_sensors to use device/generic_sensor instead of device/sensors (Closed)
Patch Set: updated content/renderer/BUILD.gn Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "device/sensors/data_fetcher_shared_memory.h"
6
7 #include "base/logging.h"
8 #include "base/metrics/histogram_macros.h"
9
10 namespace {
11
12 bool SetMotionBuffer(device::DeviceMotionHardwareBuffer* buffer, bool enabled) {
13 if (!buffer)
14 return false;
15 buffer->seqlock.WriteBegin();
16 buffer->data.all_available_sensors_are_active = enabled;
17 buffer->seqlock.WriteEnd();
18 return true;
19 }
20
21 bool SetOrientationBuffer(device::DeviceOrientationHardwareBuffer* buffer,
22 bool enabled) {
23 if (!buffer)
24 return false;
25 buffer->seqlock.WriteBegin();
26 buffer->data.all_available_sensors_are_active = enabled;
27 buffer->seqlock.WriteEnd();
28 return true;
29 }
30
31 } // namespace
32
33 namespace device {
34
35 DataFetcherSharedMemory::DataFetcherSharedMemory() {}
36
37 DataFetcherSharedMemory::~DataFetcherSharedMemory() {}
38
39 bool DataFetcherSharedMemory::Start(ConsumerType consumer_type, void* buffer) {
40 DCHECK(buffer);
41
42 switch (consumer_type) {
43 case CONSUMER_TYPE_MOTION:
44 motion_buffer_ = static_cast<DeviceMotionHardwareBuffer*>(buffer);
45 UMA_HISTOGRAM_BOOLEAN("InertialSensor.MotionDefaultAvailable", false);
46 return SetMotionBuffer(motion_buffer_, true);
47 case CONSUMER_TYPE_ORIENTATION:
48 orientation_buffer_ =
49 static_cast<DeviceOrientationHardwareBuffer*>(buffer);
50 UMA_HISTOGRAM_BOOLEAN("InertialSensor.OrientationDefaultAvailable",
51 false);
52 return SetOrientationBuffer(orientation_buffer_, true);
53 case CONSUMER_TYPE_ORIENTATION_ABSOLUTE:
54 orientation_absolute_buffer_ =
55 static_cast<DeviceOrientationHardwareBuffer*>(buffer);
56 return SetOrientationBuffer(orientation_absolute_buffer_, true);
57 default:
58 NOTREACHED();
59 }
60 return false;
61 }
62
63 bool DataFetcherSharedMemory::Stop(ConsumerType consumer_type) {
64 switch (consumer_type) {
65 case CONSUMER_TYPE_MOTION:
66 return SetMotionBuffer(motion_buffer_, false);
67 case CONSUMER_TYPE_ORIENTATION:
68 return SetOrientationBuffer(orientation_buffer_, false);
69 case CONSUMER_TYPE_ORIENTATION_ABSOLUTE:
70 return SetOrientationBuffer(orientation_absolute_buffer_, false);
71 default:
72 NOTREACHED();
73 }
74 return false;
75 }
76
77 } // namespace device
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698