1 /* SPDX-License-Identifier: LGPL-2.1+ */
12 typedef struct Manager Manager
;
14 #include "image-dbus.h"
15 #include "machine-dbus.h"
17 #include "operation.h"
24 Hashmap
*machine_units
;
25 Hashmap
*machine_leaders
;
27 Hashmap
*polkit_registry
;
30 sd_event_source
*image_cache_defer_event
;
32 LIST_HEAD(Machine
, machine_gc_queue
);
34 Machine
*host_machine
;
36 LIST_HEAD(Operation
, operations
);
37 unsigned n_operations
;
39 sd_event_source
*nscd_cache_flush_event
;
42 int manager_add_machine(Manager
*m
, const char *name
, Machine
**_machine
);
43 int manager_get_machine_by_pid(Manager
*m
, pid_t pid
, Machine
**machine
);
45 extern const sd_bus_vtable manager_vtable
[];
47 int match_reloading(sd_bus_message
*message
, void *userdata
, sd_bus_error
*error
);
48 int match_unit_removed(sd_bus_message
*message
, void *userdata
, sd_bus_error
*error
);
49 int match_properties_changed(sd_bus_message
*message
, void *userdata
, sd_bus_error
*error
);
50 int match_job_removed(sd_bus_message
*message
, void *userdata
, sd_bus_error
*error
);
52 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
);
53 int manager_stop_unit(Manager
*manager
, const char *unit
, sd_bus_error
*error
, char **job
);
54 int manager_kill_unit(Manager
*manager
, const char *unit
, int signo
, sd_bus_error
*error
);
55 int manager_unref_unit(Manager
*m
, const char *unit
, sd_bus_error
*error
);
56 int manager_unit_is_active(Manager
*manager
, const char *unit
);
57 int manager_job_is_active(Manager
*manager
, const char *path
);
59 int manager_enqueue_nscd_cache_flush(Manager
*m
);