+static const char *map_browse_signal_name(AvahiBrowserEvent e) {
+ switch (e) {
+ case AVAHI_BROWSER_NEW : return "ItemNew";
+ case AVAHI_BROWSER_REMOVE : return "ItemRemove";
+ case AVAHI_BROWSER_FAILURE : return "Failure";
+ case AVAHI_BROWSER_NOT_FOUND : return "NotFound";
+ case AVAHI_BROWSER_CACHE_EXHAUSTED : return "CacheExhausted";
+ case AVAHI_BROWSER_ALL_FOR_NOW : return "AllForNow";
+ }
+
+ abort();
+}
+
+static const char *map_resolve_signal_name(AvahiResolverEvent e) {
+ switch (e) {
+ case AVAHI_RESOLVER_FOUND : return "Found";
+ case AVAHI_RESOLVER_TIMEOUT : return "Timeout";
+ case AVAHI_RESOLVER_FAILURE : return "Failure";
+ case AVAHI_RESOLVER_NOT_FOUND : return "NotFound";
+ }
+
+ abort();
+}
+
+static int map_resolve_error(AvahiResolverEvent e) {
+
+ switch(e) {
+ case AVAHI_RESOLVER_FOUND : abort();
+ case AVAHI_RESOLVER_TIMEOUT : return AVAHI_ERR_TIMEOUT;
+ case AVAHI_RESOLVER_FAILURE : return AVAHI_ERR_FAILURE;
+ case AVAHI_RESOLVER_NOT_FOUND : return AVAHI_ERR_NOT_FOUND;
+ }
+
+ abort();
+}
+