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