Apply _RELATIVE relocations ahead of others.
[chromium-blink-merge.git] / content / browser / device_sensors / data_fetcher_shared_memory.h
blobe42f45f95281873e27bbae79130abcb646ee53af
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.
5 #ifndef CONTENT_BROWSER_DEVICE_SENSORS_DATA_FETCHER_SHARED_MEMORY_H_
6 #define CONTENT_BROWSER_DEVICE_SENSORS_DATA_FETCHER_SHARED_MEMORY_H_
8 #include "content/browser/device_sensors/data_fetcher_shared_memory_base.h"
10 #if !defined(OS_ANDROID)
11 #include "content/common/device_sensors/device_light_hardware_buffer.h"
12 #include "content/common/device_sensors/device_motion_hardware_buffer.h"
13 #include "content/common/device_sensors/device_orientation_hardware_buffer.h"
14 #endif
16 #if defined(OS_MACOSX)
17 class SuddenMotionSensor;
18 #elif defined(OS_WIN)
19 #include <SensorsApi.h>
20 #include "base/win/scoped_comptr.h"
21 #endif
23 namespace content {
25 class CONTENT_EXPORT DataFetcherSharedMemory
26 : public DataFetcherSharedMemoryBase {
28 public:
29 DataFetcherSharedMemory();
30 ~DataFetcherSharedMemory() override;
32 private:
33 bool Start(ConsumerType consumer_type, void* buffer) override;
34 bool Stop(ConsumerType consumer_type) override;
36 #if !defined(OS_ANDROID)
37 DeviceMotionHardwareBuffer* motion_buffer_;
38 DeviceOrientationHardwareBuffer* orientation_buffer_;
39 DeviceLightHardwareBuffer* light_buffer_;
40 #endif
41 #if defined(OS_MACOSX)
42 void Fetch(unsigned consumer_bitmask) override;
43 FetcherType GetType() const override;
45 scoped_ptr<SuddenMotionSensor> sudden_motion_sensor_;
46 #elif defined(OS_WIN)
47 class SensorEventSink;
48 class SensorEventSinkMotion;
49 class SensorEventSinkOrientation;
51 virtual FetcherType GetType() const override;
53 bool RegisterForSensor(REFSENSOR_TYPE_ID sensor_type, ISensor** sensor,
54 scoped_refptr<SensorEventSink> event_sink);
55 void DisableSensors(ConsumerType consumer_type);
56 void SetBufferAvailableState(ConsumerType consumer_type, bool enabled);
58 base::win::ScopedComPtr<ISensor> sensor_inclinometer_;
59 base::win::ScopedComPtr<ISensor> sensor_accelerometer_;
60 base::win::ScopedComPtr<ISensor> sensor_gyrometer_;
61 #endif
63 DISALLOW_COPY_AND_ASSIGN(DataFetcherSharedMemory);
66 } // namespace content
68 #endif // CONTENT_BROWSER_DEVICE_SENSORS_DATA_FETCHER_SHARED_MEMORY_H_