From 4e3273e3e08c693fdff3d2fc85d3cfc50f2918b2 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Wed, 11 Jun 2003 18:11:31 +0000 Subject: [PATCH] Change all functions to take a SoupReader * or SoupWriter * instead of a * libsoup/soup-transfer.c: Change all functions to take a SoupReader * or SoupWriter * instead of a guint. * libsoup/soup-private.h (SoupMessagePrivate): make read_tag and write_tag pointers instead of guints. --- ChangeLog | 8 ++++++++ libsoup/soup-private.h | 4 ++-- libsoup/soup-transfer.c | 52 ++++++++++++++++++++---------------------------- libsoup/soup-transfer.h | 53 ++++++++++++++++++++++++++----------------------- 4 files changed, 59 insertions(+), 58 deletions(-) diff --git a/ChangeLog b/ChangeLog index dfbb256..c0840ae 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2003-06-11 Dan Winship + + * libsoup/soup-transfer.c: Change all functions to take a + SoupReader * or SoupWriter * instead of a guint. + + * libsoup/soup-private.h (SoupMessagePrivate): make read_tag and + write_tag pointers instead of guints. + 2003-06-02 Chris Toshok * libsoup/soup-ssl.c: remove #include for soup-nss.h diff --git a/libsoup/soup-private.h b/libsoup/soup-private.h index 39b4f82..50db591 100644 --- a/libsoup/soup-private.h +++ b/libsoup/soup-private.h @@ -104,8 +104,8 @@ struct _SoupServer { struct _SoupMessagePrivate { SoupConnectId connect_tag; - guint read_tag; - guint write_tag; + gpointer read_tag; + gpointer write_tag; guint timeout_tag; guint retries; diff --git a/libsoup/soup-transfer.c b/libsoup/soup-transfer.c index 608f2dd..1141940 100644 --- a/libsoup/soup-transfer.c +++ b/libsoup/soup-transfer.c @@ -61,7 +61,7 @@ typedef struct { guint idx; } SoupTransferChunkState; -typedef struct { +struct _SoupReader { GIOChannel *channel; guint read_tag; guint err_tag; @@ -89,9 +89,9 @@ typedef struct { SoupReadDoneFn read_done_cb; SoupReadErrorFn error_cb; gpointer user_data; -} SoupReader; +}; -typedef struct { +struct _SoupWriter { GIOChannel *channel; guint write_tag; guint err_tag; @@ -109,16 +109,14 @@ typedef struct { SoupWriteDoneFn write_done_cb; SoupWriteErrorFn error_cb; gpointer user_data; -} SoupWriter; +}; #define IGNORE_CANCEL(t, cancel_p) (t)->cancelled = cancel_p; #define UNIGNORE_CANCEL(t) (t)->cancelled = NULL; void -soup_transfer_read_cancel (guint tag) +soup_transfer_read_cancel (SoupReader *r) { - SoupReader *r = GINT_TO_POINTER (tag); - if (r->cancelled) { *(r->cancelled) = TRUE; return; @@ -135,15 +133,13 @@ soup_transfer_read_cancel (guint tag) } void -soup_transfer_read_set_callbacks (guint tag, +soup_transfer_read_set_callbacks (SoupReader *r, SoupReadHeadersDoneFn headers_done_cb, SoupReadChunkFn read_chunk_cb, SoupReadDoneFn read_done_cb, SoupReadErrorFn error_cb, gpointer user_data) { - SoupReader *r = GINT_TO_POINTER (tag); - r->headers_done_cb = headers_done_cb; r->read_chunk_cb = read_chunk_cb; r->read_done_cb = read_done_cb; @@ -199,7 +195,7 @@ soup_transfer_read_error_cb (GIOChannel* iochannel, CANCELLED: UNIGNORE_CANCEL (r); - soup_transfer_read_cancel (GPOINTER_TO_INT (r)); + soup_transfer_read_cancel (r); return FALSE; } @@ -517,12 +513,12 @@ soup_transfer_read_cb (GIOChannel *iochannel, UNIGNORE_CANCEL (r); FINISH_READ: - soup_transfer_read_cancel (GPOINTER_TO_INT (r)); + soup_transfer_read_cancel (r); return FALSE; } -guint +SoupReader * soup_transfer_read (GIOChannel *chan, gboolean overwrite_chunks, SoupReadHeadersDoneFn headers_done_cb, @@ -556,14 +552,12 @@ soup_transfer_read (GIOChannel *chan, (GIOFunc) soup_transfer_read_error_cb, reader); - return GPOINTER_TO_INT (reader); + return reader; } void -soup_transfer_write_cancel (guint tag) +soup_transfer_write_cancel (SoupWriter *w) { - SoupWriter *w = GINT_TO_POINTER (tag); - if (w->cancelled) { *(w->cancelled) = TRUE; return; @@ -591,7 +585,7 @@ soup_transfer_write_error_cb (GIOChannel* iochannel, UNIGNORE_CANCEL (w); } - soup_transfer_write_cancel (GPOINTER_TO_INT (w)); + soup_transfer_write_cancel (w); return FALSE; } @@ -755,7 +749,7 @@ soup_transfer_write_cb (GIOChannel* iochannel, } CANCEL: - soup_transfer_write_cancel (GPOINTER_TO_INT (w)); + soup_transfer_write_cancel (w); DONE_WRITING: RESTORE_PIPE (pipe_handler); @@ -799,7 +793,7 @@ create_writer (GIOChannel *chan, return writer; } -guint +SoupWriter * soup_transfer_write_simple (GIOChannel *chan, GString *header, const SoupDataBuffer *src, @@ -827,10 +821,10 @@ soup_transfer_write_simple (GIOChannel *chan, src->body, src->length); - return GPOINTER_TO_INT (writer); + return writer; } -guint +SoupWriter * soup_transfer_write (GIOChannel *chan, SoupTransferEncoding encoding, SoupWriteGetHeaderFn get_header_cb, @@ -850,15 +844,13 @@ soup_transfer_write (GIOChannel *chan, writer->get_header_cb = get_header_cb; writer->get_chunk_cb = get_chunk_cb; - return GPOINTER_TO_INT (writer); + return writer; } void -soup_transfer_write_pause (guint tag) +soup_transfer_write_pause (SoupWriter *w) { - SoupWriter *w = GINT_TO_POINTER (tag); - - g_return_if_fail (tag != 0); + g_return_if_fail (w != NULL); if (w->write_tag) { g_source_remove (w->write_tag); @@ -867,11 +859,9 @@ soup_transfer_write_pause (guint tag) } void -soup_transfer_write_unpause (guint tag) +soup_transfer_write_unpause (SoupWriter *w) { - SoupWriter *w = GINT_TO_POINTER (tag); - - g_return_if_fail (tag != 0); + g_return_if_fail (w != NULL); if (!w->write_tag) { w->write_tag = diff --git a/libsoup/soup-transfer.h b/libsoup/soup-transfer.h index ca22009..ae06ff4 100644 --- a/libsoup/soup-transfer.h +++ b/libsoup/soup-transfer.h @@ -26,6 +26,9 @@ typedef enum { SOUP_TRANSFER_CONTENT_LENGTH, } SoupTransferEncoding; +typedef struct _SoupReader SoupReader; +typedef struct _SoupWriter SoupWriter; + typedef SoupTransferDone (*SoupReadHeadersDoneFn) ( const GString *headers, SoupTransferEncoding *encoding, @@ -40,17 +43,17 @@ typedef void (*SoupReadDoneFn) (const SoupDataBuffer *data, typedef void (*SoupReadErrorFn) (gboolean headers_done, gpointer user_data); -guint soup_transfer_read (GIOChannel *chan, - gboolean overwrite_chunks, - SoupReadHeadersDoneFn headers_done_cb, - SoupReadChunkFn read_chunk_cb, - SoupReadDoneFn read_done_cb, - SoupReadErrorFn error_cb, - gpointer user_data); +SoupReader *soup_transfer_read (GIOChannel *chan, + gboolean overwrite_chunks, + SoupReadHeadersDoneFn headers_done_cb, + SoupReadChunkFn read_chunk_cb, + SoupReadDoneFn read_done_cb, + SoupReadErrorFn error_cb, + gpointer user_data); -void soup_transfer_read_cancel (guint tag); +void soup_transfer_read_cancel (SoupReader *r); -void soup_transfer_read_set_callbacks (guint tag, +void soup_transfer_read_set_callbacks (SoupReader *r, SoupReadHeadersDoneFn headers_done_cb, SoupReadChunkFn read_chunk_cb, SoupReadDoneFn read_done_cb, @@ -62,12 +65,12 @@ typedef void (*SoupWriteDoneFn) (gpointer user_data); typedef void (*SoupWriteErrorFn) (gboolean headers_done, gpointer user_data); -guint soup_transfer_write_simple (GIOChannel *chan, - GString *header, - const SoupDataBuffer *src, - SoupWriteDoneFn write_done_cb, - SoupWriteErrorFn error_cb, - gpointer user_data); +SoupWriter *soup_transfer_write_simple (GIOChannel *chan, + GString *header, + const SoupDataBuffer *src, + SoupWriteDoneFn write_done_cb, + SoupWriteErrorFn error_cb, + gpointer user_data); typedef void (*SoupWriteGetHeaderFn) (GString **out_hdr, gpointer user_data); @@ -75,18 +78,18 @@ typedef void (*SoupWriteGetHeaderFn) (GString **out_hdr, typedef SoupTransferDone (*SoupWriteGetChunkFn) (SoupDataBuffer *out_next, gpointer user_data); -guint soup_transfer_write (GIOChannel *chan, - SoupTransferEncoding encoding, - SoupWriteGetHeaderFn get_header_cb, - SoupWriteGetChunkFn get_chunk_cb, - SoupWriteDoneFn write_done_cb, - SoupWriteErrorFn error_cb, - gpointer user_data); +SoupWriter *soup_transfer_write (GIOChannel *chan, + SoupTransferEncoding encoding, + SoupWriteGetHeaderFn get_header_cb, + SoupWriteGetChunkFn get_chunk_cb, + SoupWriteDoneFn write_done_cb, + SoupWriteErrorFn error_cb, + gpointer user_data); -void soup_transfer_write_pause (guint tag); +void soup_transfer_write_pause (SoupWriter *w); -void soup_transfer_write_unpause (guint tag); +void soup_transfer_write_unpause (SoupWriter *w); -void soup_transfer_write_cancel (guint tag); +void soup_transfer_write_cancel (SoupWriter *w); #endif /*SOUP_TRANSFER_H*/ -- 2.7.4