diff options
Diffstat (limited to 'avahi-sharp/Client.cs')
-rw-r--r-- | avahi-sharp/Client.cs | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/avahi-sharp/Client.cs b/avahi-sharp/Client.cs index 3e4e617..84069fc 100644 --- a/avahi-sharp/Client.cs +++ b/avahi-sharp/Client.cs @@ -36,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, @@ -57,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")] @@ -87,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; } @@ -156,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); } } } |