]>
Commit | Line | Data |
---|---|---|
52ad194e | 1 | /* SPDX-License-Identifier: LGPL-2.1+ */ |
e735f4d4 | 2 | |
db2df898 | 3 | #include "alloc-util.h" |
e735f4d4 | 4 | #include "bus-util.h" |
2897b343 | 5 | #include "networkd-manager.h" |
6e866b33 | 6 | #include "strv.h" |
e735f4d4 MP |
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 | ||
23 | if (!manager->bus) | |
24 | return 0; /* replace by assert when we have kdbus */ | |
25 | ||
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 | } |