-/* $Id$ */
-
/***
This file is part of avahi.
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, EntryGroupState state)
+ private static void OnEntryGroupChanged (object o, EntryGroupStateArgs args)
{
- Console.WriteLine ("Entry group status: " + state);
- if (state == EntryGroupState.Established) {
+ Console.WriteLine ("Entry group status: " + args.State);
+ if (args.State == EntryGroupState.Established) {
DomainBrowser browser = new DomainBrowser (client);
objects.Add (browser);
-
+
browser.DomainAdded += OnDomainAdded;
}
}
- private static void OnDomainAdded (object o, DomainInfo info)
+ private static void OnDomainAdded (object o, DomainInfoArgs args)
{
- Console.WriteLine ("Got domain added: " + info.Domain);
- BrowseServiceTypes (info.Domain);
+ Console.WriteLine ("Got domain added: " + args.Domain.Domain);
+ // BrowseServiceTypes (args.Domain.Domain);
}
private static void BrowseServiceTypes (string domain)
{
ServiceTypeBrowser stb = new ServiceTypeBrowser (client, domain);
objects.Add (stb);
-
+
stb.CacheExhausted += OnCacheExhausted;
stb.ServiceTypeAdded += OnServiceTypeAdded;
}
Console.WriteLine ("Cache is exhausted");
}
- private static void OnServiceTypeAdded (object o, ServiceTypeInfo info)
+ private static void OnServiceTypeAdded (object o, ServiceTypeInfoArgs args)
{
- Console.WriteLine ("Got service type: " + info.ServiceType);
- ServiceBrowser sb = new ServiceBrowser (client, info.ServiceType, info.Domain);
+ Console.WriteLine ("Got service type: " + args.ServiceType.ServiceType);
+ ServiceBrowser sb = new ServiceBrowser (client, args.ServiceType.ServiceType, args.ServiceType.Domain);
objects.Add (sb);
-
+
sb.ServiceAdded += OnServiceAdded;
}
- private static void OnServiceAdded (object o, ServiceInfo info)
+ private static void OnServiceAdded (object o, ServiceInfoArgs args)
{
// Console.WriteLine ("Got service: " + info.Name);
- ServiceResolver resolver = new ServiceResolver (client, info);
+ ServiceResolver resolver = new ServiceResolver (client, args.Service);
objects.Add (resolver);
resolver.Found += OnServiceResolved;
}
- private static void OnServiceResolved (object o, ServiceInfo info)
+ private static void OnServiceResolved (object o, ServiceInfoArgs args)
{
objects.Remove (o);
-
- Console.WriteLine ("Service '{0}' at {1}:{2}", info.Name, info.HostName, info.Port);
- foreach (byte[] bytes in info.Text) {
+
+ Console.WriteLine ("Service '{0}' at {1}:{2}", args.Service.Name, args.Service.HostName, args.Service.Port);
+ foreach (byte[] bytes in args.Service.Text) {
Console.WriteLine ("Text: " + Encoding.UTF8.GetString (bytes));
}
- AddressResolver ar = new AddressResolver (client, info.Address);
+
+ 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, string host, IPAddress address)
+ private static void OnAddressResolved (object o, HostAddressArgs args)
{
objects.Remove (o);
-
- Console.WriteLine ("Resolved {0} to {1}", address, host);
- HostNameResolver hr = new HostNameResolver (client, host);
+
+ Console.WriteLine ("Resolved {0} to {1}", args.Address, args.Host);
+ HostNameResolver hr = new HostNameResolver (client, args.Host);
objects.Add (hr);
-
+
hr.Found += OnHostNameResolved;
}
- private static void OnHostNameResolved (object o, string host, IPAddress address)
+ private static void OnHostNameResolved (object o, HostAddressArgs args)
{
objects.Remove (o);
- Console.WriteLine ("Resolved {0} to {1}", host, address);
+ Console.WriteLine ("Resolved {0} to {1}", args.Host, args.Address);
}
}