Chromium Code Reviews| Index: chromeos/accelerometer/accelerometer_reader.h |
| diff --git a/chromeos/accelerometer/accelerometer_reader.h b/chromeos/accelerometer/accelerometer_reader.h |
| index 3cf473f72cf44346c83714a3a9f2fdea6f0e4861..4754a8992339ab8bcc60b511918cc68c224b407a 100644 |
| --- a/chromeos/accelerometer/accelerometer_reader.h |
| +++ b/chromeos/accelerometer/accelerometer_reader.h |
| @@ -45,18 +45,24 @@ class CHROMEOS_EXPORT AccelerometerReader { |
| typedef base::RefCountedData<char[12]> Reading; |
| // An interface to receive data from the AccelerometerReader. |
| - class Delegate { |
| + class Observer { |
| public: |
| - virtual ~Delegate() {} |
| - |
| - virtual void HandleAccelerometerUpdate( |
| + virtual void OnAccelerometerUpdated( |
| const ui::AccelerometerUpdate& update) = 0; |
| + |
| + protected: |
| + virtual ~Observer() {} |
| }; |
| - AccelerometerReader(scoped_refptr<base::TaskRunner> blocking_task_runner, |
| - Delegate* delegate); |
| + AccelerometerReader(); |
| ~AccelerometerReader(); |
| + void Initialize(scoped_refptr<base::TaskRunner> blocking_task_runner); |
| + |
| + // Add/Remove observers. |
| + void AddObserver(Observer* observer); |
| + void RemoveObserver(Observer* observer); |
| + |
| private: |
| // Dispatched when initialization is complete. If |success|, |configuration| |
| // provides the details of the detected accelerometer. |
| @@ -74,9 +80,6 @@ class CHROMEOS_EXPORT AccelerometerReader { |
| // The task runner to use for blocking tasks. |
| scoped_refptr<base::TaskRunner> task_runner_; |
| - // A weak pointer to the delegate to send accelerometer readings to. |
| - Delegate* delegate_; |
| - |
| // The last seen accelerometer data. |
| ui::AccelerometerUpdate update_; |
| @@ -85,6 +88,8 @@ class CHROMEOS_EXPORT AccelerometerReader { |
| base::WeakPtrFactory<AccelerometerReader> weak_factory_; |
|
flackr
2014/12/12 16:47:11
Keep this as the last member of the class. Members
jonross
2014/12/12 19:03:25
Done.
|
| + ObserverList<Observer, true> observers_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(AccelerometerReader); |
| }; |