]> git.meshlink.io Git - catta/blobdiff - avahi-compat-libdns_sd/null-test.c
split off libavahi-gobject into its own directory
[catta] / avahi-compat-libdns_sd / null-test.c
index 272e9c34004a082a7127a09302b279dcf947062c..a6c03df1a1c2290e35be23d27c5fecb637a9d4c9 100644 (file)
 #include <avahi-common/gccmacro.h>
 #include <dns_sd.h>
 
+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;
 }