| Index: chrome/browser/chromeos/cros/power_library.h | 
| =================================================================== | 
| --- chrome/browser/chromeos/cros/power_library.h	(revision 42341) | 
| +++ chrome/browser/chromeos/cros/power_library.h	(working copy) | 
| @@ -12,7 +12,7 @@ | 
|  | 
| namespace chromeos { | 
|  | 
| -// This class handles the interaction with the ChromeOS power library APIs. | 
| +// This interface defines interaction with the ChromeOS power library APIs. | 
| // Classes can add themselves as observers. Users can get an instance of this | 
| // library class like this: PowerLibrary::Get() | 
| class PowerLibrary { | 
| @@ -21,37 +21,61 @@ | 
| public: | 
| virtual void PowerChanged(PowerLibrary* obj) = 0; | 
| }; | 
| +  virtual ~PowerLibrary() {} | 
| +  virtual void AddObserver(Observer* observer) = 0; | 
| +  virtual void RemoveObserver(Observer* observer) = 0; | 
| +  // Whether or not the line power is connected. | 
| +  virtual bool line_power_on() const = 0; | 
|  | 
| -  // This gets the singleton PowerLibrary | 
| -  static PowerLibrary* Get(); | 
| +  // Whether or not the battery is fully charged.. | 
| +  virtual bool battery_fully_charged() const = 0; | 
|  | 
| -  void AddObserver(Observer* observer); | 
| -  void RemoveObserver(Observer* observer); | 
| +  // The percentage (0-100) of remaining battery. | 
| +  virtual double battery_percentage() const = 0; | 
|  | 
| +  // Whether there is a battery present. | 
| +  virtual bool battery_is_present() const = 0; | 
| + | 
| +  // The amount of time until battery is empty. | 
| +  virtual base::TimeDelta battery_time_to_empty() const = 0; | 
| + | 
| +  // The amount of time until battery is full. | 
| +  virtual base::TimeDelta battery_time_to_full() const = 0; | 
| +}; | 
| + | 
| + | 
| +// This class handles the interaction with the ChromeOS power library APIs. | 
| +// Classes can add themselves as observers. Users can get an instance of this | 
| +// library class like this: PowerLibrary::Get() | 
| +class PowerLibraryImpl : public PowerLibrary { | 
| + public: | 
| +  PowerLibraryImpl(); | 
| +  virtual ~PowerLibraryImpl(); | 
| + | 
| +  // PowerLibrary overrides. | 
| +  virtual void AddObserver(Observer* observer); | 
| +  virtual void RemoveObserver(Observer* observer); | 
| + | 
| // Whether or not the line power is connected. | 
| -  bool line_power_on() const; | 
| +  virtual bool line_power_on() const; | 
|  | 
| // Whether or not the battery is fully charged.. | 
| -  bool battery_fully_charged() const; | 
| +  virtual bool battery_fully_charged() const; | 
|  | 
| // The percentage (0-100) of remaining battery. | 
| -  double battery_percentage() const; | 
| +  virtual double battery_percentage() const; | 
|  | 
| // Whether there is a battery present. | 
| -  bool battery_is_present() const; | 
| +  virtual bool battery_is_present() const; | 
|  | 
| // The amount of time until battery is empty. | 
| -  base::TimeDelta battery_time_to_empty() const; | 
| +  virtual base::TimeDelta battery_time_to_empty() const; | 
|  | 
| // The amount of time until battery is full. | 
| -  base::TimeDelta battery_time_to_full() const; | 
| +  virtual base::TimeDelta battery_time_to_full() const; | 
|  | 
| private: | 
| -  friend struct DefaultSingletonTraits<PowerLibrary>; | 
|  | 
| -  PowerLibrary(); | 
| -  ~PowerLibrary(); | 
| - | 
| // This method is called when there's a change in power status. | 
| // This method is called on a background thread. | 
| static void PowerStatusChangedHandler(void* object, | 
| @@ -73,7 +97,7 @@ | 
| // The latest power status. | 
| chromeos::PowerStatus status_; | 
|  | 
| -  DISALLOW_COPY_AND_ASSIGN(PowerLibrary); | 
| +  DISALLOW_COPY_AND_ASSIGN(PowerLibraryImpl); | 
| }; | 
|  | 
| }  // namespace chromeos | 
|  |