+/* $Id$ */
+
+/***
+ This file is part of avahi.
+
+ avahi is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation; either version 2.1 of the
+ License, or (at your option) any later version.
+
+ avahi is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
+ Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with avahi; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ USA.
+***/
+
using System;
using System.Collections;
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,
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")]
[DllImport ("avahi-glib")]
private static extern IntPtr avahi_glib_poll_get (IntPtr gpoll);
+ public event ClientStateHandler StateChanged;
+
internal IntPtr Handle
{
get { return handle; }
private void OnClientCallback (IntPtr client, ClientState state, IntPtr userData)
{
- Console.WriteLine ("Got new state: " + state);
+ if (StateChanged != null)
+ StateChanged (this, state);
}
}
}