diff options
Diffstat (limited to 'libsoup/soup-server-message.c')
-rw-r--r-- | libsoup/soup-server-message.c | 56 |
1 files changed, 26 insertions, 30 deletions
diff --git a/libsoup/soup-server-message.c b/libsoup/soup-server-message.c index 24bb9590..0de75108 100644 --- a/libsoup/soup-server-message.c +++ b/libsoup/soup-server-message.c @@ -17,24 +17,21 @@ #include "soup-server-message.h" #include "soup-server.h" -struct SoupServerMessagePrivate { +typedef struct { SoupServer *server; SoupTransferEncoding encoding; gboolean started; gboolean finished; -}; +} SoupServerMessagePrivate; +#define SOUP_SERVER_MESSAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SOUP_TYPE_SERVER_MESSAGE, SoupServerMessagePrivate)) -#define PARENT_TYPE SOUP_TYPE_MESSAGE -static SoupMessageClass *parent_class; +G_DEFINE_TYPE (SoupServerMessage, soup_server_message, SOUP_TYPE_MESSAGE) static void -init (GObject *object) +soup_server_message_init (SoupServerMessage *smsg) { - SoupServerMessage *smsg = SOUP_SERVER_MESSAGE (object); - - smsg->priv = g_new0 (SoupServerMessagePrivate, 1); } static void @@ -45,36 +42,32 @@ finalize (GObject *object) /* FIXME */ g_free ((char *) ((SoupMessage *)smsg)->method); - g_free (smsg->priv); - - G_OBJECT_CLASS (parent_class)->finalize (object); + G_OBJECT_CLASS (soup_server_message_parent_class)->finalize (object); } static void dispose (GObject *object) { - SoupServerMessage *smsg = SOUP_SERVER_MESSAGE (object); + SoupServerMessagePrivate *priv = SOUP_SERVER_MESSAGE_GET_PRIVATE (object); - if (smsg->priv->server) - g_object_unref (smsg->priv->server); + if (priv->server) + g_object_unref (priv->server); - G_OBJECT_CLASS (parent_class)->dispose (object); + G_OBJECT_CLASS (soup_server_message_parent_class)->dispose (object); } - - static void -class_init (GObjectClass *object_class) +soup_server_message_class_init (SoupServerMessageClass *soup_server_message_class) { - parent_class = g_type_class_ref (PARENT_TYPE); + GObjectClass *object_class = G_OBJECT_CLASS (soup_server_message_class); + + g_type_class_add_private (soup_server_message_class, sizeof (SoupServerMessagePrivate)); /* virtual method override */ object_class->finalize = finalize; object_class->dispose = dispose; } -SOUP_MAKE_TYPE (soup_server_message, SoupServerMessage, class_init, init, PARENT_TYPE) - SoupServerMessage * soup_server_message_new (SoupServer *server) @@ -84,7 +77,7 @@ soup_server_message_new (SoupServer *server) g_return_val_if_fail (SOUP_IS_SERVER (server), NULL); smsg = g_object_new (SOUP_TYPE_SERVER_MESSAGE, NULL); - smsg->priv->server = g_object_ref (server); + SOUP_SERVER_MESSAGE_GET_PRIVATE (smsg)->server = g_object_ref (server); return smsg; } @@ -94,7 +87,7 @@ soup_server_message_get_server (SoupServerMessage *smsg) { g_return_val_if_fail (SOUP_IS_SERVER_MESSAGE (smsg), NULL); - return smsg->priv->server; + return SOUP_SERVER_MESSAGE_GET_PRIVATE (smsg)->server; } void @@ -103,7 +96,7 @@ soup_server_message_set_encoding (SoupServerMessage *smsg, { g_return_if_fail (SOUP_IS_SERVER_MESSAGE (smsg)); - smsg->priv->encoding = encoding; + SOUP_SERVER_MESSAGE_GET_PRIVATE (smsg)->encoding = encoding; } SoupTransferEncoding @@ -111,7 +104,7 @@ soup_server_message_get_encoding (SoupServerMessage *smsg) { g_return_val_if_fail (SOUP_IS_SERVER_MESSAGE (smsg), SOUP_TRANSFER_UNKNOWN); - return smsg->priv->encoding; + return SOUP_SERVER_MESSAGE_GET_PRIVATE (smsg)->encoding; } void @@ -119,7 +112,7 @@ soup_server_message_start (SoupServerMessage *smsg) { g_return_if_fail (SOUP_IS_SERVER_MESSAGE (smsg)); - smsg->priv->started = TRUE; + SOUP_SERVER_MESSAGE_GET_PRIVATE (smsg)->started = TRUE; soup_message_io_unpause (SOUP_MESSAGE (smsg)); } @@ -129,16 +122,19 @@ soup_server_message_is_started (SoupServerMessage *smsg) { g_return_val_if_fail (SOUP_IS_SERVER_MESSAGE (smsg), TRUE); - return smsg->priv->started; + return SOUP_SERVER_MESSAGE_GET_PRIVATE (smsg)->started; } void soup_server_message_finish (SoupServerMessage *smsg) { + SoupServerMessagePrivate *priv; + g_return_if_fail (SOUP_IS_SERVER_MESSAGE (smsg)); + priv = SOUP_SERVER_MESSAGE_GET_PRIVATE (smsg); - smsg->priv->started = TRUE; - smsg->priv->finished = TRUE; + priv->started = TRUE; + priv->finished = TRUE; soup_message_io_unpause (SOUP_MESSAGE (smsg)); } @@ -148,5 +144,5 @@ soup_server_message_is_finished (SoupServerMessage *smsg) { g_return_val_if_fail (SOUP_IS_SERVER_MESSAGE (smsg), TRUE); - return smsg->priv->finished; + return SOUP_SERVER_MESSAGE_GET_PRIVATE (smsg)->finished; } |