[DllImport ("panel-applet-2")]
static extern void panel_applet_setup_menu (IntPtr handle, IntPtr xml, BonoboUIVerb[] items, IntPtr user_data);

public void SetupMenu (string xml, BonoboUIVerb[] items)
{
	BonoboUIVerb[] nulled_items = new BonoboUIVerb[items.Length + 1];
	Array.Copy (items, nulled_items, items.Length);
	nulled_items[items.Length] = new BonoboUIVerb (null, null);
	IntPtr native = GLib.Marshaller.StringToPtrGStrdup (xml);
	panel_applet_setup_menu (Handle, native, nulled_items, IntPtr.Zero);
	GLib.Marshaller.Free (native);
}

public abstract void Creation ();

public abstract string IID {
	get;
}

public abstract string FactoryIID {
	get;
}
