summaryrefslogtreecommitdiffstats
path: root/avahi-sharp/AvahiTest.cs
diff options
context:
space:
mode:
authorJames Willcox <snopr@snorp.net>2005-09-09 17:12:57 +0000
committerJames Willcox <snopr@snorp.net>2005-09-09 17:12:57 +0000
commitba12decc4413dedf22c06545d1ec5938efa8954a (patch)
tree6bd8edc20ffabbbd9300264677a983695787dd7f /avahi-sharp/AvahiTest.cs
parente1d06346134b3051878c8080694068517faf3f16 (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.cs70
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);
+ }
+}