[PATCH spice-server 11/11] inputs-channel: Move spice_server_kbd_leds to InputsChannel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This avoids to expose some detail about the channel.
Like other APIs implement it move close to the part that handle
it instead of have everything in reds.c.

Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx>
---
 server/inputs-channel.c | 18 +++++++-----------
 server/inputs-channel.h |  2 --
 server/reds.c           |  7 -------
 3 files changed, 7 insertions(+), 20 deletions(-)

diff --git a/server/inputs-channel.c b/server/inputs-channel.c
index 51e25969..3b2118f9 100644
--- a/server/inputs-channel.c
+++ b/server/inputs-channel.c
@@ -68,25 +68,20 @@ struct SpiceKbdState {
     /* track key press state */
     bool key[0x80];
     bool key_ext[0x80];
-    RedsState *reds;
+    InputsChannel *inputs;
 };
 
 static SpiceKbdInstance* inputs_channel_get_keyboard(InputsChannel *inputs);
 static SpiceMouseInstance* inputs_channel_get_mouse(InputsChannel *inputs);
 static SpiceTabletInstance* inputs_channel_get_tablet(InputsChannel *inputs);
 
-static SpiceKbdState* spice_kbd_state_new(RedsState *reds)
+static SpiceKbdState* spice_kbd_state_new(InputsChannel *inputs)
 {
     SpiceKbdState *st = g_new0(SpiceKbdState, 1);
-    st->reds = reds;
+    st->inputs = inputs;
     return st;
 }
 
-RedsState* spice_kbd_state_get_server(SpiceKbdState *dev)
-{
-    return dev->reds;
-}
-
 struct SpiceMouseState {
     int dummy;
 };
@@ -485,9 +480,10 @@ static void inputs_channel_push_keyboard_modifiers(InputsChannel *inputs, uint8_
                           red_inputs_key_modifiers_item_new(modifiers));
 }
 
-void inputs_channel_on_keyboard_leds_change(InputsChannel *inputs, uint8_t leds)
+SPICE_GNUC_VISIBLE int spice_server_kbd_leds(SpiceKbdInstance *sin, int leds)
 {
-    inputs_channel_push_keyboard_modifiers(inputs, leds);
+    inputs_channel_push_keyboard_modifiers(sin->st->inputs, leds);
+    return 0;
 }
 
 static void key_modifiers_sender(void *opaque)
@@ -615,7 +611,7 @@ int inputs_channel_set_keyboard(InputsChannel *inputs, SpiceKbdInstance *keyboar
         return -1;
     }
     inputs->keyboard = keyboard;
-    inputs->keyboard->st = spice_kbd_state_new(red_channel_get_server(RED_CHANNEL(inputs)));
+    inputs->keyboard->st = spice_kbd_state_new(inputs);
     return 0;
 }
 
diff --git a/server/inputs-channel.h b/server/inputs-channel.h
index 1082d66c..945ba617 100644
--- a/server/inputs-channel.h
+++ b/server/inputs-channel.h
@@ -47,7 +47,6 @@ GType inputs_channel_get_type(void) G_GNUC_CONST;
 InputsChannel* inputs_channel_new(RedsState *reds);
 
 const VDAgentMouseState *inputs_channel_get_mouse_state(InputsChannel *inputs);
-void inputs_channel_on_keyboard_leds_change(InputsChannel *inputs, uint8_t leds);
 void inputs_channel_set_tablet_logical_size(InputsChannel *inputs, int x_res, int y_res);
 
 int inputs_channel_set_keyboard(InputsChannel *inputs, SpiceKbdInstance *keyboard);
@@ -56,7 +55,6 @@ int inputs_channel_set_tablet(InputsChannel *inputs, SpiceTabletInstance *tablet
 int inputs_channel_has_tablet(InputsChannel *inputs);
 void inputs_channel_detach_tablet(InputsChannel *inputs, SpiceTabletInstance *tablet);
 RedsState* spice_tablet_state_get_server(SpiceTabletState *dev);
-RedsState* spice_kbd_state_get_server(SpiceKbdState *dev);
 gboolean inputs_channel_is_src_during_migrate(InputsChannel *inputs);
 void inputs_release_keys(InputsChannel *inputs);
 
diff --git a/server/reds.c b/server/reds.c
index 761afa77..9338b78b 100644
--- a/server/reds.c
+++ b/server/reds.c
@@ -4002,13 +4002,6 @@ SPICE_GNUC_VISIBLE int spice_server_add_renderer(SpiceServer *reds, const char *
     return 0;
 }
 
-SPICE_GNUC_VISIBLE int spice_server_kbd_leds(SpiceKbdInstance *sin, int leds)
-{
-    RedsState *reds = spice_kbd_state_get_server(sin->st);
-    inputs_channel_on_keyboard_leds_change(reds->inputs_channel, leds);
-    return 0;
-}
-
 SPICE_GNUC_VISIBLE int spice_server_set_streaming_video(SpiceServer *reds, int value)
 {
     if (value != SPICE_STREAM_VIDEO_OFF &&
-- 
2.14.3

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]