> Internal types use the 'Red' prefix by convention, rather than the > 'Spice' prefix. In addition, this type inherits from RedChannel, so > makes the code a lot clearer to call it a 'channel' rather than a > 'state'. Acked-by: Frediano Ziglio <fziglio@xxxxxxxxxx> > --- > server/spicevmc.c | 161 > +++++++++++++++++++++++++++--------------------------- > 1 file changed, 80 insertions(+), 81 deletions(-) > > diff --git a/server/spicevmc.c b/server/spicevmc.c > index 3c5d432..8b5acf5 100644 > --- a/server/spicevmc.c > +++ b/server/spicevmc.c > @@ -98,21 +98,21 @@ G_DEFINE_TYPE(RedCharDeviceSpiceVmc, > red_char_device_spicevmc, RED_TYPE_CHAR_DEV > #define RED_CHAR_DEVICE_SPICEVMC_PRIVATE(o) \ > (G_TYPE_INSTANCE_GET_PRIVATE ((o), RED_TYPE_CHAR_DEVICE_SPICEVMC, > RedCharDeviceSpiceVmcPrivate)) > > -#define SPICE_TYPE_VMC_STATE spice_vmc_state_get_type() > +#define RED_TYPE_VMC_CHANNEL red_vmc_channel_get_type() > > -#define SPICE_VMC_STATE(obj) \ > - (G_TYPE_CHECK_INSTANCE_CAST((obj), SPICE_TYPE_VMC_STATE, SpiceVmcState)) > -#define SPICE_VMC_STATE_CLASS(klass) \ > - (G_TYPE_CHECK_CLASS_CAST((klass), SPICE_TYPE_VMC_STATE, > SpiceVmcStateClass)) > -#define SPICE_IS_VMC_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), > SPICE_TYPE_VMC_STATE)) > -#define SPICE_IS_VMC_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), > SPICE_TYPE_VMC_STATE)) > -#define SPICE_VMC_STATE_GET_CLASS(obj) \ > - (G_TYPE_INSTANCE_GET_CLASS((obj), SPICE_TYPE_VMC_STATE, > SpiceVmcStateClass)) > +#define RED_VMC_CHANNEL(obj) \ > + (G_TYPE_CHECK_INSTANCE_CAST((obj), RED_TYPE_VMC_CHANNEL, RedVmcChannel)) > +#define RED_VMC_CHANNEL_CLASS(klass) \ > + (G_TYPE_CHECK_CLASS_CAST((klass), RED_TYPE_VMC_CHANNEL, > RedVmcChannelClass)) > +#define RED_IS_VMC_CHANNEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), > RED_TYPE_VMC_CHANNEL)) > +#define RED_IS_VMC_CHANNEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), > RED_TYPE_VMC_CHANNEL)) > +#define RED_VMC_CHANNEL_GET_CLASS(obj) \ > + (G_TYPE_INSTANCE_GET_CLASS((obj), RED_TYPE_VMC_CHANNEL, > RedVmcChannelClass)) > > -typedef struct SpiceVmcState SpiceVmcState; > -typedef struct SpiceVmcStateClass SpiceVmcStateClass; > +typedef struct RedVmcChannel RedVmcChannel; > +typedef struct RedVmcChannelClass RedVmcChannelClass; > > -struct SpiceVmcState > +struct RedVmcChannel > { > RedChannel parent; > > @@ -124,68 +124,67 @@ struct SpiceVmcState > uint8_t port_opened; > }; > > -struct SpiceVmcStateClass > +struct RedVmcChannelClass > { > RedChannelClass parent_class; > }; > > -GType spice_vmc_state_get_type(void) G_GNUC_CONST; > +GType red_vmc_channel_get_type(void) G_GNUC_CONST; > > -G_DEFINE_TYPE(SpiceVmcState, spice_vmc_state, RED_TYPE_CHANNEL) > +G_DEFINE_TYPE(RedVmcChannel, red_vmc_channel, RED_TYPE_CHANNEL) > > - > -#define SPICE_TYPE_VMC_STATE_USBREDIR spice_vmc_state_usbredir_get_type() > +#define RED_TYPE_VMC_CHANNEL_USBREDIR red_vmc_channel_usbredir_get_type() > typedef struct > { > - SpiceVmcState parent; > -} SpiceVmcStateUsbredir; > + RedVmcChannel parent; > +} RedVmcChannelUsbredir; > > typedef struct > { > - SpiceVmcStateClass parent_class; > -} SpiceVmcStateUsbredirClass; > + RedVmcChannelClass parent_class; > +} RedVmcChannelUsbredirClass; > > -GType spice_vmc_state_usbredir_get_type(void) G_GNUC_CONST; > -static void spice_vmc_state_usbredir_init(SpiceVmcStateUsbredir *self) > +GType red_vmc_channel_usbredir_get_type(void) G_GNUC_CONST; > +static void red_vmc_channel_usbredir_init(RedVmcChannelUsbredir *self) > { > } > -G_DEFINE_TYPE(SpiceVmcStateUsbredir, spice_vmc_state_usbredir, > SPICE_TYPE_VMC_STATE) > +G_DEFINE_TYPE(RedVmcChannelUsbredir, red_vmc_channel_usbredir, > RED_TYPE_VMC_CHANNEL) > > > -#define SPICE_TYPE_VMC_STATE_WEBDAV spice_vmc_state_webdav_get_type() > +#define RED_TYPE_VMC_CHANNEL_WEBDAV red_vmc_channel_webdav_get_type() > typedef struct > { > - SpiceVmcState parent; > -} SpiceVmcStateWebdav; > + RedVmcChannel parent; > +} RedVmcChannelWebdav; > > typedef struct > { > - SpiceVmcStateClass parent_class; > -} SpiceVmcStateWebdavClass; > + RedVmcChannelClass parent_class; > +} RedVmcChannelWebdavClass; > > -GType spice_vmc_state_webdav_get_type(void) G_GNUC_CONST; > -static void spice_vmc_state_webdav_init(SpiceVmcStateWebdav *self) > +GType red_vmc_channel_webdav_get_type(void) G_GNUC_CONST; > +static void red_vmc_channel_webdav_init(RedVmcChannelWebdav *self) > { > } > -G_DEFINE_TYPE(SpiceVmcStateWebdav, spice_vmc_state_webdav, > SPICE_TYPE_VMC_STATE) > +G_DEFINE_TYPE(RedVmcChannelWebdav, red_vmc_channel_webdav, > RED_TYPE_VMC_CHANNEL) > > > -#define SPICE_TYPE_VMC_STATE_PORT spice_vmc_state_port_get_type() > +#define RED_TYPE_VMC_CHANNEL_PORT red_vmc_channel_port_get_type() > typedef struct > { > - SpiceVmcState parent; > -} SpiceVmcStatePort; > + RedVmcChannel parent; > +} RedVmcChannelPort; > > typedef struct > { > - SpiceVmcStateClass parent_class; > -} SpiceVmcStatePortClass; > + RedVmcChannelClass parent_class; > +} RedVmcChannelPortClass; > > -GType spice_vmc_state_port_get_type(void) G_GNUC_CONST; > -static void spice_vmc_state_port_init(SpiceVmcStatePort *self) > +GType red_vmc_channel_port_get_type(void) G_GNUC_CONST; > +static void red_vmc_channel_port_init(RedVmcChannelPort *self) > { > } > -G_DEFINE_TYPE(SpiceVmcStatePort, spice_vmc_state_port, SPICE_TYPE_VMC_STATE) > +G_DEFINE_TYPE(RedVmcChannelPort, red_vmc_channel_port, RED_TYPE_VMC_CHANNEL) > > enum { > PROP0, > @@ -193,12 +192,12 @@ enum { > }; > > static void > -spice_vmc_state_get_property(GObject *object, > +red_vmc_channel_get_property(GObject *object, > guint property_id, > GValue *value, > GParamSpec *pspec) > { > - SpiceVmcState *self = SPICE_VMC_STATE(object); > + RedVmcChannel *self = RED_VMC_CHANNEL(object); > > switch (property_id) > { > @@ -211,12 +210,12 @@ spice_vmc_state_get_property(GObject *object, > } > > static void > -spice_vmc_state_set_property(GObject *object, > +red_vmc_channel_set_property(GObject *object, > guint property_id, > const GValue *value, > GParamSpec *pspec) > { > - SpiceVmcState *self = SPICE_VMC_STATE(object); > + RedVmcChannel *self = RED_VMC_CHANNEL(object); > > switch (property_id) > { > @@ -233,13 +232,13 @@ static void spicevmc_connect(RedChannel *channel, > RedClient *client, > uint32_t *common_caps, int num_caps, uint32_t > *caps); > > static void > -spice_vmc_state_constructed(GObject *object) > +red_vmc_channel_constructed(GObject *object) > { > - SpiceVmcState *self = SPICE_VMC_STATE(object); > + RedVmcChannel *self = RED_VMC_CHANNEL(object); > ClientCbs client_cbs = { NULL, }; > RedsState *reds = red_channel_get_server(RED_CHANNEL(self)); > > - G_OBJECT_CLASS(spice_vmc_state_parent_class)->constructed(object); > + G_OBJECT_CLASS(red_vmc_channel_parent_class)->constructed(object); > > client_cbs.connect = spicevmc_connect; > red_channel_register_client_cbs(RED_CHANNEL(self), &client_cbs, NULL); > @@ -256,11 +255,11 @@ spice_vmc_state_constructed(GObject *object) > } > > static void > -spice_vmc_state_init(SpiceVmcState *self) > +red_vmc_channel_init(RedVmcChannel *self) > { > } > > -static SpiceVmcState *spice_vmc_state_new(RedsState *reds, uint8_t > channel_type, > +static RedVmcChannel *red_vmc_channel_new(RedsState *reds, uint8_t > channel_type, > SpiceCharDeviceInstance *sin) > { > GType gtype = G_TYPE_NONE; > @@ -268,16 +267,16 @@ static SpiceVmcState *spice_vmc_state_new(RedsState > *reds, uint8_t channel_type, > > switch (channel_type) { > case SPICE_CHANNEL_USBREDIR: > - gtype = SPICE_TYPE_VMC_STATE_USBREDIR; > + gtype = RED_TYPE_VMC_CHANNEL_USBREDIR; > break; > case SPICE_CHANNEL_WEBDAV: > - gtype = SPICE_TYPE_VMC_STATE_WEBDAV; > + gtype = RED_TYPE_VMC_CHANNEL_WEBDAV; > break; > case SPICE_CHANNEL_PORT: > - gtype = SPICE_TYPE_VMC_STATE_PORT; > + gtype = RED_TYPE_VMC_CHANNEL_PORT; > break; > default: > - g_error("Unsupported channel_type for spice_vmc_state_new(): > %u", channel_type); > + g_error("Unsupported channel_type for red_vmc_channel_new(): > %u", channel_type); > } > return g_object_new(gtype, > "spice-server", reds, > @@ -320,7 +319,7 @@ static void > spicevmc_red_channel_release_msg_rcv_buf(RedChannelClient *rcc, > * - a new pipe item with the compressed data in it upon success > */ > #ifdef USE_LZ4 > -static RedVmcPipeItem* try_compress_lz4(SpiceVmcState *state, int n, > RedVmcPipeItem *msg_item) > +static RedVmcPipeItem* try_compress_lz4(RedVmcChannel *state, int n, > RedVmcPipeItem *msg_item) > { > RedVmcPipeItem *msg_item_compressed; > int compressed_data_count; > @@ -361,7 +360,7 @@ static RedVmcPipeItem* try_compress_lz4(SpiceVmcState > *state, int n, RedVmcPipeI > static RedPipeItem > *spicevmc_chardev_read_msg_from_dev(SpiceCharDeviceInstance *sin, > void *opaque) > { > - SpiceVmcState *state = opaque; > + RedVmcChannel *state = opaque; > SpiceCharDeviceInterface *sif; > RedVmcPipeItem *msg_item; > int n; > @@ -407,22 +406,22 @@ static void > spicevmc_chardev_send_msg_to_client(RedPipeItem *msg, > RedClient *client, > void *opaque) > { > - SpiceVmcState *state = opaque; > + RedVmcChannel *state = opaque; > > spice_assert(red_channel_client_get_client(state->rcc) == client); > red_pipe_item_ref(msg); > red_channel_client_pipe_add_push(state->rcc, msg); > } > > -static SpiceVmcState *spicevmc_red_channel_client_get_state(RedChannelClient > *rcc) > +static RedVmcChannel *spicevmc_red_channel_client_get_state(RedChannelClient > *rcc) > { > RedChannel *channel = red_channel_client_get_channel(rcc); > - return SPICE_VMC_STATE(channel); > + return RED_VMC_CHANNEL(channel); > } > > static void spicevmc_port_send_init(RedChannelClient *rcc) > { > - SpiceVmcState *state = spicevmc_red_channel_client_get_state(rcc); > + RedVmcChannel *state = spicevmc_red_channel_client_get_state(rcc); > SpiceCharDeviceInstance *sin = state->chardev_sin; > RedPortInitPipeItem *item = spice_malloc(sizeof(RedPortInitPipeItem)); > > @@ -450,7 +449,7 @@ static void > spicevmc_char_dev_send_tokens_to_client(RedClient *client, > > static void spicevmc_char_dev_remove_client(RedClient *client, void *opaque) > { > - SpiceVmcState *state = opaque; > + RedVmcChannel *state = opaque; > > spice_printerr("vmc state %p, client %p", state, client); > spice_assert(state->rcc && > @@ -482,7 +481,7 @@ static int > spicevmc_red_channel_client_config_socket(RedChannelClient *rcc) > > static void spicevmc_red_channel_client_on_disconnect(RedChannelClient *rcc) > { > - SpiceVmcState *state; > + RedVmcChannel *state; > SpiceCharDeviceInterface *sif; > RedClient *client = red_channel_client_get_client(rcc); > > @@ -527,7 +526,7 @@ static int > spicevmc_channel_client_handle_migrate_data(RedChannelClient *rcc, > { > SpiceMigrateDataHeader *header; > SpiceMigrateDataSpiceVmc *mig_data; > - SpiceVmcState *state; > + RedVmcChannel *state; > > state = spicevmc_red_channel_client_get_state(rcc); > > @@ -544,7 +543,7 @@ static int > spicevmc_channel_client_handle_migrate_data(RedChannelClient *rcc, > return red_char_device_restore(state->chardev, &mig_data->base); > } > > -static int handle_compressed_msg(SpiceVmcState *state, RedChannelClient > *rcc, > +static int handle_compressed_msg(RedVmcChannel *state, RedChannelClient > *rcc, > SpiceMsgCompressedData > *compressed_data_msg) > { > /* NOTE: *decompressed is free by the char-device */ > @@ -591,7 +590,7 @@ static int > spicevmc_red_channel_client_handle_message_parsed(RedChannelClient *r > { > /* NOTE: *msg free by free() (when cb to > spicevmc_red_channel_release_msg_rcv_buf > * with the compressed msg type) */ > - SpiceVmcState *state; > + RedVmcChannel *state; > SpiceCharDeviceInterface *sif; > > state = spicevmc_red_channel_client_get_state(rcc); > @@ -626,7 +625,7 @@ static uint8_t > *spicevmc_red_channel_alloc_msg_rcv_buf(RedChannelClient *rcc, > uint16_t type, > uint32_t size) > { > - SpiceVmcState *state; > + RedVmcChannel *state; > RedClient *client = red_channel_client_get_client(rcc); > > state = spicevmc_red_channel_client_get_state(rcc); > @@ -655,7 +654,7 @@ static void > spicevmc_red_channel_release_msg_rcv_buf(RedChannelClient *rcc, > uint32_t size, > uint8_t *msg) > { > - SpiceVmcState *state; > + RedVmcChannel *state; > > state = spicevmc_red_channel_client_get_state(rcc); > > @@ -694,7 +693,7 @@ static void > spicevmc_red_channel_send_migrate_data(RedChannelClient *rcc, > SpiceMarshaller *m, > RedPipeItem *item) > { > - SpiceVmcState *state; > + RedVmcChannel *state; > > state = spicevmc_red_channel_client_get_state(rcc); > red_channel_client_init_send_data(rcc, SPICE_MSG_MIGRATE_DATA, item); > @@ -757,14 +756,14 @@ static void > spicevmc_red_channel_send_item(RedChannelClient *rcc, > > > static void > -spice_vmc_state_class_init(SpiceVmcStateClass *klass) > +red_vmc_channel_class_init(RedVmcChannelClass *klass) > { > GObjectClass *object_class = G_OBJECT_CLASS(klass); > RedChannelClass *channel_class = RED_CHANNEL_CLASS(klass); > > - object_class->get_property = spice_vmc_state_get_property; > - object_class->set_property = spice_vmc_state_set_property; > - object_class->constructed = spice_vmc_state_constructed; > + object_class->get_property = red_vmc_channel_get_property; > + object_class->set_property = red_vmc_channel_set_property; > + object_class->constructed = red_vmc_channel_constructed; > > channel_class->handle_parsed = > spicevmc_red_channel_client_handle_message_parsed; > > @@ -787,7 +786,7 @@ spice_vmc_state_class_init(SpiceVmcStateClass *klass) > } > > static void > -spice_vmc_state_usbredir_class_init(SpiceVmcStateUsbredirClass *klass) > +red_vmc_channel_usbredir_class_init(RedVmcChannelUsbredirClass *klass) > { > RedChannelClass *channel_class = RED_CHANNEL_CLASS(klass); > > @@ -795,7 +794,7 @@ > spice_vmc_state_usbredir_class_init(SpiceVmcStateUsbredirClass *klass) > } > > static void > -spice_vmc_state_webdav_class_init(SpiceVmcStateWebdavClass *klass) > +red_vmc_channel_webdav_class_init(RedVmcChannelWebdavClass *klass) > { > RedChannelClass *channel_class = RED_CHANNEL_CLASS(klass); > > @@ -803,7 +802,7 @@ > spice_vmc_state_webdav_class_init(SpiceVmcStateWebdavClass *klass) > } > > static void > -spice_vmc_state_port_class_init(SpiceVmcStatePortClass *klass) > +red_vmc_channel_port_class_init(RedVmcChannelPortClass *klass) > { > RedChannelClass *channel_class = RED_CHANNEL_CLASS(klass); > > @@ -815,12 +814,12 @@ static void spicevmc_connect(RedChannel *channel, > RedClient *client, > uint32_t *common_caps, int num_caps, uint32_t *caps) > { > RedChannelClient *rcc; > - SpiceVmcState *state; > + RedVmcChannel *state; > SpiceCharDeviceInstance *sin; > SpiceCharDeviceInterface *sif; > uint32_t type, id; > > - state = SPICE_VMC_STATE(channel); > + state = RED_VMC_CHANNEL(channel); > sin = state->chardev_sin; > g_object_get(channel, "channel-type", &type, "id", &id, NULL); > > @@ -863,7 +862,7 @@ RedCharDevice *spicevmc_device_connect(RedsState *reds, > uint8_t channel_type) > { > RedCharDeviceSpiceVmc *dev_state; > - SpiceVmcState *state = spice_vmc_state_new(reds, channel_type, sin); > + RedVmcChannel *state = red_vmc_channel_new(reds, channel_type, sin); > > dev_state = RED_CHAR_DEVICE_SPICEVMC(state->chardev); > dev_state->priv->channel = RED_CHANNEL(state); > @@ -874,10 +873,10 @@ RedCharDevice *spicevmc_device_connect(RedsState *reds, > /* Must be called from RedClient handling thread. */ > void spicevmc_device_disconnect(RedsState *reds, SpiceCharDeviceInstance > *sin) > { > - SpiceVmcState *state; > + RedVmcChannel *state; > > /* FIXME */ > - state = (SpiceVmcState > *)red_char_device_opaque_get((RedCharDevice*)sin->st); > + state = (RedVmcChannel > *)red_char_device_opaque_get((RedCharDevice*)sin->st); > > red_char_device_write_buffer_release(state->chardev, > &state->recv_from_client_buf); > /* FIXME */ > @@ -892,7 +891,7 @@ void spicevmc_device_disconnect(RedsState *reds, > SpiceCharDeviceInstance *sin) > > SPICE_GNUC_VISIBLE void spice_server_port_event(SpiceCharDeviceInstance > *sin, uint8_t event) > { > - SpiceVmcState *state; > + RedVmcChannel *state; > > if (sin->st == NULL) { > spice_warning("no SpiceCharDeviceState attached to instance %p", > sin); > @@ -900,7 +899,7 @@ SPICE_GNUC_VISIBLE void > spice_server_port_event(SpiceCharDeviceInstance *sin, ui > } > > /* FIXME */ > - state = (SpiceVmcState > *)red_char_device_opaque_get((RedCharDevice*)sin->st); > + state = (RedVmcChannel > *)red_char_device_opaque_get((RedCharDevice*)sin->st); > if (event == SPICE_PORT_EVENT_OPENED) { > state->port_opened = TRUE; > } else if (event == SPICE_PORT_EVENT_CLOSED) { Frediano _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel