1// Copyright (c) 2010 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#ifndef CHROME_BROWSER_CHROMEOS_CROS_BRIGHTNESS_LIBRARY_H_
6#define CHROME_BROWSER_CHROMEOS_CROS_BRIGHTNESS_LIBRARY_H_
7#pragma once
8
9#include "third_party/cros/chromeos_brightness.h"
10
11namespace chromeos {
12
13class BrightnessLibrary {
14 public:
15  class Observer {
16   public:
17    virtual void BrightnessChanged(int level, bool user_initiated) = 0;
18  };
19
20  virtual ~BrightnessLibrary() {}
21
22  virtual void AddObserver(Observer* observer) = 0;
23  virtual void RemoveObserver(Observer* observer) = 0;
24
25  // Factory function, creates a new instance and returns ownership.
26  // For normal usage, access the singleton via CrosLibrary::Get().
27  static BrightnessLibrary* GetImpl(bool stub);
28};
29
30}  // namespace chromeos
31
32#endif  // CHROME_BROWSER_CHROMEOS_CROS_BRIGHTNESS_LIBRARY_H_
33