[Spice-devel] [vdagent-linux v2 4/5] virtio: use GObject macro
Jakub Janků
jjanku at redhat.com
Tue Apr 30 09:33:38 UTC 2019
Use G_DECLARE_FINAL_TYPE().
Rename
struct vdagent_virtio_port --> VirtioPort
Signed-off-by: Jakub Janků <jjanku at redhat.com>
---
src/vdagentd/vdagentd.c | 18 +++++++++---------
src/vdagentd/virtio-port.c | 16 ++++++++--------
src/vdagentd/virtio-port.h | 31 ++++++++-----------------------
3 files changed, 25 insertions(+), 40 deletions(-)
diff --git a/src/vdagentd/vdagentd.c b/src/vdagentd/vdagentd.c
index 0565881..11f77e8 100644
--- a/src/vdagentd/vdagentd.c
+++ b/src/vdagentd/vdagentd.c
@@ -67,7 +67,7 @@ static gboolean do_daemonize = TRUE;
static gboolean want_session_info = TRUE;
static struct udscs_server *server = NULL;
-static struct vdagent_virtio_port *virtio_port = NULL;
+static VirtioPort *virtio_port = NULL;
static GHashTable *active_xfers = NULL;
static struct session_info *session_info = NULL;
static struct vdagentd_uinput *uinput = NULL;
@@ -120,7 +120,7 @@ static void virtio_msg_uint16_from_le(uint8_t *_msg, uint32_t size, uint32_t off
}
/* vdagentd <-> spice-client communication handling */
-static void send_capabilities(struct vdagent_virtio_port *vport,
+static void send_capabilities(VirtioPort *vport,
uint32_t request)
{
VDAgentAnnounceCapabilities *caps;
@@ -179,7 +179,7 @@ void do_client_mouse(struct vdagentd_uinput **uinputp, VDAgentMouseState *mouse)
}
}
-static void do_client_monitors(struct vdagent_virtio_port *vport, int port_nr,
+static void do_client_monitors(VirtioPort *vport, int port_nr,
VDAgentMessage *message_header, VDAgentMonitorsConfig *new_monitors)
{
VDAgentReply reply;
@@ -210,7 +210,7 @@ static void do_client_monitors(struct vdagent_virtio_port *vport, int port_nr,
(uint8_t *)&reply, sizeof(reply));
}
-static void do_client_volume_sync(struct vdagent_virtio_port *vport, int port_nr,
+static void do_client_volume_sync(VirtioPort *vport, int port_nr,
VDAgentMessage *message_header,
VDAgentAudioVolumeSync *avs)
{
@@ -223,7 +223,7 @@ static void do_client_volume_sync(struct vdagent_virtio_port *vport, int port_nr
(uint8_t *)avs, message_header->size);
}
-static void do_client_capabilities(struct vdagent_virtio_port *vport,
+static void do_client_capabilities(VirtioPort *vport,
VDAgentMessage *message_header,
VDAgentAnnounceCapabilities *caps)
{
@@ -241,7 +241,7 @@ static void do_client_capabilities(struct vdagent_virtio_port *vport,
}
}
-static void do_client_clipboard(struct vdagent_virtio_port *vport,
+static void do_client_clipboard(VirtioPort *vport,
VDAgentMessage *message_header, uint8_t *data)
{
uint32_t msg_type = 0, data_type = 0, size = message_header->size;
@@ -295,7 +295,7 @@ static void do_client_clipboard(struct vdagent_virtio_port *vport,
/* Send file-xfer status to the client. In the case status is an error,
* optional data for the client and log message may be specified. */
-static void send_file_xfer_status(struct vdagent_virtio_port *vport,
+static void send_file_xfer_status(VirtioPort *vport,
const char *msg, uint32_t id, uint32_t xfer_status,
const uint8_t *data, uint32_t data_size)
{
@@ -327,7 +327,7 @@ static void send_file_xfer_status(struct vdagent_virtio_port *vport,
g_free(status);
}
-static void do_client_file_xfer(struct vdagent_virtio_port *vport,
+static void do_client_file_xfer(VirtioPort *vport,
VDAgentMessage *message_header,
uint8_t *data)
{
@@ -524,7 +524,7 @@ static gboolean vdagent_message_check_size(const VDAgentMessage *message_header)
static VDAgentGraphicsDeviceInfo *device_info = NULL;
static size_t device_info_size = 0;
static void virtio_port_read_complete(
- struct vdagent_virtio_port *vport,
+ VirtioPort *vport,
int port_nr,
VDAgentMessage *message_header,
uint8_t *data)
diff --git a/src/vdagentd/virtio-port.c b/src/vdagentd/virtio-port.c
index ad9d27b..a415d46 100644
--- a/src/vdagentd/virtio-port.c
+++ b/src/vdagentd/virtio-port.c
@@ -45,7 +45,7 @@ struct vdagent_virtio_port_chunk_port_data {
uint8_t *message_data;
};
-struct vdagent_virtio_port {
+struct _VirtioPort {
VDAgentConnection parent_instance;
/* Per chunk port data */
@@ -119,11 +119,11 @@ static void virtio_port_class_init(VirtioPortClass *klass)
conn_class->handle_message = vdagent_virtio_port_do_chunk;
}
-struct vdagent_virtio_port *vdagent_virtio_port_create(const char *portname,
+VirtioPort *vdagent_virtio_port_create(const char *portname,
vdagent_virtio_port_read_callback read_callback,
VDAgentConnErrorCb error_cb)
{
- struct vdagent_virtio_port *vport;
+ VirtioPort *vport;
GIOStream *io_stream;
GError *err = NULL;
@@ -174,7 +174,7 @@ struct vdagent_virtio_port *vdagent_virtio_port_create(const char *portname,
}
void vdagent_virtio_port_write_start(
- struct vdagent_virtio_port *vport,
+ VirtioPort *vport,
uint32_t port_nr,
uint32_t message_type,
uint32_t message_opaque,
@@ -204,7 +204,7 @@ void vdagent_virtio_port_write_start(
new_wbuf->write_pos += sizeof(*message_header);
}
-int vdagent_virtio_port_write_append(struct vdagent_virtio_port *vport,
+int vdagent_virtio_port_write_append(VirtioPort *vport,
const uint8_t *data, uint32_t size)
{
struct vdagent_virtio_port_buf *wbuf;
@@ -234,7 +234,7 @@ int vdagent_virtio_port_write_append(struct vdagent_virtio_port *vport,
}
void vdagent_virtio_port_write(
- struct vdagent_virtio_port *vport,
+ VirtioPort *vport,
uint32_t port_nr,
uint32_t message_type,
uint32_t message_opaque,
@@ -246,7 +246,7 @@ void vdagent_virtio_port_write(
vdagent_virtio_port_write_append(vport, data, data_size);
}
-void vdagent_virtio_port_reset(struct vdagent_virtio_port *vport, int port)
+void vdagent_virtio_port_reset(VirtioPort *vport, int port)
{
if (port >= VDP_END_PORT) {
syslog(LOG_ERR, "vdagent_virtio_port_reset port out of range");
@@ -261,7 +261,7 @@ static void vdagent_virtio_port_do_chunk(VDAgentConnection *conn,
gpointer chunk_data)
{
int avail, read, pos = 0;
- struct vdagent_virtio_port *vport = VIRTIO_PORT(conn);
+ VirtioPort *vport = VIRTIO_PORT(conn);
VDIChunkHeader *chunk_header = header_data;
struct vdagent_virtio_port_chunk_port_data *port =
&vport->port_data[chunk_header->port];
diff --git a/src/vdagentd/virtio-port.h b/src/vdagentd/virtio-port.h
index 32cf8b7..cac2a74 100644
--- a/src/vdagentd/virtio-port.h
+++ b/src/vdagentd/virtio-port.h
@@ -29,59 +29,44 @@
G_BEGIN_DECLS
-#define VIRTIO_TYPE_PORT (virtio_port_get_type())
-#define VIRTIO_PORT(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), VIRTIO_TYPE_PORT, VirtioPort))
-#define VIRTIO_IS_PORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), VIRTIO_TYPE_PORT))
-#define VIRTIO_PORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), VIRTIO_TYPE_PORT, VirtioPortClass))
-#define VIRTIO_IS_PORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), VIRTIO_TYPE_PORT))
-#define VIRTIO_PORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), VIRTIO_TYPE_PORT, VirtioPortClass))
-
-typedef struct vdagent_virtio_port VirtioPort;
-typedef struct VirtioPortClass VirtioPortClass;
-
-struct VirtioPortClass {
- VDAgentConnectionClass parent_class;
-};
-
-GType virtio_port_get_type(void);
-
-struct vdagent_virtio_port;
+#define VIRTIO_TYPE_PORT virtio_port_get_type()
+G_DECLARE_FINAL_TYPE(VirtioPort, virtio_port, VIRTIO, PORT, VDAgentConnection);
/* Callbacks with this type will be called when a complete message has been
received. */
typedef void (*vdagent_virtio_port_read_callback)(
- struct vdagent_virtio_port *vport,
+ VirtioPort *vport,
int port_nr,
VDAgentMessage *message_header,
uint8_t *data);
/* Create a vdagent virtio port object for port portname */
-struct vdagent_virtio_port *vdagent_virtio_port_create(const char *portname,
+VirtioPort *vdagent_virtio_port_create(const char *portname,
vdagent_virtio_port_read_callback read_callback,
VDAgentConnErrorCb error_cb);
/* Queue a message for delivery, either bit by bit, or all at once */
void vdagent_virtio_port_write_start(
- struct vdagent_virtio_port *vport,
+ VirtioPort *vport,
uint32_t port_nr,
uint32_t message_type,
uint32_t message_opaque,
uint32_t data_size);
int vdagent_virtio_port_write_append(
- struct vdagent_virtio_port *vport,
+ VirtioPort *vport,
const uint8_t *data,
uint32_t size);
void vdagent_virtio_port_write(
- struct vdagent_virtio_port *vport,
+ VirtioPort *vport,
uint32_t port_nr,
uint32_t message_type,
uint32_t message_opaque,
const uint8_t *data,
uint32_t data_size);
-void vdagent_virtio_port_reset(struct vdagent_virtio_port *vport, int port);
+void vdagent_virtio_port_reset(VirtioPort *vport, int port);
G_END_DECLS
--
2.20.1
More information about the Spice-devel
mailing list