]> git.meshlink.io Git - catta/blobdiff - avahi-sharp/AvahiTest.cs
If the client calls EntryGroup::Commit update the local state immediately and
[catta] / avahi-sharp / AvahiTest.cs
index 0fac04b09c320a709b544bb1725e04999dd1f15f..ba4d59b9e7b2a343843e102fdee36a890304b417 100644 (file)
@@ -32,13 +32,17 @@ public class AvahiTest {
     public static void Main () {
         client = new Client ();
 
+       Console.WriteLine ("joined service name: " + Client.JoinServiceName ("FooBar", "_foo", "local"));
+
         EntryGroup eg = new EntryGroup (client);
         eg.StateChanged += OnEntryGroupChanged;
-        eg.AddService ("foobar2", "_daap._tcp", client.DomainName,
-                       444, new string[] { "foo", "bar", "baz" });
+        eg.AddService ("foobar2", "_dingdong._tcp", client.DomainName,
+                       444, new string[] { "foo=stuff", "bar=stuff2", "baz=stuff3" });
         eg.Commit ();
+        BrowseServiceTypes ("local");
         Console.WriteLine ("Press enter to quit");
         Console.ReadLine ();
+        client.Dispose ();
     }
 
     private static void OnEntryGroupChanged (object o, EntryGroupStateArgs args)
@@ -55,7 +59,7 @@ public class AvahiTest {
     private static void OnDomainAdded (object o, DomainInfoArgs args)
     {
         Console.WriteLine ("Got domain added: " + args.Domain.Domain);
-        BrowseServiceTypes (args.Domain.Domain);
+        // BrowseServiceTypes (args.Domain.Domain);
     }
 
     private static void BrowseServiceTypes (string domain)
@@ -97,10 +101,17 @@ public class AvahiTest {
         foreach (byte[] bytes in args.Service.Text) {
             Console.WriteLine ("Text: " + Encoding.UTF8.GetString (bytes));
         }
+
         AddressResolver ar = new AddressResolver (client, args.Service.Address);
         objects.Add (ar);
-        
+
         ar.Found += OnAddressResolved;
+        ar.Failed += OnAddressResolverFailed;
+    }
+
+    private static void OnAddressResolverFailed (object o, ErrorCodeArgs args)
+    {
+        Console.WriteLine ("Failed to resolve '{0}': {1}", (o as AddressResolver).Address, args.ErrorCode);
     }
 
     private static void OnAddressResolved (object o, HostAddressArgs args)