summaryrefslogtreecommitdiff
path: root/dbus/object_manager.cc
diff options
context:
space:
mode:
Diffstat (limited to 'dbus/object_manager.cc')
-rw-r--r--dbus/object_manager.cc75
1 files changed, 37 insertions, 38 deletions
diff --git a/dbus/object_manager.cc b/dbus/object_manager.cc
index 178bb5ff12..08e6e048e2 100644
--- a/dbus/object_manager.cc
+++ b/dbus/object_manager.cc
@@ -167,35 +167,6 @@ void ObjectManager::CleanUp() {
match_rule_.clear();
}
-void ObjectManager::InitializeObjects() {
- DCHECK(bus_);
- DCHECK(object_proxy_);
- DCHECK(setup_success_);
-
- // |object_proxy_| is no longer valid if the Bus was shut down before this
- // call. Don't initiate any other action from the origin thread.
- if (cleanup_called_)
- return;
-
- object_proxy_->ConnectToSignal(
- kObjectManagerInterface,
- kObjectManagerInterfacesAdded,
- base::Bind(&ObjectManager::InterfacesAddedReceived,
- weak_ptr_factory_.GetWeakPtr()),
- base::Bind(&ObjectManager::InterfacesAddedConnected,
- weak_ptr_factory_.GetWeakPtr()));
-
- object_proxy_->ConnectToSignal(
- kObjectManagerInterface,
- kObjectManagerInterfacesRemoved,
- base::Bind(&ObjectManager::InterfacesRemovedReceived,
- weak_ptr_factory_.GetWeakPtr()),
- base::Bind(&ObjectManager::InterfacesRemovedConnected,
- weak_ptr_factory_.GetWeakPtr()));
-
- GetManagedObjects();
-}
-
bool ObjectManager::SetupMatchRuleAndFilter() {
DCHECK(bus_);
DCHECK(!setup_success_);
@@ -235,10 +206,39 @@ bool ObjectManager::SetupMatchRuleAndFilter() {
}
void ObjectManager::OnSetupMatchRuleAndFilterComplete(bool success) {
- LOG_IF(WARNING, !success) << service_name_ << " " << object_path_.value()
- << ": Failed to set up match rule.";
- if (success)
- InitializeObjects();
+ if (!success) {
+ LOG(WARNING) << service_name_ << " " << object_path_.value()
+ << ": Failed to set up match rule.";
+ return;
+ }
+
+ DCHECK(bus_);
+ DCHECK(object_proxy_);
+ DCHECK(setup_success_);
+
+ // |object_proxy_| is no longer valid if the Bus was shut down before this
+ // call. Don't initiate any other action from the origin thread.
+ if (cleanup_called_)
+ return;
+
+ object_proxy_->ConnectToSignal(
+ kObjectManagerInterface,
+ kObjectManagerInterfacesAdded,
+ base::Bind(&ObjectManager::InterfacesAddedReceived,
+ weak_ptr_factory_.GetWeakPtr()),
+ base::Bind(&ObjectManager::InterfacesAddedConnected,
+ weak_ptr_factory_.GetWeakPtr()));
+
+ object_proxy_->ConnectToSignal(
+ kObjectManagerInterface,
+ kObjectManagerInterfacesRemoved,
+ base::Bind(&ObjectManager::InterfacesRemovedReceived,
+ weak_ptr_factory_.GetWeakPtr()),
+ base::Bind(&ObjectManager::InterfacesRemovedConnected,
+ weak_ptr_factory_.GetWeakPtr()));
+
+ if (!service_name_owner_.empty())
+ GetManagedObjects();
}
// static
@@ -249,7 +249,7 @@ DBusHandlerResult ObjectManager::HandleMessageThunk(DBusConnection* connection,
return self->HandleMessage(connection, raw_message);
}
-DBusHandlerResult ObjectManager::HandleMessage(DBusConnection*,
+DBusHandlerResult ObjectManager::HandleMessage(DBusConnection* /*connection*/,
DBusMessage* raw_message) {
DCHECK(bus_);
bus_->AssertOnDBusThread();
@@ -385,10 +385,9 @@ void ObjectManager::InterfacesAddedReceived(Signal* signal) {
UpdateObject(object_path, &reader);
}
-void ObjectManager::InterfacesAddedConnected(
- const std::string& /*interface_name*/,
- const std::string& /*signal_name*/,
- bool success) {
+void ObjectManager::InterfacesAddedConnected(const std::string& /*interface_name*/,
+ const std::string& /*signal_name*/,
+ bool success) {
LOG_IF(WARNING, !success) << service_name_ << " " << object_path_.value()
<< ": Failed to connect to InterfacesAdded signal.";
}