summaryrefslogtreecommitdiffstats
path: root/dbus/test_service.cc
diff options
context:
space:
mode:
Diffstat (limited to 'dbus/test_service.cc')
-rw-r--r--dbus/test_service.cc17
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) {