| OLD | NEW | 
| (Empty) |  | 
 |   1 // Copyright 2014 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_BATTERY_STATUS_BATTERY_STATUS_MANAGER_H_ | 
 |   6 #define CHROME_BROWSER_BATTERY_STATUS_BATTERY_STATUS_MANAGER_H_ | 
 |   7  | 
 |   8 #include "build/build_config.h" | 
 |   9  | 
 |  10 #if defined(OS_ANDROID) | 
 |  11 #include "base/android/scoped_java_ref.h" | 
 |  12 #endif | 
 |  13  | 
 |  14 #include "content/browser/battery_status/battery_status_update_callback.h" | 
 |  15 #include "content/common/content_export.h" | 
 |  16  | 
 |  17 namespace content { | 
 |  18  | 
 |  19 // Platform specific manager class for fetching battery status data. | 
 |  20 class CONTENT_EXPORT BatteryStatusManager { | 
 |  21  public: | 
 |  22   explicit BatteryStatusManager(const BatteryStatusUpdateCallback& callback); | 
 |  23   virtual ~BatteryStatusManager(); | 
 |  24  | 
 |  25   // Start listening for battery status changes. New updates are signalled | 
 |  26   // by invoking the callback provided at construction time. | 
 |  27   bool StartListeningBatteryChange(); | 
 |  28  | 
 |  29   // Stop listenting for battery status changes. | 
 |  30   void StopListeningBatteryChange(); | 
 |  31  | 
 |  32 #if defined(OS_ANDROID) | 
 |  33   // Must be called at startup. | 
 |  34   static bool Register(JNIEnv* env); | 
 |  35  | 
 |  36   // Called from Java via JNI. | 
 |  37   void GotBatteryStatus(JNIEnv*, jobject, jboolean charging, | 
 |  38                         jdouble charging_time, jdouble discharging_time, | 
 |  39                         jdouble level); | 
 |  40 #endif | 
 |  41  | 
 |  42  private: | 
 |  43 #if defined(OS_ANDROID) | 
 |  44   // Java provider of battery status info. | 
 |  45   base::android::ScopedJavaGlobalRef<jobject> j_manager_; | 
 |  46 #endif | 
 |  47   BatteryStatusUpdateCallback callback_; | 
 |  48  | 
 |  49   DISALLOW_COPY_AND_ASSIGN(BatteryStatusManager); | 
 |  50 }; | 
 |  51  | 
 |  52 }  // namespace content | 
 |  53  | 
 |  54 #endif  // CHROME_BROWSER_BATTERY_STATUS_BATTERY_STATUS_MANAGER_H_ | 
| OLD | NEW |