[Spice-devel] [PATCH v3 3/4] use QXLState instead of RedDispatcher
Christophe Fergeau
cfergeau at redhat.com
Fri Mar 4 15:41:52 UTC 2016
On Fri, Mar 04, 2016 at 03:13:27PM +0000, Frediano Ziglio wrote:
> Considering that:
> - QXLState is the state of QXLInstance implementation;
> - RedDispatcher is the implementation of QXL;
> - qif (QXLInterface*) field can be computed really easy from QXLInstance;
> - most of its state is private.
> Make all structure private and use QXLState instead of RedDispatcher.
>
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> Acked-by: Jonathon Jongsma <jjongsma at redhat.com>
> ---
> server/cursor-channel.c | 2 +-
> server/dcc-send.c | 17 +-
> server/dcc.c | 4 +-
> server/display-channel.c | 8 +-
> server/red-qxl.c | 499 +++++++++++++++++++++++++----------------------
> server/red-qxl.h | 37 ++--
> server/red-worker.c | 57 +++---
> server/red-worker.h | 2 +-
> server/reds-private.h | 2 +-
> server/reds.c | 80 ++++----
> server/reds.h | 11 +-
> 11 files changed, 372 insertions(+), 347 deletions(-)
>
> diff --git a/server/cursor-channel.c b/server/cursor-channel.c
> index 268e34f..f5cb5ee 100644
> --- a/server/cursor-channel.c
> +++ b/server/cursor-channel.c
> @@ -116,7 +116,7 @@ static void cursor_item_unref(CursorItem *item)
> return;
>
> cursor_cmd = item->red_cursor;
> - item->qxl->st->qif->release_resource(item->qxl, cursor_cmd->release_info_ext);
> + qxl_get_interface(item->qxl)->release_resource(item->qxl, cursor_cmd->release_info_ext);
For what it's worth, this could even become
red_qxl_interface_release_resource(item->qxl, cursor_cmd->release_resource_ext)
if we want to hide the function pointers.
> diff --git a/server/red-worker.h b/server/red-worker.h
> index e51e261..0f9cf61 100644
> --- a/server/red-worker.h
> +++ b/server/red-worker.h
> @@ -90,7 +90,7 @@ static inline void red_pipes_add_verb(RedChannel *channel, uint16_t verb)
> }
> }
>
> -RedWorker* red_worker_new(QXLInstance *qxl, RedDispatcher *red_dispatcher);
> +RedWorker* red_worker_new(QXLInstance *qxl, QXLState *qxl_state);
> bool red_worker_run(RedWorker *worker);
> RedChannel* red_worker_get_cursor_channel(RedWorker *worker);
> RedChannel* red_worker_get_display_channel(RedWorker *worker);
> diff --git a/server/reds-private.h b/server/reds-private.h
> index f567929..7877c73 100644
> --- a/server/reds-private.h
> +++ b/server/reds-private.h
> @@ -241,7 +241,7 @@ struct RedsState {
>
> RedSSLParameters ssl_parameters;
> SpiceCoreInterfaceInternal *core;
> - GList *dispatchers;
> + GList *red_qxls;
qxl_states rather than red_qxls maybe?
Looks good either way,
Acked-by: Christophe Fergeau <cfergeau at redhat.com>
Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20160304/d73a7da9/attachment.sig>
More information about the Spice-devel
mailing list