| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "dbus/bus.h" | 5 #include "dbus/bus.h" | 
| 6 | 6 | 
| 7 #include "base/bind.h" | 7 #include "base/bind.h" | 
| 8 #include "base/logging.h" | 8 #include "base/logging.h" | 
| 9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" | 
| 10 #include "base/metrics/histogram.h" | 10 #include "base/metrics/histogram.h" | 
| (...skipping 594 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 605                << error.name() << ": " << error.message(); | 605                << error.name() << ": " << error.message(); | 
| 606     return false; | 606     return false; | 
| 607   } | 607   } | 
| 608   // Store the match rule, so that we can remove this in Detach(). | 608   // Store the match rule, so that we can remove this in Detach(). | 
| 609   match_rules_.insert(match_rule); | 609   match_rules_.insert(match_rule); | 
| 610   return true; | 610   return true; | 
| 611 } | 611 } | 
| 612 | 612 | 
| 613 void ObjectProxy::UpdateNameOwnerAndBlock() { | 613 void ObjectProxy::UpdateNameOwnerAndBlock() { | 
| 614   bus_->AssertOnDBusThread(); | 614   bus_->AssertOnDBusThread(); | 
|  | 615   // Errors should be suppressed here, as the service may not be yet running | 
|  | 616   // when connecting to signals of the service, which is just fine. | 
|  | 617   // The ObjectProxy will be notified when the service is launched via | 
|  | 618   // NameOwnerChanged signal. See also comments in ConnectToSignalInternal(). | 
| 615   service_name_owner_ = | 619   service_name_owner_ = | 
| 616       bus_->GetServiceOwnerAndBlock(service_name_, Bus::REPORT_ERRORS); | 620       bus_->GetServiceOwnerAndBlock(service_name_, Bus::SUPPRESS_ERRORS); | 
| 617 } | 621 } | 
| 618 | 622 | 
| 619 DBusHandlerResult ObjectProxy::HandleNameOwnerChanged( | 623 DBusHandlerResult ObjectProxy::HandleNameOwnerChanged( | 
| 620     scoped_ptr<Signal> signal) { | 624     scoped_ptr<Signal> signal) { | 
| 621   DCHECK(signal); | 625   DCHECK(signal); | 
| 622   bus_->AssertOnDBusThread(); | 626   bus_->AssertOnDBusThread(); | 
| 623 | 627 | 
| 624   // Confirm the validity of the NameOwnerChanged signal. | 628   // Confirm the validity of the NameOwnerChanged signal. | 
| 625   if (signal->GetMember() == kNameOwnerChangedMember && | 629   if (signal->GetMember() == kNameOwnerChangedMember && | 
| 626       signal->GetInterface() == kDBusSystemObjectInterface && | 630       signal->GetInterface() == kDBusSystemObjectInterface && | 
| (...skipping 19 matching lines...) Expand all  Loading... | 
| 646       } | 650       } | 
| 647     } | 651     } | 
| 648   } | 652   } | 
| 649 | 653 | 
| 650   // Always return unhandled to let other object proxies handle the same | 654   // Always return unhandled to let other object proxies handle the same | 
| 651   // signal. | 655   // signal. | 
| 652   return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; | 656   return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; | 
| 653 } | 657 } | 
| 654 | 658 | 
| 655 }  // namespace dbus | 659 }  // namespace dbus | 
| OLD | NEW | 
|---|