X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-sharp%2FClient.cs;h=84069fc571dddefa13a1926a530e3ebb29523ef6;hb=a9566d5dcac080d7fa91546823277c57a5d09a5f;hp=8905110b587744e6417b55e555b72d2725bacbd6;hpb=a21074b9ea4b11b74d114e2669248f979caf0d3a;p=catta diff --git a/avahi-sharp/Client.cs b/avahi-sharp/Client.cs index 8905110..84069fc 100644 --- a/avahi-sharp/Client.cs +++ b/avahi-sharp/Client.cs @@ -1,3 +1,5 @@ +/* $Id$ */ + /*** This file is part of avahi. @@ -34,7 +36,9 @@ namespace Avahi Removed } - internal delegate void ClientHandler (IntPtr client, ClientState state, IntPtr userData); + internal delegate void ClientCallback (IntPtr client, ClientState state, IntPtr userData); + + public delegate void ClientStateHandler (object o, ClientState state); public enum Protocol { Unspecified = 0, @@ -55,7 +59,7 @@ namespace Avahi private IntPtr handle; [DllImport ("avahi-client")] - private static extern IntPtr avahi_client_new (IntPtr poll, ClientHandler handler, + private static extern IntPtr avahi_client_new (IntPtr poll, ClientCallback handler, IntPtr userData, out int error); [DllImport ("avahi-client")] @@ -85,6 +89,8 @@ namespace Avahi [DllImport ("avahi-glib")] private static extern IntPtr avahi_glib_poll_get (IntPtr gpoll); + public event ClientStateHandler StateChanged; + internal IntPtr Handle { get { return handle; } @@ -154,7 +160,8 @@ namespace Avahi private void OnClientCallback (IntPtr client, ClientState state, IntPtr userData) { - Console.WriteLine ("Got new state: " + state); + if (StateChanged != null) + StateChanged (this, state); } } }