summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2019-06-10 05:15:53 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2019-06-16 09:15:00 +0900
commit46606fdda920a630e1f40f25135b7e26e4f58a0c (patch)
treefe5c315862375b70150c3c2f5079e43018613c33
parentaa3108f6b21109425e4aa2313d2a0aa14eed5674 (diff)
downloadsystemd-46606fdda920a630e1f40f25135b7e26e4f58a0c.tar.gz
network: introduce manager_send_changed_strv()
-rw-r--r--src/network/networkd-manager-bus.c19
-rw-r--r--src/network/networkd-manager.h1
2 files changed, 13 insertions, 7 deletions
diff --git a/src/network/networkd-manager-bus.c b/src/network/networkd-manager-bus.c
index 8c527837f8..e339c9ce8f 100644
--- a/src/network/networkd-manager-bus.c
+++ b/src/network/networkd-manager-bus.c
@@ -15,19 +15,24 @@ const sd_bus_vtable manager_vtable[] = {
SD_BUS_VTABLE_END
};
-int manager_send_changed(Manager *manager, const char *property, ...) {
- char **l;
-
+int manager_send_changed_strv(Manager *manager, char **properties) {
assert(manager);
+ assert(properties);
if (!manager->bus)
- return 0; /* replace by assert when we have kdbus */
-
- l = strv_from_stdarg_alloca(property);
+ return 0;
return sd_bus_emit_properties_changed_strv(
manager->bus,
"/org/freedesktop/network1",
"org.freedesktop.network1.Manager",
- l);
+ properties);
+}
+
+int manager_send_changed(Manager *manager, const char *property, ...) {
+ char **l;
+
+ l = strv_from_stdarg_alloca(property);
+
+ return manager_send_changed_strv(manager, l);
}
diff --git a/src/network/networkd-manager.h b/src/network/networkd-manager.h
index 281e9cbac4..60d3bed34f 100644
--- a/src/network/networkd-manager.h
+++ b/src/network/networkd-manager.h
@@ -83,6 +83,7 @@ int manager_rtnl_process_address(sd_netlink *nl, sd_netlink_message *message, vo
int manager_rtnl_process_route(sd_netlink *nl, sd_netlink_message *message, void *userdata);
int manager_rtnl_process_rule(sd_netlink *nl, sd_netlink_message *message, void *userdata);
+int manager_send_changed_strv(Manager *m, char **properties);
int manager_send_changed(Manager *m, const char *property, ...) _sentinel_;
void manager_dirty(Manager *m);