Index: dbus/object_proxy.h |
diff --git a/dbus/object_proxy.h b/dbus/object_proxy.h |
index bec08949d75b8d86d3cfec6a81f17ac5722e3415..801c57753fb18ee3064bd21cfb9b9900dac35586 100644 |
--- a/dbus/object_proxy.h |
+++ b/dbus/object_proxy.h |
@@ -142,6 +142,11 @@ class CHROME_DBUS_EXPORT ObjectProxy |
SignalCallback signal_callback, |
OnConnectedCallback on_connected_callback); |
+ // Sets a callback for "NameOwnerChanged" signal. The callback is called on |
+ // the origin thread when D-Bus system sends "NameOwnerChanged" for the name |
+ // represented by |service_name_|. |
+ virtual void SetNameOwnerChangedCallback(SignalCallback callback); |
+ |
// Detaches from the remote object. The Bus object will take care of |
// detaching so you don't have to do this manually. |
// |
@@ -254,7 +259,7 @@ class CHROME_DBUS_EXPORT ObjectProxy |
void UpdateNameOwnerAndBlock(); |
// Handles NameOwnerChanged signal from D-Bus's special message bus. |
- DBusHandlerResult HandleNameOwnerChanged(dbus::Signal* signal); |
+ DBusHandlerResult HandleNameOwnerChanged(scoped_ptr<dbus::Signal> signal); |
scoped_refptr<Bus> bus_; |
std::string service_name_; |
@@ -268,6 +273,9 @@ class CHROME_DBUS_EXPORT ObjectProxy |
typedef std::map<std::string, SignalCallback> MethodTable; |
MethodTable method_table_; |
+ // The callback called when NameOwnerChanged signal is received. |
+ SignalCallback name_owner_changed_callback_; |
+ |
std::set<std::string> match_rules_; |
const bool ignore_service_unknown_errors_; |