Index: device/battery/battery_monitor_impl.cc |
diff --git a/device/battery/battery_monitor_impl.cc b/device/battery/battery_monitor_impl.cc |
index dc07b62df1a8a2485016c3a059ee0be294c76c51..bb9976975166718a088b2799f60e775dcf9116cb 100644 |
--- a/device/battery/battery_monitor_impl.cc |
+++ b/device/battery/battery_monitor_impl.cc |
@@ -16,21 +16,23 @@ void BatteryMonitorImpl::Create( |
BatteryMonitorImpl::BatteryMonitorImpl( |
mojo::InterfaceRequest<BatteryMonitor> request) |
- : binding_(this, request.Pass()), |
- subscription_(BatteryStatusService::GetInstance()->AddCallback( |
- base::Bind(&BatteryMonitorImpl::DidChange, base::Unretained(this)))) { |
+ : binding_(this, request.Pass()) { |
} |
BatteryMonitorImpl::~BatteryMonitorImpl() { |
} |
+void BatteryMonitorImpl::SetClient(BatteryMonitorClientPtr client) { |
+ client_ = client.Pass(); |
+ subscription_ = BatteryStatusService::GetInstance()->AddCallback( |
+ base::Bind(&BatteryMonitorImpl::DidChange, base::Unretained(this))); |
+} |
+ |
void BatteryMonitorImpl::RegisterSubscription() { |
} |
void BatteryMonitorImpl::DidChange(const BatteryStatus& battery_status) { |
- BatteryStatusPtr status(BatteryStatus::New()); |
- *status = battery_status; |
- binding_.client()->DidChange(status.Pass()); |
+ client_->DidChange(battery_status.Clone()); |
} |
} // namespace device |