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