-AvahiAddressResolver *avahi_address_resolver_new(AvahiServer *server, gint interface, guchar protocol, const AvahiAddress *address, AvahiAddressResolverCallback callback, gpointer userdata) {
- AvahiAddressResolver *r;
+static void record_browser_callback(AvahiSRecordBrowser*rr, AvahiIfIndex interface, AvahiProtocol protocol, AvahiBrowserEvent event, AvahiRecord *record, void* userdata) {
+ AvahiSAddressResolver *r = userdata;
+
+ assert(rr);
+ assert(record);
+ assert(r);
+
+ if (!(event == AVAHI_BROWSER_NEW))
+ return;
+
+ assert(record->key->type == AVAHI_DNS_TYPE_PTR);
+
+ finish(r, interface, protocol, AVAHI_RESOLVER_FOUND, record);
+}
+
+static void time_event_callback(AvahiTimeEvent *e, void *userdata) {
+ AvahiSAddressResolver *r = userdata;
+
+ assert(e);
+ assert(r);
+
+ finish(r, -1, AVAHI_PROTO_UNSPEC, AVAHI_RESOLVER_TIMEOUT, NULL);
+}
+
+AvahiSAddressResolver *avahi_s_address_resolver_new(AvahiServer *server, AvahiIfIndex interface, AvahiProtocol protocol, const AvahiAddress *address, AvahiSAddressResolverCallback callback, void* userdata) {
+ AvahiSAddressResolver *r;