blob: 7d07c67f86c0b07e0e269530ef44e1659af7a9d3 [file] [log] [blame]
mukesh agrawal7c1fece2012-01-13 11:31:27 -08001// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
Darin Petkov394b7d42011-11-03 15:48:02 +01002// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "shill/power_manager_proxy.h"
6
7#include <base/logging.h>
8#include <chromeos/dbus/service_constants.h>
9
mukesh agrawal7c1fece2012-01-13 11:31:27 -080010using std::string;
11
Darin Petkov394b7d42011-11-03 15:48:02 +010012namespace shill {
mukesh agrawal7c1fece2012-01-13 11:31:27 -080013const char PowerManagerProxy::kRootPath[] = "/";
Darin Petkov394b7d42011-11-03 15:48:02 +010014
15PowerManagerProxy::PowerManagerProxy(PowerManagerProxyDelegate *delegate,
16 DBus::Connection *connection)
17 : proxy_(delegate, connection) {}
18
19PowerManagerProxy::~PowerManagerProxy() {}
20
21void PowerManagerProxy::RegisterSuspendDelay(uint32 delay_ms) {
22 proxy_.RegisterSuspendDelay(delay_ms);
23}
24
25PowerManagerProxy::Proxy::Proxy(PowerManagerProxyDelegate *delegate,
26 DBus::Connection *connection)
27 : DBus::ObjectProxy(*connection,
mukesh agrawal7c1fece2012-01-13 11:31:27 -080028 kRootPath,
Darin Petkov394b7d42011-11-03 15:48:02 +010029 power_manager::kPowerManagerServiceName),
30 delegate_(delegate) {}
31
32PowerManagerProxy::Proxy::~Proxy() {}
33
34void PowerManagerProxy::Proxy::SuspendDelay(const uint32_t &sequence_number) {
35 VLOG(2) << __func__ << "(" << sequence_number << ")";
36 delegate_->OnSuspendDelay(sequence_number);
37}
38
mukesh agrawal7c1fece2012-01-13 11:31:27 -080039void PowerManagerProxy::Proxy::PowerStateChanged(
40 const string &new_power_state) {
41 VLOG(2) << __func__ << "(" << new_power_state << ")";
42
43 PowerManagerProxyDelegate::SuspendState suspend_state;
44 if (new_power_state == "on") {
45 suspend_state = PowerManagerProxyDelegate::kOn;
46 } else if (new_power_state == "standby") {
47 suspend_state = PowerManagerProxyDelegate::kStandby;
48 } else if (new_power_state == "mem") {
49 suspend_state = PowerManagerProxyDelegate::kMem;
50 } else if (new_power_state == "disk") {
51 suspend_state = PowerManagerProxyDelegate::kDisk;
52 } else {
53 suspend_state = PowerManagerProxyDelegate::kUnknown;
54 }
55 delegate_->OnPowerStateChanged(suspend_state);
56}
57
Darin Petkov394b7d42011-11-03 15:48:02 +010058} // namespace shill