if (r != 0)
return r;
- if (!IN_SET(machine->class, MACHINE_CONTAINER, MACHINE_VM))
+ if (!MACHINE_CLASS_CAN_REGISTER(machine->class))
return sd_varlink_error_invalid_parameter_name(link, "class");
if (manager->runtime_scope != RUNTIME_SCOPE_USER) {
_MACHINE_CLASS_INVALID = -EINVAL,
} MachineClass;
+#define MACHINE_CLASS_CAN_REGISTER(class) IN_SET((class), MACHINE_CONTAINER, MACHINE_VM)
+
typedef enum KillWhom {
KILL_LEADER,
KILL_SUPERVISOR,
assert(manager);
assert(message);
assert(name);
+ assert(c == _MACHINE_CLASS_INVALID || MACHINE_CLASS_CAN_REGISTER(c));
assert(ret);
if (leader_pidref->pid == 1)
c = _MACHINE_CLASS_INVALID;
else {
c = machine_class_from_string(class);
- if (c < 0 || !IN_SET(c, MACHINE_CONTAINER, MACHINE_VM))
+ if (c < 0 || !MACHINE_CLASS_CAN_REGISTER(c))
return sd_bus_error_set(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid machine class parameter");
}
c = _MACHINE_CLASS_INVALID;
else {
c = machine_class_from_string(class);
- if (c < 0 || !IN_SET(c, MACHINE_CONTAINER, MACHINE_VM))
+ if (c < 0 || !MACHINE_CLASS_CAN_REGISTER(c))
return sd_bus_error_set(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid machine class parameter");
}