chiark / gitweb /
machined: fix Kill() bus call on machine objects when "what" is specified as "leader"
[elogind.git] / src / machine / machined.h
index c47a4688302294eac9b88f62ddf589090d6353a5..2dba303dfcd060bd63557c40938228e6e25e02cb 100644 (file)
@@ -40,6 +40,7 @@ struct Manager {
 
         Hashmap *machines;
         Hashmap *machine_units;
+        Hashmap *machine_leaders;
 
         LIST_HEAD(Machine, machine_gc_queue);
 };
@@ -48,7 +49,6 @@ Manager *manager_new(void);
 void manager_free(Manager *m);
 
 int manager_add_machine(Manager *m, const char *name, Machine **_machine);
-
 int manager_enumerate_machines(Manager *m);
 
 int manager_startup(Manager *m);
@@ -60,15 +60,13 @@ int manager_get_machine_by_pid(Manager *m, pid_t pid, Machine **machine);
 
 extern const sd_bus_vtable manager_vtable[];
 
-int machine_node_enumerator(sd_bus *bus, const char *path, char ***nodes, void *userdata);
-
-int match_reloading(sd_bus *bus, sd_bus_message *message, void *userdata);
-int match_unit_removed(sd_bus *bus, sd_bus_message *message, void *userdata);
-int match_properties_changed(sd_bus *bus, sd_bus_message *message, void *userdata);
-int match_job_removed(sd_bus *bus, sd_bus_message *message, void *userdata);
+int match_reloading(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error);
+int match_unit_removed(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error);
+int match_properties_changed(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error);
+int match_job_removed(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error);
 
 int manager_start_scope(Manager *manager, const char *scope, pid_t pid, const char *slice, const char *description, sd_bus_message *more_properties, sd_bus_error *error, char **job);
 int manager_stop_unit(Manager *manager, const char *unit, sd_bus_error *error, char **job);
-int manager_kill_unit(Manager *manager, const char *unit, KillWho who, int signo, sd_bus_error *error);
+int manager_kill_unit(Manager *manager, const char *unit, int signo, sd_bus_error *error);
 int manager_unit_is_active(Manager *manager, const char *unit);
 int manager_job_is_active(Manager *manager, const char *path);