1c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch// Copyright 2014 The Chromium Authors. All rights reserved. 2c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch// found in the LICENSE file. 4c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 5c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch#include "ash/accelerometer/accelerometer_controller.h" 6c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 7c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch#include "ash/accelerometer/accelerometer_observer.h" 8c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 9c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdochnamespace ash { 10c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 11c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen MurdochAccelerometerController::AccelerometerController() { 12c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch} 13c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 14c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen MurdochAccelerometerController::~AccelerometerController() { 15c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch} 16c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 17c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdochvoid AccelerometerController::Initialize( 18c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch scoped_refptr<base::TaskRunner> blocking_task_runner) { 19c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch#if defined(OS_CHROMEOS) 201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci reader_.reset( 211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci new chromeos::AccelerometerReader(blocking_task_runner, this)); 22c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch#endif 23c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch} 24c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 25c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdochvoid AccelerometerController::AddObserver(AccelerometerObserver* observer) { 26c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch observers_.AddObserver(observer); 27c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch} 28c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 29c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdochvoid AccelerometerController::RemoveObserver(AccelerometerObserver* observer) { 30c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch observers_.RemoveObserver(observer); 31c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch} 32c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 33c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch#if defined(OS_CHROMEOS) 341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivoid AccelerometerController::HandleAccelerometerUpdate( 351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const ui::AccelerometerUpdate& update) { 36c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch FOR_EACH_OBSERVER(AccelerometerObserver, observers_, 371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci OnAccelerometerUpdated(update)); 38c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch} 39c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch#endif 40c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 41c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch} // namespace ash 42