[Spice-devel] [PATCH EXP 3/3] try to minimize header dependencies
Pavel Grunt
pgrunt at redhat.com
Mon May 9 11:52:44 UTC 2016
Hi Frediano,
On Mon, 2016-05-09 at 11:51 +0100, Frediano Ziglio wrote:
> Different headers changes:
> - order headers:
> - system/no-spice library includes;
> - spice-common/spice-protocol;
maybe protocol before common (just to keep one style in all the files)?
> - spice-server;
> - every header must be auto sufficient;
> - use definition include only if necessary.
>
What do you mean by "definition include" ?
It is always better to have some rules, I like your suggestion.
Also would be nice to update the documentation (SPICE style) when we agree on
the style.
Thanks,
Pavel
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> ---
> server/agent-msg-filter.h | 9 ++++++---
> server/cache-item.h | 2 +-
> server/char-device.h | 3 +--
> server/cursor-channel.h | 3 ---
> server/dcc-encoders.h | 42 +++++++++++++++++++++++-----------------
> -
> server/dcc-send.c | 8 +++++---
> server/dcc.c | 2 ++
> server/dcc.h | 10 ++++++----
> server/demarshallers.h | 3 +++
> server/dispatcher.c | 1 +
> server/dispatcher.h | 2 +-
> server/display-channel.c | 3 +++
> server/display-channel.h | 24 ++---------------------
> server/glz-encoder-priv.h | 4 +++-
> server/glz-encoder.h | 1 -
> server/inputs-channel.h | 2 ++
> server/main-dispatcher.h | 1 -
> server/memslot.c | 3 +--
> server/memslot.h | 2 --
> server/migration-protocol.h | 2 ++
> server/pixmap-cache.c | 1 +
> server/pixmap-cache.h | 10 +++++++---
> server/red-channel.h | 4 +---
> server/red-parse-qxl.h | 9 ++++++---
> server/red-pipe-item.h | 1 +
> server/red-qxl.h | 1 -
> server/red-record-qxl.h | 7 ++++---
> server/red-replay-qxl.h | 3 ++-
> server/red-worker.c | 3 +++
> server/red-worker.h | 3 +--
> server/reds-private.h | 5 +++++
> server/reds-stream.h | 8 ++------
> server/reds.h | 6 ++----
> server/smartcard.h | 2 ++
> server/sound.h | 6 ++++--
> server/spice-bitmap-utils.h | 5 ++++-
> server/stat.h | 1 +
> server/stream.c | 2 ++
> server/stream.h | 4 ++--
> server/tests/replay.c | 1 +
> server/tests/test-qxl-parsing.c | 1 +
> server/tree.h | 3 ++-
> server/utils.h | 3 ++-
> server/video-encoder.h | 3 +++
> server/zlib-encoder.h | 2 ++
> 45 files changed, 124 insertions(+), 97 deletions(-)
>
> diff --git a/server/agent-msg-filter.h b/server/agent-msg-filter.h
> index 836ddbd..e7eef1a 100644
> --- a/server/agent-msg-filter.h
> +++ b/server/agent-msg-filter.h
> @@ -21,6 +21,9 @@
> #ifndef _H_AGENT_MSG_FILTER
> #define _H_AGENT_MSG_FILTER
>
> +#include <inttypes.h>
> +#include <glib.h>
> +
> /* Possible return values for agent_msg_filter_process_data */
> enum {
> AGENT_MSG_FILTER_OK,
> @@ -39,14 +42,14 @@ typedef struct AgentMsgFilter {
> gboolean discard_all;
> } AgentMsgFilter;
>
> -void agent_msg_filter_init(struct AgentMsgFilter *filter,
> +void agent_msg_filter_init(AgentMsgFilter *filter,
> gboolean copy_paste, gboolean file_xfer,
> gboolean use_client_monitors_config,
> gboolean discard_all);
> -void agent_msg_filter_config(struct AgentMsgFilter *filter,
> +void agent_msg_filter_config(AgentMsgFilter *filter,
> gboolean copy_paste, gboolean file_xfer,
> gboolean use_client_monitors_config);
> -int agent_msg_filter_process_data(struct AgentMsgFilter *filter,
> +int agent_msg_filter_process_data(AgentMsgFilter *filter,
> uint8_t *data, uint32_t len);
>
> #endif
> diff --git a/server/cache-item.h b/server/cache-item.h
> index f72c0ff..f13a69a 100644
> --- a/server/cache-item.h
> +++ b/server/cache-item.h
> @@ -18,8 +18,8 @@
> #ifndef CACHE_ITEM_H_
> # define CACHE_ITEM_H_
>
> -#include "red-channel.h"
> #include <common/ring.h>
> +#include "red-pipe-item.h"
>
> typedef struct RedCacheItem RedCacheItem;
>
> diff --git a/server/char-device.h b/server/char-device.h
> index d05b1fd..0dec86a 100644
> --- a/server/char-device.h
> +++ b/server/char-device.h
> @@ -20,9 +20,8 @@
>
> #include <glib-object.h>
>
> -#include "spice.h"
> -#include "red-channel.h"
> #include "migration-protocol.h"
> +#include "red-channel.h"
>
> #define RED_TYPE_CHAR_DEVICE red_char_device_get_type()
>
> diff --git a/server/cursor-channel.h b/server/cursor-channel.h
> index 4dad4b6..3b56824 100644
> --- a/server/cursor-channel.h
> +++ b/server/cursor-channel.h
> @@ -18,10 +18,7 @@
> #ifndef CURSOR_CHANNEL_H_
> # define CURSOR_CHANNEL_H_
>
> -#include "spice.h"
> -#include "reds.h"
> #include "red-worker.h"
> -#include "red-parse-qxl.h"
>
> typedef struct CursorChannel CursorChannel;
> typedef struct CursorChannelClient CursorChannelClient;
> diff --git a/server/dcc-encoders.h b/server/dcc-encoders.h
> index 14759c5..5f2f519 100644
> --- a/server/dcc-encoders.h
> +++ b/server/dcc-encoders.h
> @@ -19,11 +19,13 @@
> #define DCC_ENCODERS_H_
>
> #include <setjmp.h>
> +
> #include <common/marshaller.h>
> #include <common/quic.h>
> -#include "red-channel.h"
> +#include <common/lz.h>
> +#include <common/ring.h>
> +
> #include "red-parse-qxl.h"
> -#include "image-cache.h"
> #include "glz-encoder.h"
> #include "jpeg-encoder.h"
> #ifdef USE_LZ4
> @@ -31,21 +33,25 @@
> #endif
> #include "zlib-encoder.h"
>
> +struct RedClient;
> +struct Drawable;
> +struct DisplayChannelClient;
> +
> typedef struct RedCompressBuf RedCompressBuf;
> typedef struct GlzDrawableInstanceItem GlzDrawableInstanceItem;
> typedef struct RedGlzDrawable RedGlzDrawable;
>
> -void dcc_encoders_init (DisplayChannelC
> lient *dcc);
> -void dcc_encoders_free (DisplayChannelC
> lient *dcc);
> -void dcc_free_glz_drawable_instance (DisplayChannelC
> lient *dcc,
> +void dcc_encoders_init (struct
> DisplayChannelClient *dcc);
> +void dcc_encoders_free (struct
> DisplayChannelClient *dcc);
> +void dcc_free_glz_drawable_instance (struct
> DisplayChannelClient *dcc,
> GlzDrawableInst
> anceItem *item);
> -void dcc_free_glz_drawable (DisplayChannelC
> lient *dcc,
> +void dcc_free_glz_drawable (struct
> DisplayChannelClient *dcc,
> RedGlzDrawable
> *drawable);
> -int dcc_free_some_independent_glz_drawables (DisplayChannelC
> lient *dcc);
> -void dcc_free_glz_drawables (DisplayChannelC
> lient *dcc);
> -void dcc_free_glz_drawables_to_free (DisplayChannelC
> lient* dcc);
> -void dcc_freeze_glz (DisplayChannelC
> lient *dcc);
> -void dcc_release_glz (DisplayChannelC
> lient *dcc);
> +int dcc_free_some_independent_glz_drawables (struct
> DisplayChannelClient *dcc);
> +void dcc_free_glz_drawables (struct
> DisplayChannelClient *dcc);
> +void dcc_free_glz_drawables_to_free (struct
> DisplayChannelClient* dcc);
> +void dcc_freeze_glz (struct
> DisplayChannelClient *dcc);
> +void dcc_release_glz (struct
> DisplayChannelClient *dcc);
>
> void marshaller_add_compressed (SpiceMarshaller
> *m,
> RedCompressBuf
> *comp_buf,
> @@ -71,17 +77,17 @@ typedef struct GlzSharedDictionary {
> uint8_t id;
> pthread_rwlock_t encode_lock;
> int migrate_freeze;
> - RedClient *client; // channel clients of the same client share the dict
> + struct RedClient *client; // channel clients of the same client share the
> dict
> } GlzSharedDictionary;
>
> -GlzSharedDictionary*
> dcc_get_glz_dictionary (DisplayChannelClient *dcc,
> +GlzSharedDictionary* dcc_get_glz_dictionary (struct
> DisplayChannelClient *dcc,
> uint8_t id, int
> window_size);
> -GlzSharedDictionary*
> dcc_restore_glz_dictionary (DisplayChannelClient *dcc,
> +GlzSharedDictionary* dcc_restore_glz_dictionary (struct
> DisplayChannelClient *dcc,
> uint8_t id,
> GlzEncDictResto
> reData *restore_data);
>
> typedef struct {
> - DisplayChannelClient *dcc;
> + struct DisplayChannelClient *dcc;
> RedCompressBuf *bufs_head;
> RedCompressBuf *bufs_tail;
> jmp_buf jmp_env;
> @@ -100,7 +106,7 @@ typedef struct {
> char message_buf[512];
> } EncoderData;
>
> -void encoder_data_init(EncoderData *data, DisplayChannelClient *dcc);
> +void encoder_data_init(EncoderData *data, struct DisplayChannelClient *dcc);
> void encoder_data_reset(EncoderData *data);
>
> typedef struct {
> @@ -155,11 +161,11 @@ struct RedGlzDrawable {
> RingItem link; // ordered by the time it was encoded
> RingItem drawable_link;
> RedDrawable *red_drawable;
> - Drawable *drawable;
> + struct Drawable *drawable;
> GlzDrawableInstanceItem instances_pool[MAX_GLZ_DRAWABLE_INSTANCES];
> Ring instances;
> uint8_t instances_count;
> - DisplayChannelClient *dcc;
> + struct DisplayChannelClient *dcc;
> };
>
> #define RED_RELEASE_BUNCH_SIZE 64
> diff --git a/server/dcc-send.c b/server/dcc-send.c
> index 5f967cc..67e505c 100644
> --- a/server/dcc-send.c
> +++ b/server/dcc-send.c
> @@ -19,12 +19,14 @@
> #include <config.h>
> #endif
>
> -#include "dcc.h"
> -#include "display-channel.h"
> -
> #include <common/marshaller.h>
> #include <common/generated_server_marshallers.h>
>
> +#include "reds.h"
> +#include "dcc.h"
> +#include "display-channel.h"
> +#include "cache-item.h"
> +
> typedef enum {
> FILL_BITS_TYPE_INVALID,
> FILL_BITS_TYPE_CACHE,
> diff --git a/server/dcc.c b/server/dcc.c
> index db77cc7..a73d9b9 100644
> --- a/server/dcc.c
> +++ b/server/dcc.c
> @@ -21,6 +21,8 @@
>
> #include "dcc.h"
> #include "display-channel.h"
> +#include "migration-protocol.h"
> +#include "cache-item.h"
>
> #define DISPLAY_CLIENT_SHORT_TIMEOUT 15000000000ULL //nano
>
> diff --git a/server/dcc.h b/server/dcc.h
> index 1dd53bd..9d0b554 100644
> --- a/server/dcc.h
> +++ b/server/dcc.h
> @@ -18,12 +18,12 @@
> #ifndef DCC_H_
> # define DCC_H_
>
> -#include "red-worker.h"
> +#include "image-cache.h"
> #include "pixmap-cache.h"
> -#include "cache-item.h"
> +#include "display-limits.h"
> +#include "red-worker.h"
> #include "dcc-encoders.h"
> #include "stream.h"
> -#include "display-limits.h"
>
> #define PALETTE_CACHE_HASH_SHIFT 8
> #define PALETTE_CACHE_HASH_SIZE (1 << PALETTE_CACHE_HASH_SHIFT)
> @@ -42,6 +42,8 @@
>
> #define MAX_PIPE_SIZE 50
>
> +struct RedCacheItem;
> +
> typedef struct WaitForChannels {
> SpiceMsgWaitForChannels header;
> SpiceWaitForChannel buf[MAX_CACHE_CLIENTS];
> @@ -82,7 +84,7 @@ struct DisplayChannelClient {
> uint32_t pixmap_cache_generation;
> int pending_pixmaps_sync;
>
> - RedCacheItem *palette_cache[PALETTE_CACHE_HASH_SIZE];
> + struct RedCacheItem *palette_cache[PALETTE_CACHE_HASH_SIZE];
> Ring palette_cache_lru;
> long palette_cache_available;
> uint32_t palette_cache_items;
> diff --git a/server/demarshallers.h b/server/demarshallers.h
> index c3d770d..dc35645 100644
> --- a/server/demarshallers.h
> +++ b/server/demarshallers.h
> @@ -17,6 +17,9 @@
> #ifndef _H_DEMARSHAL
> #define _H_DEMARSHAL
>
> +#include <stddef.h>
> +#include <inttypes.h>
> +
> typedef void (*message_destructor_t)(uint8_t *message);
> typedef uint8_t * (*spice_parse_channel_func_t)(uint8_t *message_start,
> uint8_t *message_end, uint16_t message_type, int minor,
> size_t *size_out,
> message_destructor_t *free_message);
> diff --git a/server/dispatcher.c b/server/dispatcher.c
> index b9e23f6..96dccb8 100644
> --- a/server/dispatcher.c
> +++ b/server/dispatcher.c
> @@ -30,6 +30,7 @@
>
> #include <common/mem.h>
> #include <common/spice_common.h>
> +#include "red-common.h"
> #include "dispatcher.h"
>
> //#define DEBUG_DISPATCHER
> diff --git a/server/dispatcher.h b/server/dispatcher.h
> index caaebc5..b187a0e 100644
> --- a/server/dispatcher.h
> +++ b/server/dispatcher.h
> @@ -18,8 +18,8 @@
> #ifndef DISPATCHER_H
> #define DISPATCHER_H
>
> +#include <inttypes.h>
> #include <glib-object.h>
> -#include "red-common.h"
>
> #define TYPE_DISPATCHER dispatcher_get_type()
>
> diff --git a/server/display-channel.c b/server/display-channel.c
> index 1f4d66f..245f241 100644
> --- a/server/display-channel.c
> +++ b/server/display-channel.c
> @@ -18,7 +18,10 @@
> #include <config.h>
> #endif
>
> +#include <common/sw_canvas.h>
> +
> #include "display-channel.h"
> +#include "reds.h"
>
> static void drawable_draw(DisplayChannel *display, Drawable *drawable);
>
> diff --git a/server/display-channel.h b/server/display-channel.h
> index 1d20be0..efb0b44 100644
> --- a/server/display-channel.h
> +++ b/server/display-channel.h
> @@ -21,32 +21,12 @@
> #include <setjmp.h>
>
> #include <common/rect.h>
> -#include <common/sw_canvas.h>
> -
> -#include "red-worker.h"
> -#include "reds-stream.h"
> -#include "cache-item.h"
> -#include "pixmap-cache.h"
> -#include "stat.h"
> -#include "reds.h"
> -#include "memslot.h"
> -#include "red-parse-qxl.h"
> -#include "red-record-qxl.h"
> -#include "demarshallers.h"
> -#include "red-channel.h"
> -#include "red-qxl.h"
> -#include "dispatcher.h"
> -#include "main-channel.h"
> -#include "migration-protocol.h"
> -#include "main-dispatcher.h"
> +
> #include "spice-bitmap-utils.h"
> -#include "image-cache.h"
> -#include "utils.h"
> #include "tree.h"
> +#include "red-channel.h"
> #include "stream.h"
> #include "dcc.h"
> -#include "display-limits.h"
> -
>
> typedef struct DependItem {
> Drawable *drawable;
> diff --git a/server/glz-encoder-priv.h b/server/glz-encoder-priv.h
> index 919c439..1c76576 100644
> --- a/server/glz-encoder-priv.h
> +++ b/server/glz-encoder-priv.h
> @@ -18,7 +18,9 @@
> #ifndef GLZ_ENCODER_PRIV_H_
> #define GLZ_ENCODER_PRIV_H_
>
> -#include "red-common.h"
> +#include <pthread.h>
> +#include <common/lz_common.h>
> +#include "glz-encoder-dict.h"
>
> /* Interface for using the dictionary for encoding.
> Data structures are exposed for the encoder for efficiency
> diff --git a/server/glz-encoder.h b/server/glz-encoder.h
> index 6f4f44d..6a597d7 100644
> --- a/server/glz-encoder.h
> +++ b/server/glz-encoder.h
> @@ -20,7 +20,6 @@
>
> /* Manging the lz encoding using a dictionary that is shared among encoders
> */
>
> -#include "red-common.h"
> #include <common/lz_common.h>
> #include "glz-encoder-dict.h"
>
> diff --git a/server/inputs-channel.h b/server/inputs-channel.h
> index fce757f..9213aec 100644
> --- a/server/inputs-channel.h
> +++ b/server/inputs-channel.h
> @@ -24,6 +24,8 @@
> #include <stdint.h>
> #include <spice/vd_agent.h>
>
> +#include "red-channel.h"
> +
> typedef struct InputsChannel InputsChannel;
>
> InputsChannel* inputs_channel_new(RedsState *reds);
> diff --git a/server/main-dispatcher.h b/server/main-dispatcher.h
> index ffe82c8..3e9d9de 100644
> --- a/server/main-dispatcher.h
> +++ b/server/main-dispatcher.h
> @@ -18,7 +18,6 @@
> #ifndef MAIN_DISPATCHER_H
> #define MAIN_DISPATCHER_H
>
> -#include <spice.h>
> #include "dispatcher.h"
> #include "red-channel.h"
>
> diff --git a/server/memslot.c b/server/memslot.c
> index 99c63e4..0881f86 100644
> --- a/server/memslot.c
> +++ b/server/memslot.c
> @@ -19,8 +19,7 @@
> #include <config.h>
> #endif
>
> -#include <inttypes.h>
> -
> +#include "red-common.h"
> #include "memslot.h"
>
> static unsigned long __get_clean_virt(RedMemSlotInfo *info, QXLPHYSICAL addr)
> diff --git a/server/memslot.h b/server/memslot.h
> index 0caa627..c4aa8c6 100644
> --- a/server/memslot.h
> +++ b/server/memslot.h
> @@ -19,8 +19,6 @@
> #ifndef MEMSLOT_H_
> #define MEMSLOT_H_
>
> -#include "red-common.h"
> -
> #include <spice/qxl_dev.h>
>
> typedef struct MemSlot {
> diff --git a/server/migration-protocol.h b/server/migration-protocol.h
> index c1d97ef..3f08150 100644
> --- a/server/migration-protocol.h
> +++ b/server/migration-protocol.h
> @@ -20,6 +20,8 @@
>
> #include <spice/macros.h>
> #include <spice/vd_agent.h>
> +#include <common/log.h>
> +
> #include "glz-encoder-dict.h"
>
> /* ************************************************
> diff --git a/server/pixmap-cache.c b/server/pixmap-cache.c
> index a485268..12081ac 100644
> --- a/server/pixmap-cache.c
> +++ b/server/pixmap-cache.c
> @@ -18,6 +18,7 @@
> #include <config.h>
> #endif
>
> +#include "red-channel.h"
> #include "pixmap-cache.h"
>
> int pixmap_cache_unlocked_set_lossy(PixmapCache *cache, uint64_t id, int
> lossy)
> diff --git a/server/pixmap-cache.h b/server/pixmap-cache.h
> index 66658f3..6bce986 100644
> --- a/server/pixmap-cache.h
> +++ b/server/pixmap-cache.h
> @@ -18,7 +18,9 @@
> #ifndef _PIXMAP_CACHE_H
> # define _PIXMAP_CACHE_H
>
> -#include "red-channel.h"
> +#include <stddef.h>
> +#include <inttypes.h>
> +#include <common/ring.h>
>
> #define MAX_CACHE_CLIENTS 4
>
> @@ -27,6 +29,8 @@
> #define BITS_CACHE_HASH_MASK (BITS_CACHE_HASH_SIZE - 1)
> #define BITS_CACHE_HASH_KEY(id) ((id) & BITS_CACHE_HASH_MASK)
>
> +struct RedClient;
> +
> typedef struct PixmapCache PixmapCache;
> typedef struct NewCacheItem NewCacheItem;
>
> @@ -61,10 +65,10 @@ struct PixmapCache {
> } generation_initiator;
> uint64_t sync[MAX_CACHE_CLIENTS]; // here CLIENTS refer to different
> channel
> // clients of the same client
> - RedClient *client;
> + struct RedClient *client;
> };
>
> -PixmapCache *pixmap_cache_get(RedClient *client, uint8_t id, int64_t size);
> +PixmapCache *pixmap_cache_get(struct RedClient *client, uint8_t id, int64_t
> size);
> void pixmap_cache_unref(PixmapCache *cache);
> void pixmap_cache_clear(PixmapCache *cache);
> int pixmap_cache_unlocked_set_lossy(PixmapCache *cache, uint64_t id,
> int lossy);
> diff --git a/server/red-channel.h b/server/red-channel.h
> index bc225c6..e0998fa 100644
> --- a/server/red-channel.h
> +++ b/server/red-channel.h
> @@ -28,12 +28,10 @@
> #include <common/ring.h>
> #include <common/marshaller.h>
>
> -#include "spice.h"
> -#include "red-common.h"
> #include "demarshallers.h"
> -#include "reds-stream.h"
> #include "stat.h"
> #include "red-pipe-item.h"
> +#include "reds-stream.h"
>
> #define MAX_SEND_BUFS 1000
> #define CLIENT_ACK_WINDOW 20
> diff --git a/server/red-parse-qxl.h b/server/red-parse-qxl.h
> index 9c30572..508a1b3 100644
> --- a/server/red-parse-qxl.h
> +++ b/server/red-parse-qxl.h
> @@ -16,11 +16,14 @@
> License along with this library; if not, see <http://www.gnu.org/licenses/
> >.
> */
>
> -#ifndef RED_ABI_TRANSLATE_H
> -#define RED_ABI_TRANSLATE_H
> +#ifndef RED_PARSE_QXL_H
> +#define RED_PARSE_QXL_H
>
> +#include <common/draw.h>
> +#include <common/messages.h>
> #include <spice/qxl_dev.h>
> -#include "red-common.h"
> +
> +#include "spice-qxl.h"
> #include "memslot.h"
>
> typedef struct RedDrawable {
> diff --git a/server/red-pipe-item.h b/server/red-pipe-item.h
> index 8bb12b7..0ff4852 100644
> --- a/server/red-pipe-item.h
> +++ b/server/red-pipe-item.h
> @@ -19,6 +19,7 @@
> #define _H_RED_PIPE_ITEM
>
> #include <glib.h>
> +#include <common/ring.h>
>
> typedef struct {
> RingItem link;
> diff --git a/server/red-qxl.h b/server/red-qxl.h
> index c9b6b36..ce80f97 100644
> --- a/server/red-qxl.h
> +++ b/server/red-qxl.h
> @@ -19,7 +19,6 @@
> #define _H_RED_DISPATCHER
>
> #include "red-channel.h"
> -#include "spice-qxl.h"
>
> typedef struct AsyncCommand AsyncCommand;
>
> diff --git a/server/red-record-qxl.h b/server/red-record-qxl.h
> index 21f0bc9..4137ff8 100644
> --- a/server/red-record-qxl.h
> +++ b/server/red-record-qxl.h
> @@ -16,11 +16,12 @@
> along with this program. If not, see <http://www.gnu.org/licenses/>.
> */
>
> -#ifndef RED_ABI_RECORD_H
> -#define RED_ABI_RECORD_H
> +#ifndef RED_RECORD_QXL_H
> +#define RED_RECORD_QXL_H
>
> +#include <stdio.h>
> #include <spice/qxl_dev.h>
> -#include "red-common.h"
> +#include "spice-qxl.h"
> #include "memslot.h"
>
> void red_record_dev_input_primary_surface_create(
> diff --git a/server/red-replay-qxl.h b/server/red-replay-qxl.h
> index a89b3d4..f33820c 100644
> --- a/server/red-replay-qxl.h
> +++ b/server/red-replay-qxl.h
> @@ -20,7 +20,8 @@
>
> #include <stdio.h>
> #include <spice/qxl_dev.h>
> -#include <spice.h>
> +
> +#include "spice-qxl.h"
>
> typedef struct SpiceReplay SpiceReplay;
>
> diff --git a/server/red-worker.c b/server/red-worker.c
> index 8d8073e..33af442 100644
> --- a/server/red-worker.c
> +++ b/server/red-worker.c
> @@ -48,9 +48,12 @@
> #include "stream.h"
>
> #include "spice.h"
> +#include "red-record-qxl.h"
> #include "red-worker.h"
> #include "cursor-channel.h"
> #include "tree.h"
> +#include "main-channel.h"
> +#include "reds.h"
>
> #define CMD_RING_POLL_TIMEOUT 10 //milli
> #define CMD_RING_POLL_RETRIES 1
> diff --git a/server/red-worker.h b/server/red-worker.h
> index d7525e0..8517af5 100644
> --- a/server/red-worker.h
> +++ b/server/red-worker.h
> @@ -18,9 +18,8 @@
> #ifndef _H_REDWORKER
> #define _H_REDWORKER
>
> -#include "red-common.h"
> -#include "red-qxl.h"
> #include "red-parse-qxl.h"
> +#include "red-qxl.h"
>
> typedef struct RedWorker RedWorker;
>
> diff --git a/server/reds-private.h b/server/reds-private.h
> index 74a251b..b2f00b6 100644
> --- a/server/reds-private.h
> +++ b/server/reds-private.h
> @@ -19,6 +19,11 @@
> #define REDS_PRIVATE_H
>
> #include <spice/protocol.h>
> +#include <spice/stats.h>
> +
> +#include "main-dispatcher.h"
> +#include "main-channel.h"
> +#include "inputs-channel.h"
>
> #define MIGRATE_TIMEOUT (MSEC_PER_SEC * 10)
> #define MM_TIME_DELTA 400 /*ms*/
> diff --git a/server/reds-stream.h b/server/reds-stream.h
> index 7392f56..9d8038f 100644
> --- a/server/reds-stream.h
> +++ b/server/reds-stream.h
> @@ -18,14 +18,10 @@
> #ifndef _H_REDS_STREAM
> #define _H_REDS_STREAM
>
> -#include "spice.h"
> -#include <common/mem.h>
> -#include "red-common.h"
> -
> -#include <stdbool.h>
> -
> #include <openssl/ssl.h>
>
> +#include "red-common.h"
> +
> typedef void (*AsyncReadDone)(void *opaque);
> typedef void (*AsyncReadError)(void *opaque, int err);
>
> diff --git a/server/reds.h b/server/reds.h
> index f0f28da9e..6673923 100644
> --- a/server/reds.h
> +++ b/server/reds.h
> @@ -21,16 +21,14 @@
> #include <stdint.h>
> #include <sys/uio.h>
> #include <spice/vd_agent.h>
> -#include <config.h>
> -
>
> #include <common/marshaller.h>
> #include <common/messages.h>
> +
> +#include "migration-protocol.h"
> #include "char-device.h"
> -#include "spice.h"
> #include "red-channel.h"
> #include "main-dispatcher.h"
> -#include "migration-protocol.h"
>
> static inline QXLInterface * qxl_get_interface(QXLInstance *qxl)
> {
> diff --git a/server/smartcard.h b/server/smartcard.h
> index 6bda594..2d1356e 100644
> --- a/server/smartcard.h
> +++ b/server/smartcard.h
> @@ -20,6 +20,8 @@
>
> #include <glib-object.h>
>
> +#include "char-device.h"
> +
> #define RED_TYPE_CHAR_DEVICE_SMARTCARD red_char_device_smartcard_get_type()
>
> #define RED_CHAR_DEVICE_SMARTCARD(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),
> RED_TYPE_CHAR_DEVICE_SMARTCARD, RedCharDeviceSmartcard))
> diff --git a/server/sound.h b/server/sound.h
> index 25e59f0..76174cf 100644
> --- a/server/sound.h
> +++ b/server/sound.h
> @@ -18,7 +18,9 @@
> #ifndef SOUND_H_
> #define SOUND_H_
>
> -#include "spice.h"
> +#include "red-common.h"
> +
> +struct RedClient;
>
> void snd_attach_playback(RedsState *reds, SpicePlaybackInstance *sin);
> void snd_detach_playback(SpicePlaybackInstance *sin);
> @@ -28,6 +30,6 @@ void snd_detach_record(SpiceRecordInstance *sin);
>
> void snd_set_playback_compression(int on);
>
> -void snd_set_playback_latency(RedClient *client, uint32_t latency);
> +void snd_set_playback_latency(struct RedClient *client, uint32_t latency);
>
> #endif
> diff --git a/server/spice-bitmap-utils.h b/server/spice-bitmap-utils.h
> index ffb6c74..89a9068 100644
> --- a/server/spice-bitmap-utils.h
> +++ b/server/spice-bitmap-utils.h
> @@ -18,7 +18,10 @@
> #ifndef SPICE_BITMAP_UTILS_H_
> #define SPICE_BITMAP_UTILS_H_
>
> -#include "red-common.h"
> +#include <glib.h>
> +#include <spice/qxl_dev.h>
> +#include <common/draw.h>
> +#include <common/log.h>
>
> typedef enum {
> BITMAP_GRADUAL_INVALID,
> diff --git a/server/stat.h b/server/stat.h
> index 7db27ee..ec7e88d 100644
> --- a/server/stat.h
> +++ b/server/stat.h
> @@ -20,6 +20,7 @@
>
> #include <stdint.h>
> #include <glib.h>
> +#include <spice.h>
>
> typedef uint32_t StatNodeRef;
> #define INVALID_STAT_REF (~(StatNodeRef)0)
> diff --git a/server/stream.c b/server/stream.c
> index 8884480..2f194ce 100644
> --- a/server/stream.c
> +++ b/server/stream.c
> @@ -20,6 +20,8 @@
>
> #include "stream.h"
> #include "display-channel.h"
> +#include "main-channel.h"
> +#include "reds.h"
>
> #define FPS_TEST_INTERVAL 1
> #define FOREACH_STREAMS(display, item) \
> diff --git a/server/stream.h b/server/stream.h
> index 011467b..a21f6b0 100644
> --- a/server/stream.h
> +++ b/server/stream.h
> @@ -19,9 +19,9 @@
> #define STREAM_H_
>
> #include <glib.h>
> -#include "utils.h"
> -#include "video-encoder.h"
> #include <common/region.h>
> +
> +#include "video-encoder.h"
> #include "red-channel.h"
> #include "image-cache.h"
>
> diff --git a/server/tests/replay.c b/server/tests/replay.c
> index d552327..0b5f0ed 100644
> --- a/server/tests/replay.c
> +++ b/server/tests/replay.c
> @@ -36,6 +36,7 @@
> #include <pthread.h>
>
> #include <spice/macros.h>
> +#include "spice.h"
> #include "red-replay-qxl.h"
> #include "test_display_base.h"
> #include <common/log.h>
> diff --git a/server/tests/test-qxl-parsing.c b/server/tests/test-qxl-parsing.c
> index a3b2e6c..0a6b8e4 100644
> --- a/server/tests/test-qxl-parsing.c
> +++ b/server/tests/test-qxl-parsing.c
> @@ -10,6 +10,7 @@
> #include <assert.h>
>
> #include <spice/macros.h>
> +#include "spice.h"
> #include "memslot.h"
> #include "red-parse-qxl.h"
>
> diff --git a/server/tree.h b/server/tree.h
> index 6476082..042123d 100644
> --- a/server/tree.h
> +++ b/server/tree.h
> @@ -19,9 +19,10 @@
> # define TREE_H_
>
> #include <stdint.h>
> +
> #include <common/region.h>
> #include <common/ring.h>
> -#include "spice-bitmap-utils.h"
> +#include <spice/qxl_dev.h>
>
> enum {
> TREE_ITEM_TYPE_NONE,
> diff --git a/server/utils.h b/server/utils.h
> index 00631f8..fcd6a43 100644
> --- a/server/utils.h
> +++ b/server/utils.h
> @@ -18,7 +18,8 @@
> #ifndef UTILS_H_
> # define UTILS_H_
>
> -#include "red-common.h"
> +#include <inttypes.h>
> +#include <glib.h>
>
> #define SPICE_GNUC_VISIBLE __attribute__ ((visibility ("default")))
>
> diff --git a/server/video-encoder.h b/server/video-encoder.h
> index 9833e13..8aa7783 100644
> --- a/server/video-encoder.h
> +++ b/server/video-encoder.h
> @@ -21,6 +21,9 @@
> #ifndef _H_VIDEO_ENCODER
> #define _H_VIDEO_ENCODER
>
> +#include <inttypes.h>
> +#include <common/draw.h>
> +
> enum {
> VIDEO_ENCODER_FRAME_UNSUPPORTED = -1,
> VIDEO_ENCODER_FRAME_DROP,
> diff --git a/server/zlib-encoder.h b/server/zlib-encoder.h
> index 0620fc7..2800102 100644
> --- a/server/zlib-encoder.h
> +++ b/server/zlib-encoder.h
> @@ -30,6 +30,8 @@
> #ifndef _H_ZLIB_ENCODER
> #define _H_ZLIB_ENCODER
>
> +#include <inttypes.h>
> +
> typedef struct ZlibEncoder ZlibEncoder;
> typedef struct ZlibEncoderUsrContext ZlibEncoderUsrContext;
>
More information about the Spice-devel
mailing list