[Spice-devel] [PATCH spice-server v2 3/3] Remove core parameter from main_dispatcher_new
Jonathon Jongsma
jjongsma at redhat.com
Tue Feb 12 21:56:13 UTC 2019
Acked-by: Jonathon Jongsma <jjongsma at redhat.com>
On Tue, 2019-02-12 at 21:24 +0000, Frediano Ziglio wrote:
> This was added in bd8771adbcf3ff34d14333cf874191e8d105f612.
> There's no reason to not use reds function instead.
> MainDispatcher needs to listen in the main thread that is the
> one provided by reds_core_* functions.
>
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> ---
> server/main-dispatcher.c | 29 ++++++-----------------------
> server/main-dispatcher.h | 2 +-
> server/reds.c | 2 +-
> 3 files changed, 8 insertions(+), 25 deletions(-)
>
> diff --git a/server/main-dispatcher.c b/server/main-dispatcher.c
> index 99d2a6216..82b25e6e4 100644
> --- a/server/main-dispatcher.c
> +++ b/server/main-dispatcher.c
> @@ -48,7 +48,6 @@
> */
> struct MainDispatcherPrivate
> {
> - SpiceCoreInterfaceInternal *core; /* weak */
> RedsState *reds; /* weak */
> SpiceWatch *watch;
> };
> @@ -58,7 +57,6 @@ G_DEFINE_TYPE_WITH_PRIVATE(MainDispatcher,
> main_dispatcher, TYPE_DISPATCHER)
> enum {
> PROP0,
> PROP_SPICE_SERVER,
> - PROP_CORE_INTERFACE
> };
>
> static void
> @@ -73,9 +71,6 @@ main_dispatcher_get_property(GObject *object,
> case PROP_SPICE_SERVER:
> g_value_set_pointer(value, self->priv->reds);
> break;
> - case PROP_CORE_INTERFACE:
> - g_value_set_pointer(value, self->priv->core);
> - break;
> default:
> G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id,
> pspec);
> }
> @@ -93,9 +88,6 @@ main_dispatcher_set_property(GObject *object,
> case PROP_SPICE_SERVER:
> self->priv->reds = g_value_get_pointer(value);
> break;
> - case PROP_CORE_INTERFACE:
> - self->priv->core = g_value_get_pointer(value);
> - break;
> default:
> G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id,
> pspec);
> }
> @@ -121,14 +113,6 @@ main_dispatcher_class_init(MainDispatcherClass
> *klass)
> "The spice
> server associated with this dispatcher",
> G_PARAM_REA
> DWRITE |
> G_PARAM_CON
> STRUCT_ONLY));
> -
> - g_object_class_install_property(object_class,
> - PROP_CORE_INTERFACE,
> - g_param_spec_pointer("core-
> interface",
> - "core-
> interface",
> - "The
> SpiceCoreInterface server associated with this dispatcher",
> - G_PARAM_REA
> DWRITE |
> - G_PARAM_CON
> STRUCT_ONLY));
> }
>
> static void
> @@ -284,11 +268,10 @@ static void dispatcher_handle_read(int fd, int
> event, void *opaque)
> * Reds routines shouldn't be exposed. Instead reds.c should
> register the callbacks,
> * and the corresponding operations should be made only via
> main_dispatcher.
> */
> -MainDispatcher* main_dispatcher_new(RedsState *reds,
> SpiceCoreInterfaceInternal *core)
> +MainDispatcher* main_dispatcher_new(RedsState *reds)
> {
> MainDispatcher *self = g_object_new(TYPE_MAIN_DISPATCHER,
> "spice-server", reds,
> - "core-interface", core,
> "max-message-type",
> MAIN_DISPATCHER_NUM_MESSAGES,
> NULL);
> return self;
> @@ -302,10 +285,10 @@ void main_dispatcher_constructed(GObject
> *object)
> dispatcher_set_opaque(DISPATCHER(self), self);
>
> self->priv->watch =
> - self->priv->core->watch_add(self->priv->core,
> - dispatcher_get_recv_fd(DISPATCHE
> R(self)),
> - SPICE_WATCH_EVENT_READ,
> dispatcher_handle_read,
> - DISPATCHER(self));
> + reds_core_watch_add(self->priv->reds,
> + dispatcher_get_recv_fd(DISPATCHER(self))
> ,
> + SPICE_WATCH_EVENT_READ,
> dispatcher_handle_read,
> + DISPATCHER(self));
> dispatcher_register_handler(DISPATCHER(self),
> MAIN_DISPATCHER_CHANNEL_EVENT,
> main_dispatcher_handle_channel_event
> ,
> sizeof(MainDispatcherChannelEventMes
> sage), false);
> @@ -324,7 +307,7 @@ static void main_dispatcher_finalize(GObject
> *object)
> {
> MainDispatcher *self = MAIN_DISPATCHER(object);
>
> - self->priv->core->watch_remove(self->priv->core, self->priv-
> >watch);
> + reds_core_watch_remove(self->priv->reds, self->priv->watch);
> self->priv->watch = NULL;
> G_OBJECT_CLASS(main_dispatcher_parent_class)->finalize(object);
> }
> diff --git a/server/main-dispatcher.h b/server/main-dispatcher.h
> index 088a5c216..e1244f836 100644
> --- a/server/main-dispatcher.h
> +++ b/server/main-dispatcher.h
> @@ -59,6 +59,6 @@ void
> main_dispatcher_set_mm_time_latency(MainDispatcher *self, RedClient
> *client
> */
> void main_dispatcher_client_disconnect(MainDispatcher *self,
> RedClient *client);
>
> -MainDispatcher* main_dispatcher_new(RedsState *reds,
> SpiceCoreInterfaceInternal *core);
> +MainDispatcher* main_dispatcher_new(RedsState *reds);
>
> #endif /* MAIN_DISPATCHER_H_ */
> diff --git a/server/reds.c b/server/reds.c
> index b73253947..306bb7c6e 100644
> --- a/server/reds.c
> +++ b/server/reds.c
> @@ -3504,7 +3504,7 @@ static int do_spice_init(RedsState *reds,
> SpiceCoreInterface *core_interface)
> reds->agent_dev = red_char_device_vdi_port_new(reds);
> reds_update_agent_properties(reds);
> reds->clients = NULL;
> - reds->main_dispatcher = main_dispatcher_new(reds, &reds->core);
> + reds->main_dispatcher = main_dispatcher_new(reds);
> reds->channels = NULL;
> reds->mig_target_clients = NULL;
> reds->char_devices = NULL;
More information about the Spice-devel
mailing list