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