[Spice-devel] [PATCH spice-gtk v2 4/5] InputsChannel: Fix introspection method bindings

Matthew Francis mjay.francis at gmail.com
Tue Sep 19 14:34:00 UTC 2017


Signed-off-by: Matthew Francis <mjay.francis at gmail.com>
---
 doc/reference/spice-gtk-sections.txt |   8 ++
 src/channel-inputs.c                 | 146 ++++++++++++++++++++++++++++++++++-
 src/channel-inputs.h                 |  34 ++++++--
 src/map-file                         |   8 ++
 src/spice-glib-sym-file              |   8 ++
 src/spice-gtk-session.c              |   2 +-
 src/spice-widget.c                   |  44 +++++------
 7 files changed, 217 insertions(+), 33 deletions(-)

diff --git a/doc/reference/spice-gtk-sections.txt b/doc/reference/spice-gtk-sections.txt
index 538e07c..0f5ec10 100644
--- a/doc/reference/spice-gtk-sections.txt
+++ b/doc/reference/spice-gtk-sections.txt
@@ -237,13 +237,21 @@ SpiceInputsChannelClass
 SpiceInputsLock
 <SUBSECTION>
 spice_inputs_motion
+spice_inputs_channel_motion
 spice_inputs_position
+spice_inputs_channel_position
 spice_inputs_button_press
+spice_inputs_channel_button_press
 spice_inputs_button_release
+spice_inputs_channel_button_release
 spice_inputs_key_press
+spice_inputs_channel_key_press
 spice_inputs_key_press_and_release
+spice_inputs_channel_key_press_and_release
 spice_inputs_key_release
+spice_inputs_channel_key_release
 spice_inputs_set_key_locks
+spice_inputs_channel_set_key_locks
 <SUBSECTION Standard>
 SPICE_TYPE_INPUTS_LOCK
 spice_inputs_lock_get_type
diff --git a/src/channel-inputs.c b/src/channel-inputs.c
index 7572bff..75bf1ff 100644
--- a/src/channel-inputs.c
+++ b/src/channel-inputs.c
@@ -284,10 +284,29 @@ static void channel_set_handlers(SpiceChannelClass *klass)
  * @button_state: SPICE_MOUSE_BUTTON_MASK flags
  *
  * Change mouse position (used in SPICE_MOUSE_MODE_CLIENT).
+ *
+ * Deprecated: 0.35: use spice_inputs_channel_motion() instead.
  **/
 void spice_inputs_motion(SpiceInputsChannel *channel, gint dx, gint dy,
                          gint button_state)
 {
+    spice_inputs_channel_motion(channel, dx, dy, button_state);
+}
+
+/**
+ * spice_inputs_channel_motion:
+ * @channel: a #SpiceInputsChannel
+ * @dx: delta X mouse coordinates
+ * @dy: delta Y mouse coordinates
+ * @button_state: SPICE_MOUSE_BUTTON_MASK flags
+ *
+ * Change mouse position (used in SPICE_MOUSE_MODE_CLIENT).
+ *
+ * Since: 0.35
+ **/
+void spice_inputs_channel_motion(SpiceInputsChannel *channel, gint dx, gint dy,
+                                 gint button_state)
+{
     SpiceInputsChannelPrivate *c;
 
     g_return_if_fail(channel != NULL);
@@ -317,10 +336,30 @@ void spice_inputs_motion(SpiceInputsChannel *channel, gint dx, gint dy,
  * @button_state: SPICE_MOUSE_BUTTON_MASK flags
  *
  * Change mouse position (used in SPICE_MOUSE_MODE_CLIENT).
+ *
+ * Deprecated: 0.35: use spice_inputs_channel_position() instead.
  **/
 void spice_inputs_position(SpiceInputsChannel *channel, gint x, gint y,
                            gint display, gint button_state)
 {
+    spice_inputs_channel_position(channel, x, y, display, button_state);
+}
+
+/**
+ * spice_inputs_channel_position:
+ * @channel: a #SpiceInputsChannel
+ * @x: X mouse coordinates
+ * @y: Y mouse coordinates
+ * @display: display channel id
+ * @button_state: SPICE_MOUSE_BUTTON_MASK flags
+ *
+ * Change mouse position (used in SPICE_MOUSE_MODE_CLIENT).
+ *
+ * Since: 0.35
+ **/
+void spice_inputs_channel_position(SpiceInputsChannel *channel, gint x, gint y,
+                                   gint display, gint button_state)
+{
     SpiceInputsChannelPrivate *c;
 
     g_return_if_fail(channel != NULL);
@@ -348,10 +387,28 @@ void spice_inputs_position(SpiceInputsChannel *channel, gint x, gint y,
  * @button_state: SPICE_MOUSE_BUTTON_MASK flags
  *
  * Press a mouse button.
+ *
+ * Deprecated: 0.35: use spice_inputs_channel_button_press() instead.
  **/
 void spice_inputs_button_press(SpiceInputsChannel *channel, gint button,
                                gint button_state)
 {
+    spice_inputs_channel_button_press(channel, button, button_state);
+}
+
+/**
+ * spice_inputs_channel_button_press:
+ * @channel: a #SpiceInputsChannel
+ * @button: a SPICE_MOUSE_BUTTON
+ * @button_state: SPICE_MOUSE_BUTTON_MASK flags
+ *
+ * Press a mouse button.
+ *
+ * Since: 0.35
+ **/
+void spice_inputs_channel_button_press(SpiceInputsChannel *channel, gint button,
+                                       gint button_state)
+{
     SpiceInputsChannelPrivate *c;
     SpiceMsgcMousePress press;
     SpiceMsgOut *msg;
@@ -395,10 +452,28 @@ void spice_inputs_button_press(SpiceInputsChannel *channel, gint button,
  * @button_state: SPICE_MOUSE_BUTTON_MASK flags
  *
  * Release a button.
+ *
+ * Deprecated: 0.35: use spice_inputs_channel_button_release() instead.
  **/
 void spice_inputs_button_release(SpiceInputsChannel *channel, gint button,
                                  gint button_state)
 {
+    spice_inputs_channel_button_release(channel, button, button_state);
+}
+
+/**
+ * spice_inputs_channel_button_release:
+ * @channel: a #SpiceInputsChannel
+ * @button: a SPICE_MOUSE_BUTTON
+ * @button_state: SPICE_MOUSE_BUTTON_MASK flags
+ *
+ * Release a button.
+ *
+ * Since: 0.35
+ **/
+void spice_inputs_channel_button_release(SpiceInputsChannel *channel, gint button,
+                                         gint button_state)
+{
     SpiceInputsChannelPrivate *c;
     SpiceMsgcMouseRelease release;
     SpiceMsgOut *msg;
@@ -442,9 +517,26 @@ void spice_inputs_button_release(SpiceInputsChannel *channel, gint button,
  *            prefix, drop the prefix and OR the scancode with %0x100.
  *
  * Press a key.
+ *
+ * Deprecated: 0.35: use spice_inputs_channel_key_press() instead.
  **/
 void spice_inputs_key_press(SpiceInputsChannel *channel, guint scancode)
 {
+    spice_inputs_channel_key_press(channel, scancode);
+}
+
+/**
+ * spice_inputs_channel_key_press:
+ * @channel: a #SpiceInputsChannel
+ * @scancode: a PC XT (set 1) key scancode.  For scancodes with an %0xe0
+ *            prefix, drop the prefix and OR the scancode with %0x100.
+ *
+ * Press a key.
+ *
+ * Since: 0.35
+ **/
+void spice_inputs_channel_key_press(SpiceInputsChannel *channel, guint scancode)
+{
     SpiceMsgcKeyDown down;
     SpiceMsgOut *msg;
 
@@ -468,9 +560,26 @@ void spice_inputs_key_press(SpiceInputsChannel *channel, guint scancode)
  *            prefix, drop the prefix and OR the scancode with %0x100.
  *
  * Release a key.
+ *
+ * Deprecated: 0.35: use spice_inputs_channel_key_release() instead.
  **/
 void spice_inputs_key_release(SpiceInputsChannel *channel, guint scancode)
 {
+    spice_inputs_channel_key_release(channel, scancode);
+}
+
+/**
+ * spice_inputs_channel_key_release:
+ * @channel: a #SpiceInputsChannel
+ * @scancode: a PC XT (set 1) key scancode.  For scancodes with an %0xe0
+ *            prefix, drop the prefix and OR the scancode with %0x100.
+ *
+ * Release a key.
+ *
+ * Since: 0.35
+ **/
+void spice_inputs_channel_key_release(SpiceInputsChannel *channel, guint scancode)
+{
     SpiceMsgcKeyUp up;
     SpiceMsgOut *msg;
 
@@ -496,9 +605,26 @@ void spice_inputs_key_release(SpiceInputsChannel *channel, guint scancode)
  * Press and release a key event atomically (in the same message).
  *
  * Since: 0.13
+ *
+ * Deprecated: 0.35
  **/
 void spice_inputs_key_press_and_release(SpiceInputsChannel *input_channel, guint scancode)
 {
+    spice_inputs_channel_key_press_and_release(input_channel, scancode);
+}
+
+/**
+ * spice_inputs_channel_key_press_and_release:
+ * @channel: a #SpiceInputsChannel
+ * @scancode: a PC XT (set 1) key scancode.  For scancodes with an %0xe0
+ *            prefix, drop the prefix and OR the scancode with %0x100.
+ *
+ * Press and release a key event atomically (in the same message).
+ *
+ * Since: 0.35
+ **/
+void spice_inputs_channel_key_press_and_release(SpiceInputsChannel *input_channel, guint scancode)
+{
     SpiceChannel *channel = SPICE_CHANNEL(input_channel);
 
     g_return_if_fail(channel != NULL);
@@ -531,8 +657,8 @@ void spice_inputs_key_press_and_release(SpiceInputsChannel *input_channel, guint
         spice_msg_out_send(msg);
     } else {
         CHANNEL_DEBUG(channel, "The server doesn't support atomic press and release");
-        spice_inputs_key_press(input_channel, scancode);
-        spice_inputs_key_release(input_channel, scancode);
+        spice_inputs_channel_key_press(input_channel, scancode);
+        spice_inputs_channel_key_release(input_channel, scancode);
     }
 }
 
@@ -566,9 +692,25 @@ static SpiceMsgOut* set_key_locks(SpiceInputsChannel *channel, guint locks)
  * @locks: #SpiceInputsLock modifiers flags
  *
  * Set the keyboard locks on the guest (Caps, Num, Scroll..)
+ *
+ * Deprecated: 0.35: use spice_inputs_channel_set_key_locks() instead.
  **/
 void spice_inputs_set_key_locks(SpiceInputsChannel *channel, guint locks)
 {
+    spice_inputs_channel_set_key_locks(channel, locks);
+}
+
+/**
+ * spice_inputs_channel_set_key_locks:
+ * @channel: a #SpiceInputsChannel
+ * @locks: #SpiceInputsLock modifiers flags
+ *
+ * Set the keyboard locks on the guest (Caps, Num, Scroll..)
+ *
+ * Since: 0.35
+ **/
+void spice_inputs_channel_set_key_locks(SpiceInputsChannel *channel, guint locks)
+{
     SpiceMsgOut *msg;
 
     if (spice_channel_get_read_only(SPICE_CHANNEL(channel)))
diff --git a/src/channel-inputs.h b/src/channel-inputs.h
index 5123c47..fa78235 100644
--- a/src/channel-inputs.h
+++ b/src/channel-inputs.h
@@ -83,18 +83,36 @@ struct _SpiceInputsChannelClass {
 
 GType spice_inputs_channel_get_type(void);
 
-void spice_inputs_motion(SpiceInputsChannel *channel, gint dx, gint dy,
-                         gint button_state);
-void spice_inputs_position(SpiceInputsChannel *channel, gint x, gint y,
-                           gint display, gint button_state);
-void spice_inputs_button_press(SpiceInputsChannel *channel, gint button,
-                               gint button_state);
-void spice_inputs_button_release(SpiceInputsChannel *channel, gint button,
-                                 gint button_state);
+void spice_inputs_channel_motion(SpiceInputsChannel *channel, gint dx, gint dy, gint button_state);
+void spice_inputs_channel_position(SpiceInputsChannel *channel, gint x, gint y, gint display,
+                                   gint button_state);
+void spice_inputs_channel_button_press(SpiceInputsChannel *channel, gint button, gint button_state);
+void spice_inputs_channel_button_release(SpiceInputsChannel *channel, gint button,
+                                         gint button_state);
+void spice_inputs_channel_key_press(SpiceInputsChannel *channel, guint scancode);
+void spice_inputs_channel_key_release(SpiceInputsChannel *channel, guint scancode);
+void spice_inputs_channel_set_key_locks(SpiceInputsChannel *channel, guint locks);
+void spice_inputs_channel_key_press_and_release(SpiceInputsChannel *channel, guint scancode);
+
+#ifndef SPICE_DISABLE_DEPRECATED
+G_DEPRECATED_FOR(spice_inputs_channel_motion)
+void spice_inputs_motion(SpiceInputsChannel *channel, gint dx, gint dy, gint button_state);
+G_DEPRECATED_FOR(spice_inputs_channel_position)
+void spice_inputs_position(SpiceInputsChannel *channel, gint x, gint y, gint display,
+                           gint button_state);
+G_DEPRECATED_FOR(spice_inputs_channel_button_press)
+void spice_inputs_button_press(SpiceInputsChannel *channel, gint button, gint button_state);
+G_DEPRECATED_FOR(spice_inputs_channel_button_release)
+void spice_inputs_button_release(SpiceInputsChannel *channel, gint button, gint button_state);
+G_DEPRECATED_FOR(spice_inputs_channel_key_press)
 void spice_inputs_key_press(SpiceInputsChannel *channel, guint scancode);
+G_DEPRECATED_FOR(spice_inputs_channel_key_release)
 void spice_inputs_key_release(SpiceInputsChannel *channel, guint scancode);
+G_DEPRECATED_FOR(spice_inputs_channel_set_key_locks)
 void spice_inputs_set_key_locks(SpiceInputsChannel *channel, guint locks);
+G_DEPRECATED_FOR(spice_inputs_channel_key_press_and_release)
 void spice_inputs_key_press_and_release(SpiceInputsChannel *channel, guint scancode);
+#endif
 
 G_END_DECLS
 
diff --git a/src/map-file b/src/map-file
index 23bcaa5..14e8ac6 100644
--- a/src/map-file
+++ b/src/map-file
@@ -63,7 +63,15 @@ spice_gtk_session_get_type;
 spice_gtk_session_paste_from_guest;
 spice_inputs_button_press;
 spice_inputs_button_release;
+spice_inputs_channel_button_press;
+spice_inputs_channel_button_release;
 spice_inputs_channel_get_type;
+spice_inputs_channel_key_press;
+spice_inputs_channel_key_press_and_release;
+spice_inputs_channel_key_release;
+spice_inputs_channel_motion;
+spice_inputs_channel_position;
+spice_inputs_channel_set_key_locks;
 spice_inputs_key_press;
 spice_inputs_key_press_and_release;
 spice_inputs_key_release;
diff --git a/src/spice-glib-sym-file b/src/spice-glib-sym-file
index 10cc245..38e87e0 100644
--- a/src/spice-glib-sym-file
+++ b/src/spice-glib-sym-file
@@ -42,7 +42,15 @@ spice_gl_scanout_get_type
 spice_g_signal_connect_object
 spice_inputs_button_press
 spice_inputs_button_release
+spice_inputs_channel_button_press
+spice_inputs_channel_button_release
 spice_inputs_channel_get_type
+spice_inputs_channel_key_press
+spice_inputs_channel_key_press_and_release
+spice_inputs_channel_key_release
+spice_inputs_channel_motion
+spice_inputs_channel_position
+spice_inputs_channel_set_key_locks
 spice_inputs_key_press
 spice_inputs_key_press_and_release
 spice_inputs_key_release
diff --git a/src/spice-gtk-session.c b/src/spice-gtk-session.c
index e338ce6..6a53bf5 100644
--- a/src/spice-gtk-session.c
+++ b/src/spice-gtk-session.c
@@ -201,7 +201,7 @@ static void spice_gtk_session_sync_keyboard_modifiers_for_channel(SpiceGtkSessio
     if (force || client_modifiers != guest_modifiers) {
         CHANNEL_DEBUG(inputs, "client_modifiers:0x%x, guest_modifiers:0x%x",
                       client_modifiers, guest_modifiers);
-        spice_inputs_set_key_locks(inputs, client_modifiers);
+        spice_inputs_channel_set_key_locks(inputs, client_modifiers);
     }
 }
 
diff --git a/src/spice-widget.c b/src/spice-widget.c
index 714ca88..22d25c9 100644
--- a/src/spice-widget.c
+++ b/src/spice-widget.c
@@ -1381,7 +1381,7 @@ static void key_press_and_release(SpiceDisplay *display)
     if (d->key_delayed_scancode == 0)
         return;
 
-    spice_inputs_key_press_and_release(d->inputs, d->key_delayed_scancode);
+    spice_inputs_channel_key_press_and_release(d->inputs, d->key_delayed_scancode);
     d->key_delayed_scancode = 0;
 
     if (d->key_delayed_id) {
@@ -1398,7 +1398,7 @@ static gboolean key_press_delayed(gpointer data)
     if (d->key_delayed_scancode == 0)
         return FALSE;
 
-    spice_inputs_key_press(d->inputs, d->key_delayed_scancode);
+    spice_inputs_channel_key_press(d->inputs, d->key_delayed_scancode);
     d->key_delayed_scancode = 0;
 
     if (d->key_delayed_id) {
@@ -1419,11 +1419,11 @@ static bool send_pause(SpiceDisplay *display, GdkEventType type)
      * 0x45 is the NumLock.
      */
     if (type == GDK_KEY_PRESS) {
-        spice_inputs_key_press(inputs, 0x21d);
-        spice_inputs_key_press(inputs, 0x45);
+        spice_inputs_channel_key_press(inputs, 0x21d);
+        spice_inputs_channel_key_press(inputs, 0x45);
     } else {
-        spice_inputs_key_release(inputs, 0x21d);
-        spice_inputs_key_release(inputs, 0x45);
+        spice_inputs_channel_key_release(inputs, 0x21d);
+        spice_inputs_channel_key_release(inputs, 0x45);
     }
     return true;
 }
@@ -1458,7 +1458,7 @@ static void send_key(SpiceDisplay *display, int scancode, SendKeyType type, gboo
             d->key_delayed_id = g_timeout_add(d->keypress_delay, key_press_delayed, display);
             d->key_delayed_scancode = scancode;
         } else
-            spice_inputs_key_press(d->inputs, scancode);
+            spice_inputs_channel_key_press(d->inputs, scancode);
 
         d->key_state[i] |= m;
         break;
@@ -1472,7 +1472,7 @@ static void send_key(SpiceDisplay *display, int scancode, SendKeyType type, gboo
         else {
             /* ensure delayed key is pressed before other key are released */
             key_press_delayed(display);
-            spice_inputs_key_release(d->inputs, scancode);
+            spice_inputs_channel_key_release(d->inputs, scancode);
         }
 
         d->key_state[i] &= ~m;
@@ -1989,8 +1989,8 @@ static gboolean motion_event(GtkWidget *widget, GdkEventMotion *motion)
     case SPICE_MOUSE_MODE_CLIENT:
         if (x >= 0 && x < d->area.width &&
             y >= 0 && y < d->area.height) {
-            spice_inputs_position(d->inputs, x, y, get_display_id(display),
-                                  button_mask_gdk_to_spice(motion->state));
+            spice_inputs_channel_position(d->inputs, x, y, get_display_id(display),
+                                          button_mask_gdk_to_spice(motion->state));
         }
         break;
     case SPICE_MOUSE_MODE_SERVER:
@@ -1998,8 +1998,8 @@ static gboolean motion_event(GtkWidget *widget, GdkEventMotion *motion)
             gint dx = d->mouse_last_x != -1 ? x - d->mouse_last_x : 0;
             gint dy = d->mouse_last_y != -1 ? y - d->mouse_last_y : 0;
 
-            spice_inputs_motion(d->inputs, dx, dy,
-                                button_mask_gdk_to_spice(motion->state));
+            spice_inputs_channel_motion(d->inputs, dx, dy,
+                                        button_mask_gdk_to_spice(motion->state));
 
             d->mouse_last_x = x;
             d->mouse_last_y = y;
@@ -2036,10 +2036,10 @@ static gboolean scroll_event(GtkWidget *widget, GdkEventScroll *scroll)
         return true;
     }
 
-    spice_inputs_button_press(d->inputs, button,
-                              button_mask_gdk_to_spice(scroll->state));
-    spice_inputs_button_release(d->inputs, button,
-                                button_mask_gdk_to_spice(scroll->state));
+    spice_inputs_channel_button_press(d->inputs, button,
+                                      button_mask_gdk_to_spice(scroll->state));
+    spice_inputs_channel_button_release(d->inputs, button,
+                                        button_mask_gdk_to_spice(scroll->state));
     return true;
 }
 
@@ -2091,14 +2091,14 @@ static gboolean button_event(GtkWidget *widget, GdkEventButton *button)
 
     switch (button->type) {
     case GDK_BUTTON_PRESS:
-        spice_inputs_button_press(d->inputs,
-                                  button_gdk_to_spice(button->button),
-                                  button_mask_gdk_to_spice(button->state));
+        spice_inputs_channel_button_press(d->inputs,
+                                          button_gdk_to_spice(button->button),
+                                          button_mask_gdk_to_spice(button->state));
         break;
     case GDK_BUTTON_RELEASE:
-        spice_inputs_button_release(d->inputs,
-                                    button_gdk_to_spice(button->button),
-                                    button_mask_gdk_to_spice(button->state));
+        spice_inputs_channel_button_release(d->inputs,
+                                            button_gdk_to_spice(button->button),
+                                            button_mask_gdk_to_spice(button->state));
         break;
     default:
         break;
-- 
2.7.4



More information about the Spice-devel mailing list