summaryrefslogtreecommitdiff
path: root/src/resolve
diff options
context:
space:
mode:
authorDaan De Meyer <daan.j.demeyer@gmail.com>2020-04-28 19:04:33 +0200
committerLennart Poettering <lennart@poettering.net>2020-05-06 10:22:54 +0200
commiteff7c2d3c905dec9ea4e1d5e53a0efd6af7d3d26 (patch)
tree6d6859b1c5f04233d418da8ba26de65c924e3ac1 /src/resolve
parent7f3a5eb70e476708551445219f7aceb7afc0a4a0 (diff)
downloadsystemd-eff7c2d3c905dec9ea4e1d5e53a0efd6af7d3d26.tar.gz
sd-bus: Add a nicer way of specifying sd-bus vtable method arguments
SD_BUS_NAMES_WITH_ARGS is a less error-prone way of specifying D-Bus method arguments.
Diffstat (limited to 'src/resolve')
-rw-r--r--src/resolve/resolved-bus.c267
-rw-r--r--src/resolve/resolved-link-bus.c95
2 files changed, 156 insertions, 206 deletions
diff --git a/src/resolve/resolved-bus.c b/src/resolve/resolved-bus.c
index a06e9bcf7d..37b9863862 100644
--- a/src/resolve/resolved-bus.c
+++ b/src/resolve/resolved-bus.c
@@ -1855,162 +1855,117 @@ static const sd_bus_vtable resolve_vtable[] = {
SD_BUS_PROPERTY("DNSSECNegativeTrustAnchors", "as", bus_property_get_ntas, 0, 0),
SD_BUS_PROPERTY("DNSStubListener", "s", bus_property_get_dns_stub_listener_mode, offsetof(Manager, dns_stub_listener_mode), 0),
- SD_BUS_METHOD_WITH_NAMES("ResolveHostname",
- "isit",
- SD_BUS_PARAM(ifindex)
- SD_BUS_PARAM(name)
- SD_BUS_PARAM(family)
- SD_BUS_PARAM(flags),
- "a(iiay)st",
- SD_BUS_PARAM(addresses)
- SD_BUS_PARAM(canonical)
- SD_BUS_PARAM(flags),
- bus_method_resolve_hostname,
- SD_BUS_VTABLE_UNPRIVILEGED),
- SD_BUS_METHOD_WITH_NAMES("ResolveAddress",
- "iiayt",
- SD_BUS_PARAM(ifindex)
- SD_BUS_PARAM(family)
- SD_BUS_PARAM(address)
- SD_BUS_PARAM(flags),
- "a(is)t",
- SD_BUS_PARAM(names)
- SD_BUS_PARAM(flags),
- bus_method_resolve_address,
- SD_BUS_VTABLE_UNPRIVILEGED),
- SD_BUS_METHOD_WITH_NAMES("ResolveRecord",
- "isqqt",
- SD_BUS_PARAM(ifindex)
- SD_BUS_PARAM(name)
- SD_BUS_PARAM(class)
- SD_BUS_PARAM(type)
- SD_BUS_PARAM(flags),
- "a(iqqay)t",
- SD_BUS_PARAM(records)
- SD_BUS_PARAM(flags),
- bus_method_resolve_record,
- SD_BUS_VTABLE_UNPRIVILEGED),
- SD_BUS_METHOD_WITH_NAMES("ResolveService",
- "isssit",
- SD_BUS_PARAM(ifindex)
- SD_BUS_PARAM(name)
- SD_BUS_PARAM(type)
- SD_BUS_PARAM(domain)
- SD_BUS_PARAM(family)
- SD_BUS_PARAM(flags),
- "a(qqqsa(iiay)s)aayssst",
- SD_BUS_PARAM(srv_data)
- SD_BUS_PARAM(txt_data)
- SD_BUS_PARAM(canonical_name)
- SD_BUS_PARAM(canonical_type)
- SD_BUS_PARAM(canonical_domain)
- SD_BUS_PARAM(flags),
- bus_method_resolve_service,
- SD_BUS_VTABLE_UNPRIVILEGED),
- SD_BUS_METHOD_WITH_NAMES("GetLink",
- "i",
- SD_BUS_PARAM(ifindex),
- "o",
- SD_BUS_PARAM(path),
- bus_method_get_link,
- SD_BUS_VTABLE_UNPRIVILEGED),
- SD_BUS_METHOD_WITH_NAMES("SetLinkDNS",
- "ia(iay)",
- SD_BUS_PARAM(ifindex)
- SD_BUS_PARAM(addresses),
- NULL,,
- bus_method_set_link_dns_servers,
- SD_BUS_VTABLE_UNPRIVILEGED),
- SD_BUS_METHOD_WITH_NAMES("SetLinkDomains",
- "ia(sb)",
- SD_BUS_PARAM(ifindex)
- SD_BUS_PARAM(domains),
- NULL,,
- bus_method_set_link_domains,
- SD_BUS_VTABLE_UNPRIVILEGED),
- SD_BUS_METHOD_WITH_NAMES("SetLinkDefaultRoute",
- "ib",
- SD_BUS_PARAM(ifindex)
- SD_BUS_PARAM(enable),
- NULL,,
- bus_method_set_link_default_route,
- SD_BUS_VTABLE_UNPRIVILEGED),
- SD_BUS_METHOD_WITH_NAMES("SetLinkLLMNR",
- "is",
- SD_BUS_PARAM(ifindex)
- SD_BUS_PARAM(mode),
- NULL,,
- bus_method_set_link_llmnr,
- SD_BUS_VTABLE_UNPRIVILEGED),
- SD_BUS_METHOD_WITH_NAMES("SetLinkMulticastDNS",
- "is",
- SD_BUS_PARAM(ifindex)
- SD_BUS_PARAM(mode),
- NULL,,
- bus_method_set_link_mdns,
- SD_BUS_VTABLE_UNPRIVILEGED),
- SD_BUS_METHOD_WITH_NAMES("SetLinkDNSOverTLS",
- "is",
- SD_BUS_PARAM(ifindex)
- SD_BUS_PARAM(mode),
- NULL,,
- bus_method_set_link_dns_over_tls,
- SD_BUS_VTABLE_UNPRIVILEGED),
- SD_BUS_METHOD_WITH_NAMES("SetLinkDNSSEC",
- "is",
- SD_BUS_PARAM(ifindex)
- SD_BUS_PARAM(mode),
- NULL,,
- bus_method_set_link_dnssec,
- SD_BUS_VTABLE_UNPRIVILEGED),
- SD_BUS_METHOD_WITH_NAMES("SetLinkDNSSECNegativeTrustAnchors",
- "ias",
- SD_BUS_PARAM(ifindex)
- SD_BUS_PARAM(names),
- NULL,,
- bus_method_set_link_dnssec_negative_trust_anchors,
- SD_BUS_VTABLE_UNPRIVILEGED),
- SD_BUS_METHOD_WITH_NAMES("RevertLink",
- "i",
- SD_BUS_PARAM(ifindex),
- NULL,,
- bus_method_revert_link,
- SD_BUS_VTABLE_UNPRIVILEGED),
- SD_BUS_METHOD_WITH_NAMES("RegisterService",
- "sssqqqaa{say}",
- SD_BUS_PARAM(name)
- SD_BUS_PARAM(name_template)
- SD_BUS_PARAM(type)
- SD_BUS_PARAM(service_port)
- SD_BUS_PARAM(service_priority)
- SD_BUS_PARAM(serwise_weight)
- SD_BUS_PARAM(txt_datas),
- "o",
- SD_BUS_PARAM(service_path),
- bus_method_register_service,
- SD_BUS_VTABLE_UNPRIVILEGED),
- SD_BUS_METHOD_WITH_NAMES("UnregisterService",
- "o",
- SD_BUS_PARAM(service_path),
- NULL,,
- bus_method_unregister_service,
- SD_BUS_VTABLE_UNPRIVILEGED),
-
- SD_BUS_METHOD("ResetStatistics",
- NULL,
- NULL,
- bus_method_reset_statistics,
- SD_BUS_VTABLE_UNPRIVILEGED),
- SD_BUS_METHOD("FlushCaches",
- NULL,
- NULL,
- bus_method_flush_caches,
- SD_BUS_VTABLE_UNPRIVILEGED),
- SD_BUS_METHOD("ResetServerFeatures",
- NULL,
- NULL,
- bus_method_reset_server_features,
- SD_BUS_VTABLE_UNPRIVILEGED),
+ SD_BUS_METHOD_WITH_ARGS("ResolveHostname",
+ SD_BUS_ARGS("i", ifindex, "s", name, "i", family, "t", flags),
+ SD_BUS_RESULT("a(iiay)", addresses, "s", canonical, "t", flags),
+ bus_method_resolve_hostname,
+ SD_BUS_VTABLE_UNPRIVILEGED),
+ SD_BUS_METHOD_WITH_ARGS("ResolveAddress",
+ SD_BUS_ARGS("i", ifindex, "i", family, "ay", address, "t", flags),
+ SD_BUS_RESULT("a(is)", names, "t", flags),
+ bus_method_resolve_address,
+ SD_BUS_VTABLE_UNPRIVILEGED),
+ SD_BUS_METHOD_WITH_ARGS("ResolveRecord",
+ SD_BUS_ARGS("i", ifindex, "s", name, "q", class, "q", type, "t", flags),
+ SD_BUS_RESULT("a(iqqay)", records, "t", flags),
+ bus_method_resolve_record,
+ SD_BUS_VTABLE_UNPRIVILEGED),
+ SD_BUS_METHOD_WITH_ARGS("ResolveService",
+ SD_BUS_ARGS("i", ifindex,
+ "s", name,
+ "s", type,
+ "s", domain,
+ "i", family,
+ "t", flags),
+ SD_BUS_RESULT("a(qqqsa(iiay)s)", srv_data,
+ "aay", txt_data,
+ "s", canonical_name,
+ "s", canonical_type,
+ "s", canonical_domain,
+ "t", flags),
+ bus_method_resolve_service,
+ SD_BUS_VTABLE_UNPRIVILEGED),
+ SD_BUS_METHOD_WITH_ARGS("GetLink",
+ SD_BUS_ARGS("i", ifindex),
+ SD_BUS_RESULT("o", path),
+ bus_method_get_link,
+ SD_BUS_VTABLE_UNPRIVILEGED),
+ SD_BUS_METHOD_WITH_ARGS("SetLinkDNS",
+ SD_BUS_ARGS("i", ifindex, "a(iay)", addresses),
+ SD_BUS_NO_RESULT,
+ bus_method_set_link_dns_servers,
+ SD_BUS_VTABLE_UNPRIVILEGED),
+ SD_BUS_METHOD_WITH_ARGS("SetLinkDomains",
+ SD_BUS_ARGS("i", ifindex, "a(sb)", domains),
+ SD_BUS_NO_RESULT,
+ bus_method_set_link_domains,
+ SD_BUS_VTABLE_UNPRIVILEGED),
+ SD_BUS_METHOD_WITH_ARGS("SetLinkDefaultRoute",
+ SD_BUS_ARGS("i", ifindex, "b", enable),
+ SD_BUS_NO_RESULT,
+ bus_method_set_link_default_route,
+ SD_BUS_VTABLE_UNPRIVILEGED),
+ SD_BUS_METHOD_WITH_ARGS("SetLinkLLMNR",
+ SD_BUS_ARGS("i", ifindex, "s", mode),
+ SD_BUS_NO_RESULT,
+ bus_method_set_link_llmnr,
+ SD_BUS_VTABLE_UNPRIVILEGED),
+ SD_BUS_METHOD_WITH_ARGS("SetLinkMulticastDNS",
+ SD_BUS_ARGS("i", ifindex, "s", mode),
+ SD_BUS_NO_RESULT,
+ bus_method_set_link_mdns,
+ SD_BUS_VTABLE_UNPRIVILEGED),
+ SD_BUS_METHOD_WITH_ARGS("SetLinkDNSOverTLS",
+ SD_BUS_ARGS("i", ifindex, "s", mode),
+ SD_BUS_NO_RESULT,
+ bus_method_set_link_dns_over_tls,
+ SD_BUS_VTABLE_UNPRIVILEGED),
+ SD_BUS_METHOD_WITH_ARGS("SetLinkDNSSEC",
+ SD_BUS_ARGS("i", ifindex, "s", mode),
+ SD_BUS_NO_RESULT,
+ bus_method_set_link_dnssec,
+ SD_BUS_VTABLE_UNPRIVILEGED),
+ SD_BUS_METHOD_WITH_ARGS("SetLinkDNSSECNegativeTrustAnchors",
+ SD_BUS_ARGS("i", ifindex, "as", names),
+ SD_BUS_NO_RESULT,
+ bus_method_set_link_dnssec_negative_trust_anchors,
+ SD_BUS_VTABLE_UNPRIVILEGED),
+ SD_BUS_METHOD_WITH_ARGS("RevertLink",
+ SD_BUS_ARGS("i", ifindex),
+ SD_BUS_NO_RESULT,
+ bus_method_revert_link,
+ SD_BUS_VTABLE_UNPRIVILEGED),
+ SD_BUS_METHOD_WITH_ARGS("RegisterService",
+ SD_BUS_ARGS("s", name,
+ "s", name_template,
+ "s", type,
+ "q", service_port,
+ "q", service_priority,
+ "q", service_weight,
+ "a{say}", txt_datas),
+ SD_BUS_RESULT("o", service_path),
+ bus_method_register_service,
+ SD_BUS_VTABLE_UNPRIVILEGED),
+ SD_BUS_METHOD_WITH_ARGS("UnregisterService",
+ SD_BUS_ARGS("o", service_path),
+ SD_BUS_NO_RESULT,
+ bus_method_unregister_service,
+ SD_BUS_VTABLE_UNPRIVILEGED),
+ SD_BUS_METHOD_WITH_ARGS("ResetStatistics",
+ SD_BUS_NO_ARGS,
+ SD_BUS_NO_RESULT,
+ bus_method_reset_statistics,
+ SD_BUS_VTABLE_UNPRIVILEGED),
+ SD_BUS_METHOD_WITH_ARGS("FlushCaches",
+ SD_BUS_NO_ARGS,
+ SD_BUS_NO_RESULT,
+ bus_method_flush_caches,
+ SD_BUS_VTABLE_UNPRIVILEGED),
+ SD_BUS_METHOD_WITH_ARGS("ResetServerFeatures",
+ SD_BUS_NO_ARGS,
+ SD_BUS_NO_RESULT,
+ bus_method_reset_server_features,
+ SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_VTABLE_END,
};
diff --git a/src/resolve/resolved-link-bus.c b/src/resolve/resolved-link-bus.c
index a2d61f398d..d9b6d2c88d 100644
--- a/src/resolve/resolved-link-bus.c
+++ b/src/resolve/resolved-link-bus.c
@@ -697,56 +697,51 @@ const sd_bus_vtable link_vtable[] = {
SD_BUS_PROPERTY("DNSSECNegativeTrustAnchors", "as", property_get_ntas, 0, 0),
SD_BUS_PROPERTY("DNSSECSupported", "b", property_get_dnssec_supported, 0, 0),
- SD_BUS_METHOD_WITH_NAMES("SetDNS",
- "a(iay)",
- SD_BUS_PARAM(addresses),
- NULL,,
- bus_link_method_set_dns_servers,
- SD_BUS_VTABLE_UNPRIVILEGED),
- SD_BUS_METHOD_WITH_NAMES("SetDomains",
- "a(sb)",
- SD_BUS_PARAM(domains),
- NULL,,
- bus_link_method_set_domains,
- SD_BUS_VTABLE_UNPRIVILEGED),
- SD_BUS_METHOD_WITH_NAMES("SetDefaultRoute",
- "b",
- SD_BUS_PARAM(enable),
- NULL,,
- bus_link_method_set_default_route,
- SD_BUS_VTABLE_UNPRIVILEGED),
- SD_BUS_METHOD_WITH_NAMES("SetLLMNR",
- "s",
- SD_BUS_PARAM(mode),
- NULL,,
- bus_link_method_set_llmnr,
- SD_BUS_VTABLE_UNPRIVILEGED),
- SD_BUS_METHOD_WITH_NAMES("SetMulticastDNS",
- "s",
- SD_BUS_PARAM(mode),
- NULL,,
- bus_link_method_set_mdns,
- SD_BUS_VTABLE_UNPRIVILEGED),
- SD_BUS_METHOD_WITH_NAMES("SetDNSOverTLS",
- "s",
- SD_BUS_PARAM(mode),
- NULL,,
- bus_link_method_set_dns_over_tls,
- SD_BUS_VTABLE_UNPRIVILEGED),
- SD_BUS_METHOD_WITH_NAMES("SetDNSSEC",
- "s",
- SD_BUS_PARAM(mode),
- NULL,,
- bus_link_method_set_dnssec,
- SD_BUS_VTABLE_UNPRIVILEGED),
- SD_BUS_METHOD_WITH_NAMES("SetDNSSECNegativeTrustAnchors",
- "as",
- SD_BUS_PARAM(names),
- NULL,,
- bus_link_method_set_dnssec_negative_trust_anchors,
- SD_BUS_VTABLE_UNPRIVILEGED),
-
- SD_BUS_METHOD("Revert", NULL, NULL, bus_link_method_revert, SD_BUS_VTABLE_UNPRIVILEGED),
+ SD_BUS_METHOD_WITH_ARGS("SetDNS",
+ SD_BUS_ARGS("a(iay)", addresses),
+ SD_BUS_NO_RESULT,
+ bus_link_method_set_dns_servers,
+ SD_BUS_VTABLE_UNPRIVILEGED),
+ SD_BUS_METHOD_WITH_ARGS("SetDomains",
+ SD_BUS_ARGS("a(sb)", domains),
+ SD_BUS_NO_RESULT,
+ bus_link_method_set_domains,
+ SD_BUS_VTABLE_UNPRIVILEGED),
+ SD_BUS_METHOD_WITH_ARGS("SetDefaultRoute",
+ SD_BUS_ARGS("b", enable),
+ SD_BUS_NO_RESULT,
+ bus_link_method_set_default_route,
+ SD_BUS_VTABLE_UNPRIVILEGED),
+ SD_BUS_METHOD_WITH_ARGS("SetLLMNR",
+ SD_BUS_ARGS("s", mode),
+ SD_BUS_NO_RESULT,
+ bus_link_method_set_llmnr,
+ SD_BUS_VTABLE_UNPRIVILEGED),
+ SD_BUS_METHOD_WITH_ARGS("SetMulticastDNS",
+ SD_BUS_ARGS("s", mode),
+ SD_BUS_NO_RESULT,
+ bus_link_method_set_mdns,
+ SD_BUS_VTABLE_UNPRIVILEGED),
+ SD_BUS_METHOD_WITH_ARGS("SetDNSOverTLS",
+ SD_BUS_ARGS("s", mode),
+ SD_BUS_NO_RESULT,
+ bus_link_method_set_dns_over_tls,
+ SD_BUS_VTABLE_UNPRIVILEGED),
+ SD_BUS_METHOD_WITH_ARGS("SetDNSSEC",
+ SD_BUS_ARGS("s", mode),
+ SD_BUS_NO_RESULT,
+ bus_link_method_set_dnssec,
+ SD_BUS_VTABLE_UNPRIVILEGED),
+ SD_BUS_METHOD_WITH_ARGS("SetDNSSECNegativeTrustAnchors",
+ SD_BUS_ARGS("as", names),
+ SD_BUS_NO_RESULT,
+ bus_link_method_set_dnssec_negative_trust_anchors,
+ SD_BUS_VTABLE_UNPRIVILEGED),
+ SD_BUS_METHOD_WITH_ARGS("Revert",
+ SD_BUS_NO_ARGS,
+ SD_BUS_NO_RESULT,
+ bus_link_method_revert,
+ SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_VTABLE_END
};