| Index: dbus/object_manager.h
|
| diff --git a/dbus/object_manager.h b/dbus/object_manager.h
|
| index 266b53eb9a0ac3d140d468114701af3ecad17ba9..acc8d26668513d8cb599d40b75b2ce8d626ce657 100644
|
| --- a/dbus/object_manager.h
|
| +++ b/dbus/object_manager.h
|
| @@ -71,8 +71,9 @@
|
| // object_manager_->UnregisterInterface(kInterface);
|
| // }
|
| //
|
| -// The D-Bus thread manager takes care of issuing the necessary call to
|
| -// GetManagedObjects() after the implementation classes have been set up.
|
| +// This class calls GetManagedObjects() asynchronously after the remote service
|
| +// becomes available and additionally refreshes managed objects after the
|
| +// service stops or restarts.
|
| //
|
| // The object manager interface class has one abstract method that must be
|
| // implemented by the class to create Properties structures on demand. As well
|
| @@ -238,8 +239,14 @@ public:
|
| private:
|
| friend class base::RefCountedThreadSafe<ObjectManager>;
|
|
|
| + // Callback for ObjectProxy::WaitForServiceToBeAvailable() that refreshes
|
| + // objects when the service becomes initially available if
|
| + // |signals_are_connected_| is already true.
|
| + void OnServiceInitiallyAvailable(bool service_is_available);
|
| +
|
| // Connects the InterfacesAdded and InterfacesRemoved signals and calls
|
| - // GetManagedObjects. Called from OnSetupMatchRuleAndFilterComplete.
|
| + // GetManagedObjects if |service_initially_available_| is already true. Called
|
| + // from OnSetupMatchRuleAndFilterComplete.
|
| void InitializeObjects();
|
|
|
| // Called from the constructor to add a match rule for PropertiesChanged
|
| @@ -326,6 +333,13 @@ public:
|
| bool setup_success_;
|
| bool cleanup_called_;
|
|
|
| + // Set to true by OnServiceInitiallyAvailable() once the service becomes
|
| + // initially available.
|
| + bool service_initially_available_;
|
| +
|
| + // Set to true by InitializeObjects() once signals are connected.
|
| + bool signals_are_connected_;
|
| +
|
| // Maps the name of an interface to the implementation class used for
|
| // instantiating PropertySet structures for that interface's properties.
|
| typedef std::map<std::string, Interface*> InterfaceMap;
|
|
|