Commit 625c5426 authored by sque@chromium.org's avatar sque@chromium.org

chromeos: Power manager client calls shutdown and restart

No longer using libcros to call these methods.  Part of libcros removal.

BUG=chromium-os:16558
TEST=Attempt shutdown and restart from Chrome UI
Signed-off-by: default avatarSimon Que <sque@chromium.org>

R=satorux@chromium.org,stevenjb@chromium.org


Review URL: http://codereview.chromium.org/8537001

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109778 0039d316-1c4b-4281-b951-d872f2087c98
parent 6c66ffce
......@@ -25,8 +25,6 @@ class MockPowerLibrary : public PowerLibrary {
MOCK_METHOD1(CalculateIdleTime, void(CalculateIdleTimeCallback*));
MOCK_METHOD1(EnableScreenLock, void(bool));
MOCK_METHOD0(RequestRestart, void(void));
MOCK_METHOD0(RequestShutdown, void(void));
};
} // namespace chromeos
......
......@@ -65,14 +65,6 @@ class PowerLibraryImpl : public PowerLibrary {
base::Bind(&PowerLibraryImpl::DoEnableScreenLock, enable));
}
virtual void RequestRestart() OVERRIDE {
chromeos::RequestRestart();
}
virtual void RequestShutdown() OVERRIDE {
chromeos::RequestShutdown();
}
// End PowerLibrary implementation.
private:
......@@ -141,10 +133,6 @@ class PowerLibraryStubImpl : public PowerLibrary {
virtual void EnableScreenLock(bool enable) OVERRIDE {}
virtual void RequestRestart() OVERRIDE {}
virtual void RequestShutdown() OVERRIDE {}
// End PowerLibrary implementation.
private:
ObserverList<Observer> observers_;
......
......@@ -45,12 +45,6 @@ class PowerLibrary {
// Enable/disable screen lock for current session.
virtual void EnableScreenLock(bool enable) = 0;
// Requests restart of the system.
virtual void RequestRestart() = 0;
// Requests shutdown of the system.
virtual void RequestShutdown() = 0;
// Factory function, creates a new instance and returns ownership.
// For normal usage, access the singleton via CrosLibrary::Get().
static PowerLibrary* GetImpl(bool stub);
......
......@@ -22,6 +22,8 @@ class MockPowerManagerClient : public PowerManagerClient {
MOCK_METHOD1(DecreaseScreenBrightness, void(bool));
MOCK_METHOD0(IncreaseScreenBrightness, void(void));
MOCK_METHOD0(RequestStatusUpdate, void(void));
MOCK_METHOD0(RequestRestart, void(void));
MOCK_METHOD0(RequestShutdown, void(void));
};
} // namespace chromeos
......
......@@ -133,6 +133,27 @@ class PowerManagerClientImpl : public PowerManagerClient {
weak_ptr_factory_.GetWeakPtr()));
}
// Requests restart of the system.
virtual void RequestRestart() OVERRIDE {
dbus::MethodCall method_call(power_manager::kPowerManagerInterface,
power_manager::kRequestRestartMethod);
power_manager_proxy_->CallMethod(
&method_call,
dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
dbus::ObjectProxy::EmptyResponseCallback());
};
// Requests shutdown of the system.
virtual void RequestShutdown() OVERRIDE {
dbus::MethodCall method_call(power_manager::kPowerManagerInterface,
power_manager::kRequestShutdownMethod);
power_manager_proxy_->CallMethod(
&method_call,
dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
dbus::ObjectProxy::EmptyResponseCallback());
}
private:
// Called when a dbus signal is initially connected.
void SignalConnected(const std::string& interface_name,
......@@ -263,6 +284,10 @@ class PowerManagerClientStubImpl : public PowerManagerClient {
}
}
virtual void RequestRestart() OVERRIDE {}
virtual void RequestShutdown() OVERRIDE {}
private:
void Update() {
// We pause at 0 and 100% so that it's easier to check those conditions.
......
......@@ -66,6 +66,12 @@ class PowerManagerClient {
// UI initiated request for power supply status update.
virtual void RequestStatusUpdate() = 0;
// Requests restart of the system.
virtual void RequestRestart() = 0;
// Requests shutdown of the system.
virtual void RequestShutdown() = 0;
// Creates the instance.
static PowerManagerClient* Create(dbus::Bus* bus);
......
......@@ -6,7 +6,8 @@
#include "base/utf_string_conversions.h"
#include "chrome/browser/chromeos/cros/cros_library.h"
#include "chrome/browser/chromeos/cros/power_library.h"
#include "chrome/browser/chromeos/dbus/dbus_thread_manager.h"
#include "chrome/browser/chromeos/dbus/power_manager_client.h"
#include "chrome/browser/chromeos/login/rounded_rect_painter.h"
#include "chrome/browser/chromeos/view_ids.h"
#include "grit/generated_resources.h"
......@@ -114,8 +115,7 @@ void ShutdownButton::OnLocaleChanged() {
void ShutdownButton::ButtonPressed(views::Button* sender,
const views::Event& event) {
DCHECK(CrosLibrary::Get()->EnsureLoaded());
CrosLibrary::Get()->GetPowerLibrary()->RequestShutdown();
DBusThreadManager::Get()->GetPowerManagerClient()->RequestShutdown();
}
} // namespace chromeos
......@@ -17,7 +17,8 @@
#if defined(OS_CHROMEOS)
#include "chrome/browser/chromeos/cros/cros_library.h"
#include "chrome/browser/chromeos/cros/power_library.h"
#include "chrome/browser/chromeos/dbus/dbus_thread_manager.h"
#include "chrome/browser/chromeos/dbus/power_manager_client.h"
#endif
////////////////////////////////////////////////////////////////////////////////
......@@ -32,7 +33,7 @@ void UpdateRecommendedMessageBox::ShowMessageBox(
bool UpdateRecommendedMessageBox::Accept() {
#if defined(OS_CHROMEOS)
chromeos::CrosLibrary::Get()->GetPowerLibrary()->RequestRestart();
chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->RequestRestart();
// If running the Chrome OS build, but we're not on the device, fall through
#endif
BrowserList::AttemptRestart();
......
......@@ -15,7 +15,8 @@
#include "chrome/browser/browser_shutdown.h"
#include "chrome/browser/chromeos/cros/cros_library.h"
#include "chrome/browser/chromeos/cros/network_library.h"
#include "chrome/browser/chromeos/cros/power_library.h"
#include "chrome/browser/chromeos/dbus/dbus_thread_manager.h"
#include "chrome/browser/chromeos/dbus/power_manager_client.h"
#include "chrome/browser/chromeos/input_method/input_method_manager.h"
#include "chrome/browser/chromeos/input_method/xkeyboard.h"
#include "chrome/browser/chromeos/login/screen_locker.h"
......@@ -542,8 +543,7 @@ void SigninScreenHandler::HandleFixCaptivePortal(const base::ListValue* args) {
}
void SigninScreenHandler::HandleShutdownSystem(const base::ListValue* args) {
DCHECK(CrosLibrary::Get()->EnsureLoaded());
CrosLibrary::Get()->GetPowerLibrary()->RequestShutdown();
DBusThreadManager::Get()->GetPowerManagerClient()->RequestShutdown();
}
void SigninScreenHandler::HandleRemoveUser(const base::ListValue* args) {
......
......@@ -17,8 +17,9 @@
#include "base/utf_string_conversions.h"
#include "base/values.h"
#include "chrome/browser/chromeos/cros/cros_library.h"
#include "chrome/browser/chromeos/cros/power_library.h"
#include "chrome/browser/chromeos/cros/update_library.h"
#include "chrome/browser/chromeos/dbus/dbus_thread_manager.h"
#include "chrome/browser/chromeos/dbus/power_manager_client.h"
#include "chrome/browser/chromeos/login/user_manager.h"
#include "chrome/browser/chromeos/login/wizard_controller.h"
#include "chrome/browser/chromeos/user_cros_settings_provider.h"
......@@ -299,7 +300,7 @@ void AboutPageHandler::CheckNow(const ListValue* args) {
}
void AboutPageHandler::RestartNow(const ListValue* args) {
CrosLibrary::Get()->GetPowerLibrary()->RequestRestart();
DBusThreadManager::Get()->GetPowerManagerClient()->RequestRestart();
}
void AboutPageHandler::UpdateStatus(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment