Home | History | Annotate | Download | only in chromeos
      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_LOW_BATTERY_OBSERVER_H_
      6 #define CHROME_BROWSER_CHROMEOS_LOW_BATTERY_OBSERVER_H_
      7 #pragma once
      8 
      9 #include "base/basictypes.h"
     10 #include "base/time.h"
     11 #include "chrome/browser/chromeos/cros/power_library.h"
     12 #include "chrome/browser/chromeos/notifications/system_notification.h"
     13 
     14 class Profile;
     15 
     16 namespace chromeos {
     17 
     18 // The low battery observer displays a system notification when the battery
     19 // is low.
     20 
     21 class LowBatteryObserver : public PowerLibrary::Observer {
     22  public:
     23   explicit LowBatteryObserver(Profile* profile);
     24   virtual ~LowBatteryObserver();
     25 
     26  private:
     27   virtual void PowerChanged(PowerLibrary* object);
     28   virtual void SystemResumed() {}
     29 
     30   void Show(base::TimeDelta remaining, bool urgent);
     31   void Hide();
     32 
     33   SystemNotification notification_;
     34   int remaining_;  // Last displayed remaining time in minutes
     35 
     36   DISALLOW_COPY_AND_ASSIGN(LowBatteryObserver);
     37 };
     38 
     39 }  // namespace chromeos
     40 
     41 #endif  // CHROME_BROWSER_CHROMEOS_LOW_BATTERY_OBSERVER_H_
     42