| /* SPDX-License-Identifier: LGPL-2.1+ */ |
| |
| #include "alloc-util.h" |
| #include "bus-util.h" |
| #include "networkd-manager.h" |
| |
| static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_operational_state, link_operstate, LinkOperationalState); |
| |
| const sd_bus_vtable manager_vtable[] = { |
| SD_BUS_VTABLE_START(0), |
| |
| SD_BUS_PROPERTY("OperationalState", "s", property_get_operational_state, offsetof(Manager, operational_state), SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), |
| |
| SD_BUS_VTABLE_END |
| }; |
| |
| int manager_send_changed(Manager *manager, const char *property, ...) { |
| char **l; |
| |
| assert(manager); |
| |
| if (!manager->bus) |
| return 0; /* replace by assert when we have kdbus */ |
| |
| l = strv_from_stdarg_alloca(property); |
| |
| return sd_bus_emit_properties_changed_strv( |
| manager->bus, |
| "/org/freedesktop/network1", |
| "org.freedesktop.network1.Manager", |
| l); |
| } |