]>
Commit | Line | Data |
---|---|---|
53e1b683 | 1 | /* SPDX-License-Identifier: LGPL-2.1+ */ |
e331e246 | 2 | |
b5efdb8a | 3 | #include "alloc-util.h" |
e331e246 | 4 | #include "bus-util.h" |
23f53b99 | 5 | #include "networkd-manager.h" |
51517f9e | 6 | #include "strv.h" |
e331e246 TG |
7 | |
8 | static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_operational_state, link_operstate, LinkOperationalState); | |
9 | ||
10 | const sd_bus_vtable manager_vtable[] = { | |
11 | SD_BUS_VTABLE_START(0), | |
12 | ||
13 | SD_BUS_PROPERTY("OperationalState", "s", property_get_operational_state, offsetof(Manager, operational_state), SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), | |
14 | ||
15 | SD_BUS_VTABLE_END | |
16 | }; | |
17 | ||
18 | int manager_send_changed(Manager *manager, const char *property, ...) { | |
19 | char **l; | |
20 | ||
21 | assert(manager); | |
22 | ||
4852e159 TG |
23 | if (!manager->bus) |
24 | return 0; /* replace by assert when we have kdbus */ | |
25 | ||
e331e246 TG |
26 | l = strv_from_stdarg_alloca(property); |
27 | ||
28 | return sd_bus_emit_properties_changed_strv( | |
29 | manager->bus, | |
30 | "/org/freedesktop/network1", | |
31 | "org.freedesktop.network1.Manager", | |
32 | l); | |
33 | } |