-static void server_callback(AvahiServer *s, AvahiServerState state, gpointer userdata) {
- g_message("server state: %i", state);
+static void server_callback(AvahiServer *s, AvahiServerState state, AVAHI_GCC_UNUSED void* userdata) {
+ avahi_log_debug("server state: %i", state);
+
+ if (state == AVAHI_SERVER_RUNNING) {
+ create_service("gurke");
+ avahi_server_dump(avahi, dump_line, NULL);
+ } else if (state == AVAHI_SERVER_COLLISION) {
+ char *n;
+
+ n = avahi_alternative_host_name(avahi_server_get_host_name(s));
+ avahi_log_warn("Host name conflict, retrying with <%s>", n);
+ avahi_server_set_host_name(s, n);
+ avahi_free(n);
+
+ }