6 public class AvahiTest {
7 private static Client client;
9 public static void Main () {
10 client = new Client ();
12 EntryGroup eg = new EntryGroup (client);
13 eg.StateChanged += OnEntryGroupChanged;
14 eg.AddService ("foobar2", "_daap._tcp", client.DomainName,
15 444, new string[] { "foo", "bar", "baz" });
21 private static void OnEntryGroupChanged (object o, EntryGroupState state)
23 Console.WriteLine ("Entry group status: " + state);
25 if (state == EntryGroupState.Established) {
26 DomainBrowser browser = new DomainBrowser (client);
27 browser.DomainAdded += OnDomainAdded;
31 private static void OnDomainAdded (object o, DomainInfo info)
33 Console.WriteLine ("Got domain added: " + info.Domain);
34 ServiceTypeBrowser stb = new ServiceTypeBrowser (client, info.Domain);
35 stb.ServiceTypeAdded += OnServiceTypeAdded;
38 private static void OnServiceTypeAdded (object o, ServiceTypeInfo info)
40 Console.WriteLine ("Got service type: " + info.ServiceType);
41 ServiceBrowser sb = new ServiceBrowser (client, info.ServiceType, info.Domain);
42 sb.ServiceAdded += OnServiceAdded;
45 private static void OnServiceAdded (object o, ServiceInfo info)
47 // Console.WriteLine ("Got service: " + info.Name);
48 ServiceResolver resolver = new ServiceResolver (client, info);
49 resolver.Found += OnServiceResolved;
52 private static void OnServiceResolved (object o, ServiceInfo info)
54 Console.WriteLine ("Service '{0}' at {1}:{2}", info.Name, info.Host, info.Port);
55 AddressResolver ar = new AddressResolver (client, info.Address);
56 ar.Found += OnAddressResolved;
59 private static void OnAddressResolved (object o, string host, IPAddress address)
61 Console.WriteLine ("Resolved {0} to {1}", address, host);
62 HostNameResolver hr = new HostNameResolver (client, host);
63 hr.Found += OnHostNameResolved;
66 private static void OnHostNameResolved (object o, string host, IPAddress address)
68 Console.WriteLine ("Resolved {0} to {1}", host, address);