From 8f02a455414a986c3616c37df103d586b888708c Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 22 Aug 2006 01:49:25 +0000 Subject: add new D-Bus API function SetHostName to change the host name of the running avahi daemon git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1260 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe --- avahi-daemon/Server.introspect | 3 +++ avahi-daemon/dbus-protocol.c | 17 ++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/avahi-daemon/Server.introspect b/avahi-daemon/Server.introspect index 6635618..9d743ba 100644 --- a/avahi-daemon/Server.introspect +++ b/avahi-daemon/Server.introspect @@ -44,6 +44,9 @@ + + + diff --git a/avahi-daemon/dbus-protocol.c b/avahi-daemon/dbus-protocol.c index 55fe3e4..4fb58d2 100644 --- a/avahi-daemon/dbus-protocol.c +++ b/avahi-daemon/dbus-protocol.c @@ -43,7 +43,6 @@ #include #include #include -#include #include #include #include @@ -265,6 +264,22 @@ static DBusHandlerResult msg_server_impl(DBusConnection *c, DBusMessage *m, AVAH return avahi_dbus_respond_string(c, m, avahi_server_get_host_name(avahi_server)); + } else if (dbus_message_is_method_call(m, AVAHI_DBUS_INTERFACE_SERVER, "SetHostName")) { + + char *name; + + if (!dbus_message_get_args(m, &error, DBUS_TYPE_STRING, &name, DBUS_TYPE_INVALID)) { + avahi_log_warn("Error parsing Server::SetHostName message"); + goto fail; + } + + if (avahi_server_set_host_name(avahi_server, name) < 0) + return avahi_dbus_respond_error(c, m, avahi_server_errno(avahi_server), NULL); + + avahi_log_info("Changing host name to '%s'.", name); + + return avahi_dbus_respond_ok(c, m); + } else if (dbus_message_is_method_call(m, AVAHI_DBUS_INTERFACE_SERVER, "GetDomainName")) { if (!dbus_message_get_args(m, &error, DBUS_TYPE_INVALID)) { -- cgit