From e521a9a2fad8314d5e7d5bbde47b2c852a1426a7 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 24 Aug 2006 17:58:02 +0000 Subject: follow Bonjour's handling of subtypes when browsing/registering services (closes #41) git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1268 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe --- avahi-compat-libdns_sd/null-test.c | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) (limited to 'avahi-compat-libdns_sd/null-test.c') diff --git a/avahi-compat-libdns_sd/null-test.c b/avahi-compat-libdns_sd/null-test.c index 272e9c3..a6c03df 100644 --- a/avahi-compat-libdns_sd/null-test.c +++ b/avahi-compat-libdns_sd/null-test.c @@ -32,15 +32,42 @@ #include #include +static void reply( + AVAHI_GCC_UNUSED DNSServiceRef sdRef, + AVAHI_GCC_UNUSED DNSServiceFlags flags, + AVAHI_GCC_UNUSED uint32_t interfaceIndex, + AVAHI_GCC_UNUSED DNSServiceErrorType errorCode, + AVAHI_GCC_UNUSED const char *serviceName, + AVAHI_GCC_UNUSED const char *regtype, + AVAHI_GCC_UNUSED const char *replyDomain, + AVAHI_GCC_UNUSED void *context) { +} + int main(AVAHI_GCC_UNUSED int argc, AVAHI_GCC_UNUSED char*argv[]) { - DNSServiceRef ref; + DNSServiceRef ref1, ref2, ref3, ref4 = NULL; + + DNSServiceRegister(&ref1, 0, 0, "simple", "_simple._tcp", NULL, NULL, 4711, 0, NULL, NULL, NULL); + DNSServiceRegister(&ref2, 0, 0, "subtype #1", "_simple._tcp,_subtype1", NULL, NULL, 4711, 0, NULL, NULL, NULL); + DNSServiceRegister(&ref3, 0, 0, "subtype #2", "_simple._tcp,_subtype1,_subtype2", NULL, NULL, 4711, 0, NULL, NULL, NULL); + + DNSServiceRegister(&ref4, 0, 0, "subtype #3", "_simple._tcp,,", NULL, NULL, 4711, 0, NULL, NULL, NULL); + assert(!ref4); + DNSServiceRegister(&ref4, 0, 0, "subtype #3", "", NULL, NULL, 4711, 0, NULL, NULL, NULL); + assert(!ref4); + DNSServiceRegister(&ref4, 0, 0, "subtype #3", ",", NULL, NULL, 4711, 0, NULL, NULL, NULL); + assert(!ref4); + DNSServiceRegister(&ref4, 0, 0, "subtype #3", ",,", NULL, NULL, 4711, 0, NULL, NULL, NULL); + assert(!ref4); - DNSServiceRegister(&ref, 0, 0, "fucker", "_fuck._tcp", NULL, NULL, 4711, 0, NULL, NULL, NULL); + DNSServiceBrowse(&ref4, 0, 0, "_simple._tcp,_gurke", NULL, reply, NULL); sleep(20); - DNSServiceRefDeallocate(ref); + DNSServiceRefDeallocate(ref1); + DNSServiceRefDeallocate(ref2); + DNSServiceRefDeallocate(ref3); + DNSServiceRefDeallocate(ref4); return 0; } -- cgit