chiark / gitweb /
bus: decorate the various object vtables with SD_BUS_VTABLE_PROPERTY_CONST where...
[elogind.git] / src / core / dbus-snapshot.c
index a4ba588a1d88004145996ceed0ebd683b5764f5e..053e35cc06ed55b70e1f8a858e7bcb20d5ba596c 100644 (file)
 #include "dbus-unit.h"
 #include "dbus-snapshot.h"
 
-int bus_snapshot_method_remove(sd_bus *bus, sd_bus_message *message, void *userdata) {
+int bus_snapshot_method_remove(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error) {
         Snapshot *s = userdata;
+        int r;
 
         assert(bus);
         assert(message);
         assert(s);
 
-        SELINUX_UNIT_ACCESS_CHECK(UNIT(s), bus, message, "stop");
+        r = selinux_unit_access_check(UNIT(s), bus, message, "stop", error);
+        if (r < 0)
+                return r;
 
         snapshot_remove(s);
 
-        return sd_bus_reply_method_return(bus, message, NULL);
+        return sd_bus_reply_method_return(message, NULL);
 }
 
 const sd_bus_vtable bus_snapshot_vtable[] = {
         SD_BUS_VTABLE_START(0),
         SD_BUS_METHOD("Remove", NULL, NULL, bus_snapshot_method_remove, 0),
-        SD_BUS_PROPERTY("Cleanup", "b", bus_property_get_bool, offsetof(Snapshot, cleanup), 0),
+        SD_BUS_PROPERTY("Cleanup", "b", bus_property_get_bool, offsetof(Snapshot, cleanup), SD_BUS_VTABLE_PROPERTY_CONST),
         SD_BUS_VTABLE_END
 };