diff options
Diffstat (limited to 'dbus/test_service.cc')
-rw-r--r-- | dbus/test_service.cc | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/dbus/test_service.cc b/dbus/test_service.cc index 96fa8bc..c976c37 100644 --- a/dbus/test_service.cc +++ b/dbus/test_service.cc @@ -24,7 +24,7 @@ void EmptyCallback(bool /* success */) { namespace dbus { // Echo, SlowEcho, AsyncEcho, BrokenMethod, GetAll, Get, Set, PerformAction, -// GetManagedObjects. +// GetManagedObjects const int TestService::kNumMethodsToExport = 9; TestService::Options::Options() @@ -160,6 +160,10 @@ void TestService::ReleaseOwnershipInternal( callback); } +void TestService::SetSendImmediatePropertiesChanged() { + send_immediate_properties_changed_ = true; +} + void TestService::OnExported(const std::string& interface_name, const std::string& method_name, bool success) { @@ -471,11 +475,13 @@ void TestService::PerformAction( return; } - if (action == "AddObject") + if (action == "AddObject") { AddObject(object_path); - else if (action == "RemoveObject") + } else if (action == "RemoveObject") { RemoveObject(object_path); - else if (action == "ReleaseOwnership") { + } else if (action == "SetSendImmediatePropertiesChanged") { + SetSendImmediatePropertiesChanged(); + } if (action == "ReleaseOwnership") { ReleaseOwnership(base::Bind(&TestService::PerformActionResponse, base::Unretained(this), method_call, response_sender)); @@ -556,6 +562,9 @@ void TestService::GetManagedObjects( writer.CloseContainer(&array_writer); response_sender.Run(response.Pass()); + + if (send_immediate_properties_changed_) + SendPropertyChangedSignal("ChangedTestServiceName"); } void TestService::AddPropertiesToWriter(MessageWriter* writer) { |