chiark / gitweb /
logind: send out PropertyChanged signals where appropriate
[elogind.git] / src / logind-user-dbus.c
index c8d47de0e7358ea9d0b058c0150038acac4fd488..623f2c9c24a044a7a659c5154c51643b3569af25 100644 (file)
@@ -353,3 +353,31 @@ finish:
 
         return r;
 }
+
+int user_send_changed(User *u, const char *properties) {
+        DBusMessage *m;
+        int r = -ENOMEM;
+        char *p = NULL;
+
+        assert(u);
+
+        p = user_bus_path(u);
+        if (!p)
+                return -ENOMEM;
+
+        m = bus_properties_changed_new(p, "org.freedesktop.login1.User", properties);
+        if (!m)
+                goto finish;
+
+        if (!dbus_connection_send(u->manager->bus, m, NULL))
+                goto finish;
+
+        r = 0;
+
+finish:
+        if (m)
+                dbus_message_unref(m);
+        free(p);
+
+        return r;
+}