[Spice-commits] 4 commits - Makefile.am autogen.sh configure.ac gtk/Makefile.am gtk/usb-acl-helper.c vapi/Makefile.am vapi/spice-client-glib-2.0.vapi vapi/spice-client-gtk-2.0.deps vapi/spice-client-gtk-2.0.vapi vapi/spice-client-gtk-3.0.deps vapi/spice-client-gtk-3.0.vapi

Christophe Fergau teuf at kemper.freedesktop.org
Thu Dec 22 04:41:19 PST 2011


 Makefile.am                     |   14 +
 autogen.sh                      |    2 
 configure.ac                    |    9 
 gtk/Makefile.am                 |    8 
 gtk/usb-acl-helper.c            |    2 
 vapi/Makefile.am                |   23 +-
 vapi/spice-client-glib-2.0.vapi |  364 ++++++++++++++++++++++++++++++++++++++++
 vapi/spice-client-gtk-2.0.deps  |    2 
 vapi/spice-client-gtk-2.0.vapi  |   70 +++++++
 vapi/spice-client-gtk-3.0.deps  |    2 
 vapi/spice-client-gtk-3.0.vapi  |   70 +++++++
 11 files changed, 549 insertions(+), 17 deletions(-)

New commits:
commit 3076a1a6517c7a1af30cf6cfae83178e2bfff45f
Author: Christophe Fergeau <cfergeau at redhat.com>
Date:   Thu Dec 22 12:51:43 2011 +0100

    Only install vala bindings when using --enable-vala

diff --git a/Makefile.am b/Makefile.am
index f3a84be..47948f0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,7 +1,10 @@
 ACLOCAL_AMFLAGS = -I m4
 NULL =
 
-SUBDIRS = common gtk po python_modules doc data vapi
+SUBDIRS = common gtk po python_modules doc data
+if WITH_VALA
+SUBDIRS += vapi
+endif
 
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA =					\
commit ea45a8fe36230333831322ba35b47965e05b1f40
Author: Christophe Fergeau <cfergeau at redhat.com>
Date:   Thu Dec 22 10:48:02 2011 +0100

    More distcheck fixes

diff --git a/vapi/Makefile.am b/vapi/Makefile.am
index c1ae6c0..f073a49 100644
--- a/vapi/Makefile.am
+++ b/vapi/Makefile.am
@@ -3,17 +3,22 @@ CLEANFILES =
 
 BUILT_VAPI =						\
 	spice-client-glib-2.0.vapi			\
-	spice-client-gtk-$(SPICE_GTK_API_VERSION).deps	\
 	spice-client-gtk-$(SPICE_GTK_API_VERSION).vapi	\
 	$(NULL)
 
 vapidir = $(datadir)/vala/vapi
 vapi_DATA =						\
+	spice-client-gtk-$(SPICE_GTK_API_VERSION).deps	\
 	spice-client-glib-2.0.deps			\
-	$(BUILT_VAPI)
+	$(BUILT_VAPI)					\
 	$(NULL)
 
-EXTRA_DIST = $(vapi_DATA)
+EXTRA_DIST =						\
+	$(vapi_DATA)					\
+	spice-client-gtk-2.0.vapi			\
+	spice-client-gtk-3.0.vapi			\
+	spice-client-gtk-2.0.deps			\
+	spice-client-gtk-3.0.deps
 
 if HAVE_INTROSPECTION
 if WITH_VALA
@@ -34,10 +39,6 @@ spice-client-gtk-$(SPICE_GTK_API_VERSION).vapi: $(top_builddir)/gtk/SpiceClientG
 		--library spice-client-gtk-$(SPICE_GTK_API_VERSION)	\
 		$<
 
-spice-client-gtk-$(SPICE_GTK_API_VERSION).deps: spice-client-gtk-$(SPICE_GTK_API_VERSION).vapi
-	@echo "spice-client-glib-2.0" > $@
-	@echo "gtk+-$(GTK_API_VERSION)" >> $@
-
 endif
 endif
 
diff --git a/vapi/spice-client-glib-2.0.vapi b/vapi/spice-client-glib-2.0.vapi
new file mode 100644
index 0000000..968a3f1
--- /dev/null
+++ b/vapi/spice-client-glib-2.0.vapi
@@ -0,0 +1,364 @@
+/* spice-client-glib-2.0.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Spice", gir_namespace = "SpiceClientGLib", gir_version = "2.0", lower_case_cprefix = "spice_")]
+namespace Spice {
+	[CCode (cheader_filename = "spice-client.h", type_id = "spice_audio_get_type ()")]
+	public abstract class Audio : GLib.Object {
+		[CCode (has_construct_function = false)]
+		[Deprecated (since = "0.8")]
+		public Audio (Spice.Session session, GLib.MainContext context, string name);
+		[NoWrapper]
+		public virtual bool connect_channel (Spice.Channel channel);
+		public static unowned Spice.Audio @get (Spice.Session session, GLib.MainContext? context);
+		[NoAccessorMethod]
+		public GLib.MainContext main_context { owned get; construct; }
+		[NoAccessorMethod]
+		public Spice.Session session { owned get; construct; }
+	}
+	[CCode (cheader_filename = "spice-client.h", type_id = "spice_channel_get_type ()")]
+	public class Channel : GLib.Object {
+		[CCode (has_construct_function = false)]
+		public Channel (Spice.Session s, int type, int id);
+		[NoWrapper]
+		public virtual void channel_disconnect ();
+		[NoWrapper]
+		public virtual void channel_reset (bool migrating);
+		[NoWrapper]
+		public virtual void channel_up ();
+		public bool connect ();
+		public void destroy ();
+		public void disconnect (Spice.ChannelEvent reason);
+		[NoWrapper]
+		public virtual void handle_msg (Spice.MsgIn msg);
+		[NoWrapper]
+		public virtual void iterate_read ();
+		[NoWrapper]
+		public virtual void iterate_write ();
+		public void set_capability (uint32 cap);
+		public bool test_capability (uint32 cap);
+		public bool test_common_capability (uint32 cap);
+		public static unowned string type_to_string (int type);
+		[NoAccessorMethod]
+		public int channel_id { get; construct; }
+		[NoAccessorMethod]
+		public int channel_type { get; construct; }
+		[NoAccessorMethod]
+		public Spice.Session spice_session { owned get; construct; }
+		[NoAccessorMethod]
+		public ulong total_read_bytes { get; }
+		public virtual signal void channel_event (Spice.ChannelEvent event);
+		[HasEmitter]
+		public virtual signal void open_fd (int with_tls);
+	}
+	[CCode (cheader_filename = "spice-client.h", type_id = "spice_cursor_channel_get_type ()")]
+	public class CursorChannel : Spice.Channel {
+		[CCode (has_construct_function = false)]
+		protected CursorChannel ();
+		public virtual signal void cursor_hide ();
+		public virtual signal void cursor_move (int x, int y);
+		public virtual signal void cursor_reset ();
+		public virtual signal void cursor_set (int width, int height, int hot_x, int hot_y, void* rgba);
+	}
+	[CCode (cheader_filename = "spice-client.h", type_id = "spice_display_channel_get_type ()")]
+	public class DisplayChannel : Spice.Channel {
+		[CCode (has_construct_function = false)]
+		protected DisplayChannel ();
+		[NoAccessorMethod]
+		public uint height { get; }
+		[NoAccessorMethod]
+		public uint width { get; }
+		public virtual signal void display_invalidate (int x, int y, int w, int h);
+		public virtual signal void display_mark (int mark);
+		public virtual signal void display_primary_create (int format, int width, int height, int stride, int shmid, void* data);
+		public virtual signal void display_primary_destroy ();
+	}
+	[CCode (cheader_filename = "spice-client.h", type_id = "spice_inputs_channel_get_type ()")]
+	public class InputsChannel : Spice.Channel {
+		[CCode (has_construct_function = false)]
+		protected InputsChannel ();
+		[NoAccessorMethod]
+		public int key_modifiers { get; }
+		public virtual signal void inputs_modifiers ();
+	}
+	[CCode (cheader_filename = "spice-client.h", type_id = "spice_main_channel_get_type ()")]
+	public class MainChannel : Spice.Channel {
+		[CCode (has_construct_function = false)]
+		protected MainChannel ();
+		[NoAccessorMethod]
+		public int agent_caps_0 { get; }
+		[NoAccessorMethod]
+		public bool agent_connected { get; }
+		[NoAccessorMethod]
+		public uint color_depth { get; set construct; }
+		[NoAccessorMethod]
+		public bool disable_animation { get; set construct; }
+		[NoAccessorMethod]
+		public bool disable_display_position { get; set construct; }
+		[NoAccessorMethod]
+		public bool disable_font_smooth { get; set construct; }
+		[NoAccessorMethod]
+		public bool disable_wallpaper { get; set construct; }
+		[NoAccessorMethod]
+		public int mouse_mode { get; }
+		public signal void main_agent_update ();
+		[Deprecated (since = "0.6")]
+		public signal void main_clipboard (uint type, void* data, uint size);
+		[Deprecated (since = "0.6")]
+		public signal bool main_clipboard_grab (void* types, uint ntypes);
+		[Deprecated (since = "0.6")]
+		public signal void main_clipboard_release ();
+		[Deprecated (since = "0.6")]
+		public signal bool main_clipboard_request (uint types);
+		public signal void main_clipboard_selection (uint object, uint p0, void* p1, uint p2);
+		public signal bool main_clipboard_selection_grab (uint types, void* ntypes, uint since);
+		public signal void main_clipboard_selection_release (uint since);
+		public signal bool main_clipboard_selection_request (uint types, uint returns);
+		public signal void main_mouse_update ();
+		public signal void migration_started (GLib.Object session);
+	}
+	[CCode (cheader_filename = "spice-client.h")]
+	[Compact]
+	public class MsgIn {
+	}
+	[CCode (cheader_filename = "spice-client.h")]
+	[Compact]
+	public class MsgOut {
+	}
+	[CCode (cheader_filename = "spice-client.h", type_id = "spice_playback_channel_get_type ()")]
+	public class PlaybackChannel : Spice.Channel {
+		[CCode (has_construct_function = false)]
+		protected PlaybackChannel ();
+		public void set_delay (uint32 delay_ms);
+		[NoAccessorMethod]
+		public bool mute { get; set; }
+		[NoAccessorMethod]
+		public uint nchannels { get; set; }
+		[NoAccessorMethod]
+		public void* volume { get; set; }
+		public virtual signal void playback_data (void* data, int size);
+		public signal void playback_get_delay ();
+		public virtual signal void playback_start (int format, int channels, int freq);
+		public virtual signal void playback_stop ();
+	}
+	[CCode (cheader_filename = "spice-client.h", type_id = "spice_record_channel_get_type ()")]
+	public class RecordChannel : Spice.Channel {
+		[CCode (has_construct_function = false)]
+		protected RecordChannel ();
+		[NoWrapper]
+		public virtual void record_data (void* data, int size);
+		[NoAccessorMethod]
+		public bool mute { get; set; }
+		[NoAccessorMethod]
+		public uint nchannels { get; set; }
+		[NoAccessorMethod]
+		public void* volume { get; set; }
+		public virtual signal void record_start (int format, int channels, int freq);
+		public virtual signal void record_stop ();
+	}
+	[CCode (cheader_filename = "spice-client.h", type_id = "spice_session_get_type ()")]
+	public class Session : GLib.Object {
+		[CCode (has_construct_function = false)]
+		public Session ();
+		public bool connect ();
+		public void disconnect ();
+		public GLib.List<weak Spice.Channel> get_channels ();
+		public bool get_read_only ();
+		public bool has_channel_type (int type);
+		public bool open_fd (int fd);
+		[NoAccessorMethod]
+		public string ca_file { owned get; set; }
+		[NoAccessorMethod]
+		public string cert_subject { owned get; set; }
+		[NoAccessorMethod]
+		public string ciphers { owned get; set; }
+		[NoAccessorMethod]
+		public bool client_sockets { get; set; }
+		[NoAccessorMethod]
+		public int color_depth { get; set; }
+		[CCode (array_length = false, array_null_terminated = true)]
+		[NoAccessorMethod]
+		public string[] disable_effects { owned get; set; }
+		[NoAccessorMethod]
+		public bool enable_audio { get; set construct; }
+		[NoAccessorMethod]
+		public bool enable_smartcard { get; set; }
+		[NoAccessorMethod]
+		public bool enable_usbredir { get; set construct; }
+		[NoAccessorMethod]
+		public string host { owned get; set construct; }
+		[NoAccessorMethod]
+		public bool inhibit_keyboard_grab { get; set; }
+		[NoAccessorMethod]
+		public Spice.SessionMigration migration_state { get; }
+		[NoAccessorMethod]
+		public string password { owned get; set; }
+		[NoAccessorMethod]
+		public string port { owned get; set; }
+		[NoAccessorMethod]
+		public int protocol { get; set construct; }
+		[NoAccessorMethod]
+		public GLib.ByteArray pubkey { owned get; set; }
+		[NoAccessorMethod]
+		public bool read_only { get; set construct; }
+		[CCode (array_length = false, array_null_terminated = true)]
+		[NoAccessorMethod]
+		public string[] smartcard_certificates { owned get; set; }
+		[NoAccessorMethod]
+		public string smartcard_db { owned get; set; }
+		[NoAccessorMethod]
+		public string tls_port { owned get; set; }
+		[NoAccessorMethod]
+		public string uri { owned get; set; }
+		[NoAccessorMethod]
+		public Spice.SessionVerify verify { get; set construct; }
+		public virtual signal void channel_destroy (Spice.Channel channel);
+		public virtual signal void channel_new (Spice.Channel channel);
+	}
+	[CCode (cheader_filename = "spice-client.h", type_id = "spice_smartcard_channel_get_type ()")]
+	public class SmartcardChannel : Spice.Channel {
+		[CCode (has_construct_function = false)]
+		protected SmartcardChannel ();
+	}
+	[CCode (cheader_filename = "spice-client.h", type_id = "spice_smartcard_manager_get_type ()")]
+	public class SmartcardManager : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected SmartcardManager ();
+		public static unowned Spice.SmartcardManager @get ();
+		public bool insert_card ();
+		public bool remove_card ();
+		public virtual signal void card_inserted (Spice.VReader reader);
+		public virtual signal void card_removed (Spice.VReader reader);
+		public virtual signal void reader_added (Spice.VReader reader);
+		public virtual signal void reader_removed (Spice.VReader reader);
+	}
+	[CCode (cheader_filename = "spice-client.h")]
+	[Compact]
+	public class SmartcardReader {
+		public bool is_software ();
+	}
+	[CCode (cheader_filename = "spice-client.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "spice_usb_device_get_type ()")]
+	[Compact]
+	public class UsbDevice {
+		public string get_description ();
+	}
+	[CCode (cheader_filename = "spice-client.h", type_id = "spice_usb_device_manager_get_type ()")]
+	public class UsbDeviceManager : GLib.Object, GLib.Initable {
+		[CCode (has_construct_function = false)]
+		protected UsbDeviceManager ();
+		public async bool connect_device_async (Spice.UsbDevice device, GLib.Cancellable? cancellable) throws GLib.Error;
+		public void disconnect_device (Spice.UsbDevice device);
+		public static unowned Spice.UsbDeviceManager @get (Spice.Session session, GLib.MainContext main_context) throws GLib.Error;
+		public GLib.GenericArray<Spice.UsbDevice> get_devices ();
+		public bool is_device_connected (Spice.UsbDevice device);
+		[NoAccessorMethod]
+		public bool auto_connect { get; set; }
+		[NoAccessorMethod]
+		public GLib.MainContext main_context { owned get; construct; }
+		[NoAccessorMethod]
+		public Spice.Session session { owned get; construct; }
+		public virtual signal void auto_connect_failed (Spice.UsbDevice device, GLib.Error error);
+		public virtual signal void device_added (Spice.UsbDevice device);
+		public virtual signal void device_removed (Spice.UsbDevice device);
+	}
+	[CCode (cheader_filename = "spice-client.h", type_id = "spice_usbredir_channel_get_type ()")]
+	public class UsbredirChannel : Spice.Channel {
+		[CCode (has_construct_function = false)]
+		protected UsbredirChannel ();
+	}
+	[CCode (cheader_filename = "spice-client.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", lower_case_csuffix = "smartcard_reader", type_id = "spice_smartcard_reader_get_type ()")]
+	[Compact]
+	public class VReader {
+	}
+	[CCode (cheader_filename = "spice-client.h", cprefix = "SPICE_CHANNEL_")]
+	public enum ChannelEvent {
+		NONE,
+		OPENED,
+		SWITCHING,
+		CLOSED,
+		ERROR_CONNECT,
+		ERROR_TLS,
+		ERROR_LINK,
+		ERROR_AUTH,
+		ERROR_IO
+	}
+	[CCode (cheader_filename = "spice-client.h", cprefix = "SPICE_INPUTS_")]
+	[Flags]
+	public enum InputsLock {
+		SCROLL_LOCK,
+		NUM_LOCK,
+		CAPS_LOCK
+	}
+	[CCode (cheader_filename = "spice-client.h", cprefix = "SPICE_SESSION_MIGRATION_")]
+	public enum SessionMigration {
+		NONE,
+		SWITCHING,
+		MIGRATING
+	}
+	[CCode (cheader_filename = "spice-client.h", cprefix = "SPICE_SESSION_VERIFY_")]
+	[Flags]
+	public enum SessionVerify {
+		PUBKEY,
+		HOSTNAME,
+		SUBJECT
+	}
+	[CCode (cheader_filename = "spice-client.h", cprefix = "SPICE_CLIENT_ERROR_")]
+	public errordomain ClientError {
+		[CCode (cname = "SPICE_CLIENT_ERROR_FAILED")]
+		CLIENT_ERROR_FAILED;
+		public static GLib.Quark quark ();
+	}
+	[CCode (cheader_filename = "spice-client.h", cname = "spice_msg_handler", has_target = false)]
+	public delegate void msg_handler (Spice.Channel channel, Spice.MsgIn @in);
+	[CCode (cheader_filename = "spice-client.h", cname = "SPICE_RESERVED_PADDING")]
+	public const int RESERVED_PADDING;
+	[CCode (cheader_filename = "spice-client.h")]
+	public static void inputs_button_press (Spice.InputsChannel channel, int button, int button_state);
+	[CCode (cheader_filename = "spice-client.h")]
+	public static void inputs_button_release (Spice.InputsChannel channel, int button, int button_state);
+	[CCode (cheader_filename = "spice-client.h")]
+	public static void inputs_key_press (Spice.InputsChannel channel, uint scancode);
+	[CCode (cheader_filename = "spice-client.h")]
+	public static void inputs_key_release (Spice.InputsChannel channel, uint scancode);
+	[CCode (cheader_filename = "spice-client.h")]
+	public static void inputs_motion (Spice.InputsChannel channel, int dx, int dy, int button_state);
+	[CCode (cheader_filename = "spice-client.h")]
+	public static void inputs_position (Spice.InputsChannel channel, int x, int y, int display, int button_state);
+	[CCode (cheader_filename = "spice-client.h")]
+	public static void inputs_set_key_locks (Spice.InputsChannel channel, uint locks);
+	[CCode (cheader_filename = "spice-client.h")]
+	[Deprecated (since = "0.6")]
+	public static void main_clipboard_grab (Spice.MainChannel channel, uint32 types, int ntypes);
+	[CCode (cheader_filename = "spice-client.h")]
+	[Deprecated (since = "0.6")]
+	public static void main_clipboard_notify (Spice.MainChannel channel, uint32 type, uint8 data, ulong size);
+	[CCode (cheader_filename = "spice-client.h")]
+	[Deprecated (since = "0.6")]
+	public static void main_clipboard_release (Spice.MainChannel channel);
+	[CCode (cheader_filename = "spice-client.h")]
+	[Deprecated (since = "0.6")]
+	public static void main_clipboard_request (Spice.MainChannel channel, uint32 type);
+	[CCode (cheader_filename = "spice-client.h")]
+	public static void main_clipboard_selection_grab (Spice.MainChannel channel, uint selection, uint32 types, int ntypes);
+	[CCode (cheader_filename = "spice-client.h")]
+	public static void main_clipboard_selection_notify (Spice.MainChannel channel, uint selection, uint32 type, uint8 data, ulong size);
+	[CCode (cheader_filename = "spice-client.h")]
+	public static void main_clipboard_selection_release (Spice.MainChannel channel, uint selection);
+	[CCode (cheader_filename = "spice-client.h")]
+	public static void main_clipboard_selection_request (Spice.MainChannel channel, uint selection, uint32 type);
+	[CCode (cheader_filename = "spice-client.h")]
+	public static bool main_send_monitor_config (Spice.MainChannel channel);
+	[CCode (cheader_filename = "spice-client.h")]
+	public static void main_set_display (Spice.MainChannel channel, int id, int x, int y, int width, int height);
+	[CCode (cheader_filename = "spice-client.h")]
+	public static void main_set_display_enabled (Spice.MainChannel channel, int id, bool enabled);
+	[CCode (cheader_filename = "spice-client.h")]
+	public static void record_send_data (Spice.RecordChannel channel, void* data, size_t bytes, uint32 time);
+	[CCode (cheader_filename = "spice-client.h")]
+	public static void set_session_option (Spice.Session session);
+	[CCode (cheader_filename = "spice-client.h")]
+	public static bool util_get_debug ();
+	[CCode (cheader_filename = "spice-client.h")]
+	public static unowned string util_get_version_string ();
+	[CCode (cheader_filename = "spice-client.h")]
+	public static void util_set_debug (bool enabled);
+}
diff --git a/vapi/spice-client-gtk-2.0.deps b/vapi/spice-client-gtk-2.0.deps
new file mode 100644
index 0000000..8991f34
--- /dev/null
+++ b/vapi/spice-client-gtk-2.0.deps
@@ -0,0 +1,2 @@
+spice-client-glib-2.0
+gtk+-2.0
diff --git a/vapi/spice-client-gtk-2.0.vapi b/vapi/spice-client-gtk-2.0.vapi
new file mode 100644
index 0000000..164e147
--- /dev/null
+++ b/vapi/spice-client-gtk-2.0.vapi
@@ -0,0 +1,70 @@
+/* spice-client-gtk-2.0.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Spice", gir_namespace = "SpiceClientGtk", gir_version = "2.0", lower_case_cprefix = "spice_")]
+namespace Spice {
+	[CCode (cheader_filename = "spice-widget.h", type_id = "spice_display_get_type ()")]
+	public class Display : Gtk.DrawingArea, Atk.Implementor, Gtk.Buildable {
+		[CCode (has_construct_function = false)]
+		public Display (Spice.Session session, int id);
+		[Deprecated (since = "0.8")]
+		public void copy_to_guest ();
+		public Spice.GrabSequence get_grab_keys ();
+		public Gdk.Pixbuf get_pixbuf ();
+		public void mouse_ungrab ();
+		[Deprecated (since = "0.8")]
+		public void paste_from_guest ();
+		public void send_keys (uint keyvals, int nkeyvals, Spice.DisplayKeyEvent kind);
+		public void set_grab_keys (Spice.GrabSequence seq);
+		[Deprecated (since = "0.8")]
+		[NoAccessorMethod]
+		public bool auto_clipboard { get; set; }
+		[NoAccessorMethod]
+		public int channel_id { get; construct; }
+		[NoAccessorMethod]
+		public bool disable_inputs { get; set construct; }
+		[NoAccessorMethod]
+		public bool grab_keyboard { get; set construct; }
+		[NoAccessorMethod]
+		public bool grab_mouse { get; set construct; }
+		[NoAccessorMethod]
+		public bool resize_guest { get; set construct; }
+		[NoAccessorMethod]
+		public bool scaling { get; set construct; }
+		[NoAccessorMethod]
+		public Spice.Session session { owned get; construct; }
+		public signal void grab_keys_pressed ();
+		public virtual signal void keyboard_grab (int grabbed);
+		public virtual signal void mouse_grab (int grabbed);
+	}
+	[CCode (cheader_filename = "spice-widget.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "spice_grab_sequence_get_type ()")]
+	[Compact]
+	public class GrabSequence {
+		[CCode (has_construct_function = false)]
+		public GrabSequence (uint nkeysyms, uint keysyms);
+		public string as_string ();
+		public Spice.GrabSequence copy ();
+		public void free ();
+		[CCode (has_construct_function = false)]
+		public GrabSequence.from_string (string str);
+	}
+	[CCode (cheader_filename = "spice-widget.h", type_id = "spice_gtk_session_get_type ()")]
+	public class GtkSession : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected GtkSession ();
+		public void copy_to_guest ();
+		public static unowned Spice.GtkSession @get (Spice.Session session);
+		public void paste_from_guest ();
+		[NoAccessorMethod]
+		public bool auto_clipboard { get; set construct; }
+		[NoAccessorMethod]
+		public bool auto_usbredir { get; set construct; }
+		[NoAccessorMethod]
+		public Spice.Session session { owned get; construct; }
+	}
+	[CCode (cheader_filename = "spice-widget.h", cprefix = "SPICE_DISPLAY_KEY_EVENT_")]
+	public enum DisplayKeyEvent {
+		PRESS,
+		RELEASE,
+		CLICK
+	}
+}
diff --git a/vapi/spice-client-gtk-3.0.deps b/vapi/spice-client-gtk-3.0.deps
new file mode 100644
index 0000000..d04a10b
--- /dev/null
+++ b/vapi/spice-client-gtk-3.0.deps
@@ -0,0 +1,2 @@
+spice-client-glib-2.0
+gtk+-3.0
diff --git a/vapi/spice-client-gtk-3.0.vapi b/vapi/spice-client-gtk-3.0.vapi
new file mode 100644
index 0000000..a19ddbd
--- /dev/null
+++ b/vapi/spice-client-gtk-3.0.vapi
@@ -0,0 +1,70 @@
+/* spice-client-gtk-3.0.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Spice", gir_namespace = "SpiceClientGtk", gir_version = "3.0", lower_case_cprefix = "spice_")]
+namespace Spice {
+	[CCode (cheader_filename = "spice-widget.h", type_id = "spice_display_get_type ()")]
+	public class Display : Gtk.DrawingArea, Atk.Implementor, Gtk.Buildable {
+		[CCode (has_construct_function = false)]
+		public Display (Spice.Session session, int id);
+		[Deprecated (since = "0.8")]
+		public void copy_to_guest ();
+		public Spice.GrabSequence get_grab_keys ();
+		public Gdk.Pixbuf get_pixbuf ();
+		public void mouse_ungrab ();
+		[Deprecated (since = "0.8")]
+		public void paste_from_guest ();
+		public void send_keys (uint keyvals, int nkeyvals, Spice.DisplayKeyEvent kind);
+		public void set_grab_keys (Spice.GrabSequence seq);
+		[Deprecated (since = "0.8")]
+		[NoAccessorMethod]
+		public bool auto_clipboard { get; set; }
+		[NoAccessorMethod]
+		public int channel_id { get; construct; }
+		[NoAccessorMethod]
+		public bool disable_inputs { get; set construct; }
+		[NoAccessorMethod]
+		public bool grab_keyboard { get; set construct; }
+		[NoAccessorMethod]
+		public bool grab_mouse { get; set construct; }
+		[NoAccessorMethod]
+		public bool resize_guest { get; set construct; }
+		[NoAccessorMethod]
+		public bool scaling { get; set construct; }
+		[NoAccessorMethod]
+		public Spice.Session session { owned get; construct; }
+		public signal void grab_keys_pressed ();
+		public virtual signal void keyboard_grab (int grabbed);
+		public virtual signal void mouse_grab (int grabbed);
+	}
+	[CCode (cheader_filename = "spice-widget.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "spice_grab_sequence_get_type ()")]
+	[Compact]
+	public class GrabSequence {
+		[CCode (has_construct_function = false)]
+		public GrabSequence (uint nkeysyms, uint keysyms);
+		public string as_string ();
+		public Spice.GrabSequence copy ();
+		public void free ();
+		[CCode (has_construct_function = false)]
+		public GrabSequence.from_string (string str);
+	}
+	[CCode (cheader_filename = "spice-widget.h", type_id = "spice_gtk_session_get_type ()")]
+	public class GtkSession : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected GtkSession ();
+		public void copy_to_guest ();
+		public static unowned Spice.GtkSession @get (Spice.Session session);
+		public void paste_from_guest ();
+		[NoAccessorMethod]
+		public bool auto_clipboard { get; set construct; }
+		[NoAccessorMethod]
+		public bool auto_usbredir { get; set construct; }
+		[NoAccessorMethod]
+		public Spice.Session session { owned get; construct; }
+	}
+	[CCode (cheader_filename = "spice-widget.h", cprefix = "SPICE_DISPLAY_KEY_EVENT_")]
+	public enum DisplayKeyEvent {
+		PRESS,
+		RELEASE,
+		CLICK
+	}
+}
commit 66ff918f37fb71f9b464a77b5c6835b8253fd43b
Author: Marc-André Lureau <marcandre.lureau at redhat.com>
Date:   Wed Dec 21 11:48:48 2011 +0100

    build: ship vala files & fix make distcheck
    
    Disable usbredir, since it wants to install file in /.
    
    Disable vala for distcheck for 2 reasons: not needed after dist and
    binding build issue.
    
    Ship with spice-gtk-3.0 vala bindings
    
    https://bugs.freedesktop.org/show_bug.cgi?id=44000

diff --git a/Makefile.am b/Makefile.am
index 9825349..f3a84be 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -58,7 +58,14 @@ BUILT_SOURCES = $(top_srcdir)/.version
 $(top_srcdir)/.version:
 	echo $(VERSION) > $@-t && mv $@-t $@
 
-DISTCHECK_CONFIGURE_FLAGS = --enable-introspection --enable-werror --enable-gtk-doc
+DISTCHECK_CONFIGURE_FLAGS =			\
+	--enable-introspection			\
+	--disable-vala				\
+	--disable-usbredir			\
+	--enable-gtk-doc			\
+	--enable-werror				\
+	--with-gtk=3.0				\
+	$(NULL)
 
 spicy-for-windows.exe:
 	PATH=$$PATH:/usr/i686-pc-mingw32/sys-root/mingw/bin/:/usr/i686-pc-mingw32/sys-root/mingw/lib \
diff --git a/autogen.sh b/autogen.sh
index 904c00e..2724d7e 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -13,6 +13,6 @@ if test ! -e gtk/controller/controller.vala.stamp; then
 fi
 
 if [ -z "$NOCONFIGURE" ]; then
-    "$srcdir"/configure --enable-maintainer-mode $enable_vala ${1+"$@"}
+    "$srcdir"/configure --enable-maintainer-mode --enable-gtk-doc --with-gtk=3.0 $enable_vala ${1+"$@"}
 fi
 
diff --git a/configure.ac b/configure.ac
index 771d5a5..3c5689d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -412,7 +412,7 @@ AC_ARG_ENABLE([vala],
   [],
   enable_vala="no")
 
-VALA_REQUIRED=0.11.7
+VALA_REQUIRED=0.14
 if test x$enable_vala = xyes ; then
     # check for vala
     AM_PROG_VALAC([$VALA_REQUIRED])
diff --git a/vapi/Makefile.am b/vapi/Makefile.am
index 4b99645..c1ae6c0 100644
--- a/vapi/Makefile.am
+++ b/vapi/Makefile.am
@@ -1,14 +1,11 @@
 NULL =
 CLEANFILES =
 
-if HAVE_INTROSPECTION
-if WITH_VALA
 BUILT_VAPI =						\
 	spice-client-glib-2.0.vapi			\
 	spice-client-gtk-$(SPICE_GTK_API_VERSION).deps	\
 	spice-client-gtk-$(SPICE_GTK_API_VERSION).vapi	\
 	$(NULL)
-CLEANFILES += $(BUILT_VAPI)
 
 vapidir = $(datadir)/vala/vapi
 vapi_DATA =						\
@@ -16,6 +13,13 @@ vapi_DATA =						\
 	$(BUILT_VAPI)
 	$(NULL)
 
+EXTRA_DIST = $(vapi_DATA)
+
+if HAVE_INTROSPECTION
+if WITH_VALA
+
+CLEANFILES += $(BUILT_VAPI)
+
 spice-client-glib-2.0.vapi: $(top_builddir)/gtk/SpiceClientGLib-2.0.gir
 	$(AM_V_GEN)$(VAPIGEN)			\
 		--library spice-client-glib-2.0	\
commit d103002c17ab362f14f3487c3299115f7b0be720
Author: Christophe Fergeau <cfergeau at redhat.com>
Date:   Wed Dec 21 15:19:36 2011 +0100

    Make path to the USB ACL helper configurable
    
    It's currently installed in $bindir, but this patch makes it possible
    for distros like fedora to install it in $libexecdir/spice/

diff --git a/configure.ac b/configure.ac
index f0db9fa..771d5a5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -348,6 +348,13 @@ else
   fi
 fi
 
+AC_ARG_WITH([usb-acl-helper-dir],
+  AS_HELP_STRING([--with-usb-acl-helper-dir=DIR],
+                 [Directory where the USB ACL helper binary should be installed]),
+  [ACL_HELPER_DIR="$with_usb_acl_helper_dir"],
+  [ACL_HELPER_DIR="${bindir}/"])
+AC_SUBST([ACL_HELPER_DIR])
+
 AC_ARG_WITH([coroutine],
   AS_HELP_STRING([--with-coroutine=@<:@ucontext/gthread/winfiber/auto@:>@],
                  [use ucontext or GThread for coroutines @<:@default=auto@:>@]),
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index 224d861..2e76014 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -22,7 +22,8 @@ EXTRA_DIST =					\
 
 bin_PROGRAMS = spicy snappy spicy-stats
 if WITH_POLKIT
-bin_PROGRAMS += spice-client-glib-usb-acl-helper
+acldir = $(ACL_HELPER_DIR)
+acl_PROGRAMS = spice-client-glib-usb-acl-helper
 endif
 
 lib_LTLIBRARIES = \
@@ -198,6 +199,7 @@ if WITH_POLKIT
 USB_ACL_HELPER_SRCS = \
 	usb-acl-helper.c		\
 	usb-acl-helper.h
+AM_CPPFLAGS += -DACL_HELPER_PATH="\"$(ACL_HELPER_DIR)\""
 else
 USB_ACL_HELPER_SRCS =
 endif
@@ -402,8 +404,8 @@ spice_client_glib_usb_acl_helper_CPPFLAGS =	\
 	$(NULL)
 
 install-exec-hook:
-	-chown root $(DESTDIR)$(bindir)/spice-client-glib-usb-acl-helper
-	-chmod u+s  $(DESTDIR)$(bindir)/spice-client-glib-usb-acl-helper
+	-chown root $(DESTDIR)$(acldir)/spice-client-glib-usb-acl-helper
+	-chmod u+s  $(DESTDIR)$(acldir)/spice-client-glib-usb-acl-helper
 
 endif
 
diff --git a/gtk/usb-acl-helper.c b/gtk/usb-acl-helper.c
index e5f8b4d..7fe8404 100644
--- a/gtk/usb-acl-helper.c
+++ b/gtk/usb-acl-helper.c
@@ -184,7 +184,7 @@ void spice_usb_acl_helper_open_acl(SpiceUsbAclHelper *self,
     GIOStatus status;
     GPid helper_pid;
     gsize bytes_written;
-    gchar *argv[] = { "spice-client-glib-usb-acl-helper", NULL };
+    gchar *argv[] = { ACL_HELPER_PATH"/spice-client-glib-usb-acl-helper", NULL };
     gint in, out;
     gchar buf[128];
 


More information about the Spice-commits mailing list