diff options
author | James Willcox <snopr@snorp.net> | 2005-09-09 17:12:57 +0000 |
---|---|---|
committer | James Willcox <snopr@snorp.net> | 2005-09-09 17:12:57 +0000 |
commit | ba12decc4413dedf22c06545d1ec5938efa8954a (patch) | |
tree | 6bd8edc20ffabbbd9300264677a983695787dd7f /avahi-sharp/AvahiTest.cs | |
parent | e1d06346134b3051878c8080694068517faf3f16 (diff) |
add initial mono bindings
git-svn-id: file:///home/lennart/svn/public/avahi/trunk@538 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
Diffstat (limited to 'avahi-sharp/AvahiTest.cs')
-rw-r--r-- | avahi-sharp/AvahiTest.cs | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/avahi-sharp/AvahiTest.cs b/avahi-sharp/AvahiTest.cs new file mode 100644 index 0000000..0507204 --- /dev/null +++ b/avahi-sharp/AvahiTest.cs @@ -0,0 +1,70 @@ +using System; +using System.Net; +using Gtk; +using Avahi; + +public class AvahiTest { + private static Client client; + + public static void Main () { + client = new Client (); + + EntryGroup eg = new EntryGroup (client); + eg.StateChanged += OnEntryGroupChanged; + eg.AddService ("foobar2", "_daap._tcp", client.DomainName, + 444, new string[] { "foo", "bar", "baz" }); + eg.Commit (); + + Application.Run (); + } + + private static void OnEntryGroupChanged (object o, EntryGroupState state) + { + Console.WriteLine ("Entry group status: " + state); + + if (state == EntryGroupState.Established) { + DomainBrowser browser = new DomainBrowser (client); + browser.DomainAdded += OnDomainAdded; + } + } + + private static void OnDomainAdded (object o, DomainInfo info) + { + Console.WriteLine ("Got domain added: " + info.Domain); + ServiceTypeBrowser stb = new ServiceTypeBrowser (client, info.Domain); + stb.ServiceTypeAdded += OnServiceTypeAdded; + } + + private static void OnServiceTypeAdded (object o, ServiceTypeInfo info) + { + Console.WriteLine ("Got service type: " + info.ServiceType); + ServiceBrowser sb = new ServiceBrowser (client, info.ServiceType, info.Domain); + sb.ServiceAdded += OnServiceAdded; + } + + private static void OnServiceAdded (object o, ServiceInfo info) + { + // Console.WriteLine ("Got service: " + info.Name); + ServiceResolver resolver = new ServiceResolver (client, info); + resolver.Found += OnServiceResolved; + } + + private static void OnServiceResolved (object o, ServiceInfo info) + { + Console.WriteLine ("Service '{0}' at {1}:{2}", info.Name, info.Host, info.Port); + AddressResolver ar = new AddressResolver (client, info.Address); + ar.Found += OnAddressResolved; + } + + private static void OnAddressResolved (object o, string host, IPAddress address) + { + Console.WriteLine ("Resolved {0} to {1}", address, host); + HostNameResolver hr = new HostNameResolver (client, host); + hr.Found += OnHostNameResolved; + } + + private static void OnHostNameResolved (object o, string host, IPAddress address) + { + Console.WriteLine ("Resolved {0} to {1}", host, address); + } +} |