chiark / gitweb /
machine: make sure unpriviliged "machinectl status" can show the machine's OS version
[elogind.git] / src / machine / machine.h
index c5d52a968bc3f01e92dc88822cb4d44bad9dcee7..5c6366554a0d1c688ce1c2e5cb8e118f8d12c22a 100644 (file)
@@ -63,7 +63,7 @@ struct Machine {
         char *service;
         char *root_directory;
 
-        char *scope;
+        char *unit;
         char *scope_job;
 
         pid_t leader;
@@ -72,32 +72,41 @@ struct Machine {
 
         bool in_gc_queue:1;
         bool started:1;
+        bool registered:1;
 
-        DBusMessage *create_message;
+        sd_bus_message *create_message;
+
+        int *netif;
+        unsigned n_netif;
 
         LIST_FIELDS(Machine, gc_queue);
 };
 
 Machine* machine_new(Manager *manager, const char *name);
 void machine_free(Machine *m);
-int machine_check_gc(Machine *m, bool drop_not_started);
+bool machine_check_gc(Machine *m, bool drop_not_started);
 void machine_add_to_gc_queue(Machine *m);
-int machine_start(Machine *m, DBusMessageIter *iter);
+int machine_start(Machine *m, sd_bus_message *properties, sd_bus_error *error);
 int machine_stop(Machine *m);
 int machine_save(Machine *m);
 int machine_load(Machine *m);
 int machine_kill(Machine *m, KillWho who, int signo);
 
-char *machine_bus_path(Machine *s);
-
 MachineState machine_get_state(Machine *u);
 
-extern const DBusObjectPathVTable bus_machine_vtable;
+extern const sd_bus_vtable machine_vtable[];
 
-int machine_send_signal(Machine *m, bool new_machine);
-int machine_send_changed(Machine *m, const char *properties);
+char *machine_bus_path(Machine *s);
+int machine_object_find(sd_bus *bus, const char *path, const char *interface, void *userdata, void **found, sd_bus_error *error);
+int machine_node_enumerator(sd_bus *bus, const char *path, void *userdata, char ***nodes, sd_bus_error *error);
+
+int bus_machine_method_terminate(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error);
+int bus_machine_method_kill(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error);
+int bus_machine_method_get_addresses(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error);
+int bus_machine_method_get_os_release(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error);
 
-int machine_send_create_reply(Machine *m, DBusError *error);
+int machine_send_signal(Machine *m, bool new_machine);
+int machine_send_create_reply(Machine *m, sd_bus_error *error);
 
 const char* machine_class_to_string(MachineClass t) _const_;
 MachineClass machine_class_from_string(const char *s) _pure_;