Home | History | Annotate | Download | only in cros
      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 
     11 namespace chromeos {
     12 
     13 class 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