mirror of
https://github.com/systemd/systemd.git
synced 2024-10-28 03:25:31 +03:00
core/serialization: drop misleadingly-named unit_can_serialize()
All unit types can be serialized. This function was really checking whether the unit type has custom serialization/deserialization code. But we don't need a function for this. Also, the check that both .serialize() and .deserialize_item() are defined is better written as an assert. Not we have a function which would skip serialization/deserializaton for the unit if we forgot to set either of the fields.
This commit is contained in:
parent
fe50aae5e1
commit
1085c0eb69
@ -108,7 +108,9 @@ int unit_serialize(Unit *u, FILE *f, FDSet *fds, bool switching_root) {
|
||||
fputs(u->id, f);
|
||||
fputc('\n', f);
|
||||
|
||||
if (unit_can_serialize(u)) {
|
||||
assert(!!UNIT_VTABLE(u)->serialize == !!UNIT_VTABLE(u)->deserialize_item);
|
||||
|
||||
if (UNIT_VTABLE(u)->serialize) {
|
||||
r = UNIT_VTABLE(u)->serialize(u, f, fds);
|
||||
if (r < 0)
|
||||
return r;
|
||||
@ -506,7 +508,7 @@ int unit_deserialize(Unit *u, FILE *f, FDSet *fds) {
|
||||
/* Returns positive if key was handled by the call */
|
||||
continue;
|
||||
|
||||
if (unit_can_serialize(u)) {
|
||||
if (UNIT_VTABLE(u)->deserialize_item) {
|
||||
r = UNIT_VTABLE(u)->deserialize_item(u, l, v, fds);
|
||||
if (r < 0)
|
||||
log_unit_warning(u, "Failed to deserialize unit parameter '%s', ignoring.", l);
|
||||
|
@ -3488,12 +3488,6 @@ void unit_unwatch_bus_name(Unit *u, const char *name) {
|
||||
u->get_name_owner_slot = sd_bus_slot_unref(u->get_name_owner_slot);
|
||||
}
|
||||
|
||||
bool unit_can_serialize(Unit *u) {
|
||||
assert(u);
|
||||
|
||||
return UNIT_VTABLE(u)->serialize && UNIT_VTABLE(u)->deserialize_item;
|
||||
}
|
||||
|
||||
int unit_add_node_dependency(Unit *u, const char *what, UnitDependency dep, UnitDependencyMask mask) {
|
||||
_cleanup_free_ char *e = NULL;
|
||||
Unit *device;
|
||||
|
@ -814,8 +814,6 @@ char *unit_dbus_path_invocation_id(Unit *u);
|
||||
|
||||
int unit_load_related_unit(Unit *u, const char *type, Unit **_found);
|
||||
|
||||
bool unit_can_serialize(Unit *u) _pure_;
|
||||
|
||||
int unit_add_node_dependency(Unit *u, const char *what, UnitDependency d, UnitDependencyMask mask);
|
||||
int unit_add_blockdev_dependency(Unit *u, const char *what, UnitDependencyMask mask);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user