--- server/Makefile.am | 21 ++++++++++++++--- server/common-graphics-channel.h | 4 ++-- server/cursor-channel-client.h | 4 ++-- server/display-channel-private.h | 4 ++-- server/inputs-channel-client.h | 4 ++-- server/main-channel-client.h | 4 ++-- server/red-channel-client.h | 4 ++-- server/red-pipe-item-enums.tmpl.c | 47 +++++++++++++++++++++++++++++++++++++++ server/red-pipe-item-enums.tmpl.h | 22 ++++++++++++++++++ server/smartcard.h | 4 ++-- 10 files changed, 101 insertions(+), 17 deletions(-) create mode 100644 server/red-pipe-item-enums.tmpl.c create mode 100644 server/red-pipe-item-enums.tmpl.h diff --git a/server/Makefile.am b/server/Makefile.am index 5d5590af9..ac7650d18 100644 --- a/server/Makefile.am +++ b/server/Makefile.am @@ -73,7 +73,11 @@ libspice_serverinclude_HEADERS = \ spice.h \ $(NULL) -spice_built_sources = spice-server-enums.h spice-server-enums.c +spice_built_sources = \ + spice-server-enums.h \ + spice-server-enums.c \ + red-pipe-item-enums.h \ + red-pipe-item-enums.c libserver_la_SOURCES = \ $(libspice_serverinclude_HEADERS) \ @@ -201,12 +205,21 @@ endif libspice_server_la_LIBADD = libserver.la libspice_server_la_SOURCES = -spice-server-enums.c: spice-server.h spice-server-enums.tmpl.c +spice-server-enums.c: spice-server-enums.tmpl.c +spice-server-enums.h: spice-server-enums.tmpl.h + +spice-server-enums.c: spice-server.h $(AM_V_GEN)glib-mkenums --template $(srcdir)/spice-server-enums.tmpl.c $< > $@ -spice-server-enums.h: spice-server.h spice-server-enums.tmpl.h +spice-server-enums.h: spice-server.h $(AM_V_GEN)glib-mkenums --template $(srcdir)/spice-server-enums.tmpl.h $< > $@ +red-pipe-item-enums.c: red-pipe-item-enums.tmpl.c common-graphics-channel.h cursor-channel-client.h display-channel-private.h inputs-channel-client.h main-channel-client.h red-channel-client.h red-pipe-item.h smartcard.h + $(AM_V_GEN)glib-mkenums --template $^ > $@ + +red-pipe-item-enums.h: red-pipe-item-enums.tmpl.h common-graphics-channel.h cursor-channel-client.h display-channel-private.h inputs-channel-client.h main-channel-client.h red-channel-client.h red-pipe-item.h smartcard.h + $(AM_V_GEN)glib-mkenums --template $^ > $@ + EXTRA_DIST = \ spice-bitmap-utils.tmpl.c \ cache-item.tmpl.c \ @@ -215,6 +228,8 @@ EXTRA_DIST = \ spice-server.syms \ spice-server-enums.tmpl.h \ spice-server-enums.tmpl.c \ + red-pipe-item-enums.tmpl.h \ + red-pipe-item-enums.tmpl.c \ $(NULL) BUILT_SOURCES = $(spice_built_sources) diff --git a/server/common-graphics-channel.h b/server/common-graphics-channel.h index d23f0c695..bef1a5094 100644 --- a/server/common-graphics-channel.h +++ b/server/common-graphics-channel.h @@ -63,11 +63,11 @@ GType common_graphics_channel_get_type(void) G_GNUC_CONST; void common_graphics_channel_set_during_target_migrate(CommonGraphicsChannel *self, gboolean value); gboolean common_graphics_channel_get_during_target_migrate(CommonGraphicsChannel *self); -enum { +typedef enum { RED_PIPE_ITEM_TYPE_INVAL_ONE = RED_PIPE_ITEM_TYPE_CHANNEL_BASE, RED_PIPE_ITEM_TYPE_COMMON_LAST -}; +} CommonGraphicsChannelPipeItemType; #define TYPE_COMMON_GRAPHICS_CHANNEL_CLIENT common_graphics_channel_client_get_type() diff --git a/server/cursor-channel-client.h b/server/cursor-channel-client.h index dc69369f5..c0a5d07bb 100644 --- a/server/cursor-channel-client.h +++ b/server/cursor-channel-client.h @@ -69,11 +69,11 @@ void cursor_channel_client_reset_cursor_cache(RedChannelClient *rcc); RedCacheItem* cursor_channel_client_cache_find(CursorChannelClient *ccc, uint64_t id); int cursor_channel_client_cache_add(CursorChannelClient *ccc, uint64_t id, size_t size); -enum { +typedef enum { RED_PIPE_ITEM_TYPE_CURSOR = RED_PIPE_ITEM_TYPE_COMMON_LAST, RED_PIPE_ITEM_TYPE_CURSOR_INIT, RED_PIPE_ITEM_TYPE_INVAL_CURSOR_CACHE, -}; +} CursorChannelPipeItemType; G_END_DECLS diff --git a/server/display-channel-private.h b/server/display-channel-private.h index 82a3e8c69..a1c3721df 100644 --- a/server/display-channel-private.h +++ b/server/display-channel-private.h @@ -136,7 +136,7 @@ typedef struct RedMonitorsConfigItem { MonitorsConfig *monitors_config; } RedMonitorsConfigItem; -enum { +typedef enum { RED_PIPE_ITEM_TYPE_DRAW = RED_PIPE_ITEM_TYPE_COMMON_LAST, RED_PIPE_ITEM_TYPE_IMAGE, RED_PIPE_ITEM_TYPE_STREAM_CREATE, @@ -153,7 +153,7 @@ enum { RED_PIPE_ITEM_TYPE_STREAM_ACTIVATE_REPORT, RED_PIPE_ITEM_TYPE_GL_SCANOUT, RED_PIPE_ITEM_TYPE_GL_DRAW, -}; +} DisplayChannelPipeItemType; void drawable_unref(Drawable *drawable); diff --git a/server/inputs-channel-client.h b/server/inputs-channel-client.h index b57a7a798..b69adb674 100644 --- a/server/inputs-channel-client.h +++ b/server/inputs-channel-client.h @@ -71,11 +71,11 @@ void inputs_channel_client_handle_migrate_data(InputsChannelClient *icc, uint16_ G_END_DECLS -enum { +typedef enum { RED_PIPE_ITEM_INPUTS_INIT = RED_PIPE_ITEM_TYPE_CHANNEL_BASE, RED_PIPE_ITEM_MOUSE_MOTION_ACK, RED_PIPE_ITEM_KEY_MODIFIERS, RED_PIPE_ITEM_MIGRATE_DATA, -}; +} InputChannelPipeItemType; #endif /* INPUTS_CHANNEL_CLIENT_H_ */ diff --git a/server/main-channel-client.h b/server/main-channel-client.h index 26b7e20b8..70dd1bac6 100644 --- a/server/main-channel-client.h +++ b/server/main-channel-client.h @@ -105,7 +105,7 @@ void main_channel_client_push_uuid(MainChannelClient *mcc, const uint8_t uuid[16 uint32_t main_channel_client_get_connection_id(MainChannelClient *mcc); void main_channel_client_send_item(RedChannelClient *rcc, RedPipeItem *base); -enum { +typedef enum { RED_PIPE_ITEM_TYPE_MAIN_CHANNELS_LIST = RED_PIPE_ITEM_TYPE_CHANNEL_BASE, RED_PIPE_ITEM_TYPE_MAIN_PING, RED_PIPE_ITEM_TYPE_MAIN_MOUSE_MODE, @@ -122,7 +122,7 @@ enum { RED_PIPE_ITEM_TYPE_MAIN_NAME, RED_PIPE_ITEM_TYPE_MAIN_UUID, RED_PIPE_ITEM_TYPE_MAIN_AGENT_CONNECTED_TOKENS, -}; +} MainChannelPipeItemType; RedPipeItem *main_mouse_mode_item_new(SpiceMouseMode current_mode, int is_client_mouse_allowed); diff --git a/server/red-channel-client.h b/server/red-channel-client.h index d57f54cc7..572831dd3 100644 --- a/server/red-channel-client.h +++ b/server/red-channel-client.h @@ -184,7 +184,7 @@ enum * Note that the numbers don't have to correspond to spice message types, * but we keep the 100 first allocated for base channel approach. * */ -enum { +typedef enum { RED_PIPE_ITEM_TYPE_SET_ACK=1, RED_PIPE_ITEM_TYPE_MIGRATE, RED_PIPE_ITEM_TYPE_EMPTY_MSG, @@ -192,7 +192,7 @@ enum { RED_PIPE_ITEM_TYPE_MARKER, RED_PIPE_ITEM_TYPE_CHANNEL_BASE=101, -}; +} RedChannelPipeItemType; G_END_DECLS diff --git a/server/red-pipe-item-enums.tmpl.c b/server/red-pipe-item-enums.tmpl.c new file mode 100644 index 000000000..5fcf89040 --- /dev/null +++ b/server/red-pipe-item-enums.tmpl.c @@ -0,0 +1,47 @@ +/*** BEGIN file-header ***/ +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <glib-object.h> + +#include "red-pipe-item-enums.h" +#include "common-graphics-channel.h" +#include "cursor-channel-client.h" +#include "display-channel-private.h" +#include "inputs-channel-client.h" +#include "main-channel-client.h" +#include "red-channel-client.h" +#include "red-pipe-item.h" +#include "smartcard.h" +#include "red-channel-client.h" + +/*** END file-header ***/ + +/*** BEGIN value-header ***/ +static const G@Type@Value _@enum_name@_values[] = { +/*** END value-header ***/ + +/*** BEGIN value-production ***/ + { @VALUENAME@, "@VALUENAME@", "@valuenick@" }, +/*** END value-production ***/ + +/*** BEGIN value-tail ***/ + { 0, NULL, NULL } +}; + +GType +@enum_name@_get_type (void) +{ + static GType type = 0; + static volatile gsize type_volatile = 0; + + if (g_once_init_enter(&type_volatile)) { + type = g_@type@_register_static ("@EnumName@", _@enum_name@_values); + g_once_init_leave(&type_volatile, type); + } + + return type; +} + +/*** END value-tail ***/ diff --git a/server/red-pipe-item-enums.tmpl.h b/server/red-pipe-item-enums.tmpl.h new file mode 100644 index 000000000..1704a908c --- /dev/null +++ b/server/red-pipe-item-enums.tmpl.h @@ -0,0 +1,22 @@ +/*** BEGIN file-header ***/ +#ifndef RED_PIPE_ITEM_ENUMS_H +#define RED_PIPE_ITEM_ENUMS_H + +#include <glib.h> +#include <glib-object.h> + +G_BEGIN_DECLS + +/*** END file-header ***/ + +/*** BEGIN enumeration-production ***/ +#define @ENUMNAME@ @enum_name@_get_type() +GType @enum_name@_get_type (void); +/*** END enumeration-production ***/ + +/*** BEGIN file-tail ***/ + +G_END_DECLS + +#endif /* RED_PIPE_ITEM_ENUMS_H */ +/*** END file-tail ***/ diff --git a/server/smartcard.h b/server/smartcard.h index 11d334f1f..ff183475a 100644 --- a/server/smartcard.h +++ b/server/smartcard.h @@ -70,10 +70,10 @@ SmartCardChannelClient* smartcard_char_device_get_client(RedCharDeviceSmartcard int smartcard_char_device_handle_migrate_data(RedCharDeviceSmartcard *smartcard, SpiceMigrateDataSmartcard *mig_data); -enum { +typedef enum { RED_PIPE_ITEM_TYPE_ERROR = RED_PIPE_ITEM_TYPE_CHANNEL_BASE, RED_PIPE_ITEM_TYPE_SMARTCARD_DATA, RED_PIPE_ITEM_TYPE_SMARTCARD_MIGRATE_DATA, -}; +} SmartcardChannelPipeItemType; #endif /* SMART_CARD_H_ */ -- 2.13.6 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel