Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3104)

Unified Diff: chrome/browser/chromeos/battery_status_provider_chromeos.cc

Issue 10024013: chromeos: Add support for the battery status API on chromeos. Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/battery_status_provider_chromeos.cc
diff --git a/chrome/browser/chromeos/battery_status_provider_chromeos.cc b/chrome/browser/chromeos/battery_status_provider_chromeos.cc
new file mode 100644
index 0000000000000000000000000000000000000000..839abea3f22b570520adf4139b1f40bcef1493a9
--- /dev/null
+++ b/chrome/browser/chromeos/battery_status_provider_chromeos.cc
@@ -0,0 +1,38 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/chromeos/battery_status_provider_chromeos.h"
+
+#include "chromeos/dbus/dbus_thread_manager.h"
+#include "content/public/browser/battery_status_provider.h"
+#include "content/public/browser/power_supply_status.h"
+
+using namespace chromeos;
+
+BatteryStatusProviderChromeos* BatteryStatusProviderChromeos::GetInstance() {
+ return Singleton<BatteryStatusProviderChromeos>::get();
+}
+
+BatteryStatusProviderChromeos::BatteryStatusProviderChromeos() {
+ DBusThreadManager::Get()->GetPowerManagerClient()->AddObserver(this);
+}
+
+BatteryStatusProviderChromeos::~BatteryStatusProviderChromeos() {
+ // By the time this singleton gets destroyed, the DBusThreadManager has
+ // already been destroyed. so do not remove the observer here.
+}
+
+void BatteryStatusProviderChromeos::PowerChanged(
+ const PowerSupplyStatus& status) {
+ content::PowerSupplyStatus content_status;
+ content_status.line_power_on = status.line_power_on;
+ content_status.battery_is_present = status.battery_is_present;
+ content_status.battery_is_full = status.battery_is_full;
+ content_status.battery_seconds_to_empty = status.battery_seconds_to_empty;
+ content_status.battery_seconds_to_full = status.battery_seconds_to_full;
+ content_status.battery_percentage = status.battery_percentage;
+ content_status.is_calculating_battery_time =
+ status.is_calculating_battery_time;
+ content::BatteryStatusProvider::GetInstance()->SendUpdate(content_status);
+}

Powered by Google App Engine
This is Rietveld 408576698