| Index: chromeos/dbus/services/display_power_service_provider.cc
|
| diff --git a/chromeos/dbus/services/display_power_service_provider.cc b/chromeos/dbus/services/display_power_service_provider.cc
|
| index 9f44d0e7cb9db103cf25bf7da0432f78f8fcf026..a55a6f21e80c75b1869cf42f99621999890f2d38 100644
|
| --- a/chromeos/dbus/services/display_power_service_provider.cc
|
| +++ b/chromeos/dbus/services/display_power_service_provider.cc
|
| @@ -10,6 +10,17 @@
|
|
|
| namespace chromeos {
|
|
|
| +namespace {
|
| +
|
| +void RunConfigurationCallback(
|
| + dbus::MethodCall* method_call,
|
| + dbus::ExportedObject::ResponseSender response_sender,
|
| + bool status) {
|
| + response_sender.Run(dbus::Response::FromMethodCall(method_call));
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| DisplayPowerServiceProvider::DisplayPowerServiceProvider(
|
| scoped_ptr<Delegate> delegate)
|
| : delegate_(delegate.Pass()),
|
| @@ -50,14 +61,15 @@ void DisplayPowerServiceProvider::SetDisplayPower(
|
| dbus::ExportedObject::ResponseSender response_sender) {
|
| dbus::MessageReader reader(method_call);
|
| int int_state = 0;
|
| + Delegate::ResponseCallback callback =
|
| + base::Bind(&RunConfigurationCallback, method_call, response_sender);
|
| if (reader.PopInt32(&int_state)) {
|
| DisplayPowerState state = static_cast<DisplayPowerState>(int_state);
|
| - delegate_->SetDisplayPower(state);
|
| + delegate_->SetDisplayPower(state, callback);
|
| } else {
|
| LOG(ERROR) << "Unable to parse " << kSetDisplayPower << " request";
|
| + callback.Run(false);
|
| }
|
| -
|
| - response_sender.Run(dbus::Response::FromMethodCall(method_call));
|
| }
|
|
|
| void DisplayPowerServiceProvider::SetDisplaySoftwareDimming(
|
|
|