Chromium Code Reviews| Index: dbus/object_proxy.cc |
| diff --git a/dbus/object_proxy.cc b/dbus/object_proxy.cc |
| index c8f00d7cbc35bd200900fb8b93f55b2a96eae115..4d49a8b6f70d6cf1a81a70c4fc2e89fef7b727a1 100644 |
| --- a/dbus/object_proxy.cc |
| +++ b/dbus/object_proxy.cc |
| @@ -408,6 +408,12 @@ void ObjectProxy::OnConnected(OnConnectedCallback on_connected_callback, |
| on_connected_callback.Run(interface_name, signal_name, success); |
| } |
| +void ObjectProxy::SetNameOwnerChangedCallback(SignalCallback callback) { |
| + bus_->AssertOnOriginThread(); |
| + |
| + name_owner_changed_callback_ = callback; |
| +} |
| + |
| DBusHandlerResult ObjectProxy::HandleMessage( |
| DBusConnection* connection, |
| DBusMessage* raw_message) { |
| @@ -634,6 +640,7 @@ DBusHandlerResult ObjectProxy::HandleNameOwnerChanged(Signal* signal) { |
| reader.PopString(&new_owner) && |
| name == service_name_) { |
| service_name_owner_ = new_owner; |
| + name_owner_changed_callback_.Run(signal); |
|
satorux1
2012/11/12 07:56:43
This will crash if name_owner_changed_callback_ is
Haruki Sato
2012/11/13 06:23:28
Done. Thanks.
|
| return DBUS_HANDLER_RESULT_HANDLED; |
| } |
| } |