#include "base/stl_util.h"
#include "base/threading/thread.h"
#include "base/timer/timer.h"
+#include "content/common/device_sensors/device_light_hardware_buffer.h"
#include "content/common/device_sensors/device_motion_hardware_buffer.h"
#include "content/common/device_sensors/device_orientation_hardware_buffer.h"
return sizeof(DeviceMotionHardwareBuffer);
case CONSUMER_TYPE_ORIENTATION:
return sizeof(DeviceOrientationHardwareBuffer);
+ case CONSUMER_TYPE_LIGHT:
+ return sizeof(DeviceLightHardwareBuffer);
default:
NOTREACHED();
}
}
DataFetcherSharedMemoryBase::~DataFetcherSharedMemoryBase() {
- StopFetchingDeviceData(CONSUMER_TYPE_MOTION);
- StopFetchingDeviceData(CONSUMER_TYPE_ORIENTATION);
+ DCHECK_EQ(0u, started_consumers_);
// make sure polling thread stops asap.
if (polling_thread_)
return true;
}
+void DataFetcherSharedMemoryBase::StopFetchingAllDeviceData() {
+ StopFetchingDeviceData(CONSUMER_TYPE_MOTION);
+ StopFetchingDeviceData(CONSUMER_TYPE_ORIENTATION);
+ StopFetchingDeviceData(CONSUMER_TYPE_LIGHT);
+}
+
base::SharedMemoryHandle
DataFetcherSharedMemoryBase::GetSharedMemoryHandleForProcess(
ConsumerType consumer_type, base::ProcessHandle process) {
return polling_thread_ ? polling_thread_->IsTimerRunning() : false;
}
-
} // namespace content