summaryrefslogtreecommitdiff
path: root/server/tests/test-channel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'server/tests/test-channel.cpp')
-rw-r--r--server/tests/test-channel.cpp47
1 files changed, 10 insertions, 37 deletions
diff --git a/server/tests/test-channel.cpp b/server/tests/test-channel.cpp
index ed083f1a..9c294f2a 100644
--- a/server/tests/test-channel.cpp
+++ b/server/tests/test-channel.cpp
@@ -47,31 +47,19 @@ struct RedTestChannelClass
G_DEFINE_TYPE(RedTestChannel, red_test_channel, RED_TYPE_CHANNEL)
-SPICE_DECLARE_TYPE(RedTestChannelClient, red_test_channel_client, TEST_CHANNEL_CLIENT);
-#define RED_TYPE_TEST_CHANNEL_CLIENT red_test_channel_client_get_type()
-
-struct RedTestChannelClient final: public RedChannelClient
-{
-};
-
-struct RedTestChannelClientClass
+class RedTestChannelClient final: public RedChannelClient
{
- RedChannelClientClass parent_class;
+ using RedChannelClient::RedChannelClient;
+ virtual uint8_t * alloc_recv_buf(uint16_t type, uint32_t size) override;
+ virtual void release_recv_buf(uint16_t type, uint32_t size, uint8_t *msg) override;
};
-G_DEFINE_TYPE(RedTestChannelClient, red_test_channel_client, RED_TYPE_CHANNEL_CLIENT)
-
static void
red_test_channel_init(RedTestChannel *self)
{
}
static void
-red_test_channel_client_init(RedTestChannelClient *self)
-{
-}
-
-static void
test_channel_send_item(RedChannelClient *rcc, RedPipeItem *item)
{
}
@@ -81,15 +69,9 @@ test_connect_client(RedChannel *channel, RedClient *client, RedStream *stream,
int migration, RedChannelCapabilities *caps)
{
RedChannelClient *rcc;
- rcc = (RedChannelClient *)
- g_initable_new(RED_TYPE_TEST_CHANNEL_CLIENT,
- NULL, NULL,
- "channel", channel,
- "client", client,
- "stream", stream,
- "caps", caps,
- NULL);
+ rcc = new RedTestChannelClient(channel, client, stream, caps);
g_assert_nonnull(rcc);
+ g_assert_true(rcc->init());
// requires an ACK after 10 messages
rcc->ack_set_client_window(10);
@@ -115,27 +97,18 @@ red_test_channel_class_init(RedTestChannelClass *klass)
channel_class->connect = test_connect_client;
}
-static uint8_t *
-red_test_channel_client_alloc_msg_rcv_buf(RedChannelClient *rcc, uint16_t type, uint32_t size)
+uint8_t *
+RedTestChannelClient::alloc_recv_buf(uint16_t type, uint32_t size)
{
return (uint8_t*) g_malloc(size);
}
-static void
-red_test_channel_client_release_msg_rcv_buf(RedChannelClient *rcc,
- uint16_t type, uint32_t size, uint8_t *msg)
+void
+RedTestChannelClient::release_recv_buf(uint16_t type, uint32_t size, uint8_t *msg)
{
g_free(msg);
}
-static void
-red_test_channel_client_class_init(RedTestChannelClientClass *klass)
-{
- RedChannelClientClass *client_class = RED_CHANNEL_CLIENT_CLASS(klass);
- client_class->alloc_recv_buf = red_test_channel_client_alloc_msg_rcv_buf;
- client_class->release_recv_buf = red_test_channel_client_release_msg_rcv_buf;
-}
-
/*
* Main test part