Home | History | Annotate | Download | only in accelerometer
      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 "ash/accelerometer/accelerometer_controller.h"
      6 
      7 #include "ash/accelerometer/accelerometer_observer.h"
      8 #include "ui/gfx/geometry/vector3d_f.h"
      9 
     10 namespace ash {
     11 
     12 AccelerometerController::AccelerometerController() {
     13 }
     14 
     15 AccelerometerController::~AccelerometerController() {
     16 }
     17 
     18 void AccelerometerController::Initialize(
     19     scoped_refptr<base::TaskRunner> blocking_task_runner) {
     20 #if defined(OS_CHROMEOS)
     21   reader_.reset(new chromeos::AccelerometerReader(blocking_task_runner, this));
     22 #endif
     23 }
     24 
     25 void AccelerometerController::AddObserver(AccelerometerObserver* observer) {
     26   observers_.AddObserver(observer);
     27 }
     28 
     29 void AccelerometerController::RemoveObserver(AccelerometerObserver* observer) {
     30   observers_.RemoveObserver(observer);
     31 }
     32 
     33 #if defined(OS_CHROMEOS)
     34 void AccelerometerController::HandleAccelerometerReading(
     35     const gfx::Vector3dF& base,
     36     const gfx::Vector3dF& lid) {
     37   FOR_EACH_OBSERVER(AccelerometerObserver, observers_,
     38       OnAccelerometerUpdated(base, lid));
     39 }
     40 #endif
     41 
     42 }  // namespace ash
     43