summaryrefslogtreecommitdiff
path: root/libsoup/content-sniffer
diff options
context:
space:
mode:
authorPatrick Griffis <pgriffis@igalia.com>2020-03-25 03:59:41 -0700
committerPatrick Griffis <pgriffis@igalia.com>2020-09-19 15:41:24 -0700
commit4e39dbad76cbe672cf4a68afe2eb35e0ad0c67bc (patch)
tree53ce6ae75af42ecba2326997a3333fb52c35bb93 /libsoup/content-sniffer
parent55d928b6cab01a96295e7d3da86942a3bfb29847 (diff)
downloadlibsoup-4e39dbad76cbe672cf4a68afe2eb35e0ad0c67bc.tar.gz
Modernize GObject declarations
Diffstat (limited to 'libsoup/content-sniffer')
-rw-r--r--libsoup/content-sniffer/soup-content-decoder.c28
-rw-r--r--libsoup/content-sniffer/soup-content-decoder.h32
-rw-r--r--libsoup/content-sniffer/soup-content-processor.c4
-rw-r--r--libsoup/content-sniffer/soup-content-processor.h17
-rw-r--r--libsoup/content-sniffer/soup-content-sniffer-stream.c112
-rw-r--r--libsoup/content-sniffer/soup-content-sniffer-stream.h31
-rw-r--r--libsoup/content-sniffer/soup-content-sniffer.h35
-rw-r--r--libsoup/content-sniffer/soup-converter-wrapper.c28
-rw-r--r--libsoup/content-sniffer/soup-converter-wrapper.h33
9 files changed, 118 insertions, 202 deletions
diff --git a/libsoup/content-sniffer/soup-content-decoder.c b/libsoup/content-sniffer/soup-content-decoder.c
index c0155786..eeb880ff 100644
--- a/libsoup/content-sniffer/soup-content-decoder.c
+++ b/libsoup/content-sniffer/soup-content-decoder.c
@@ -53,10 +53,14 @@
* Since: 2.30
**/
-struct _SoupContentDecoderPrivate {
- GHashTable *decoders;
+struct _SoupContentDecoder {
+ GObject parent;
};
+typedef struct {
+ GHashTable *decoders;
+} SoupContentDecoderPrivate;
+
typedef GConverter * (*SoupContentDecoderCreator) (void);
static void soup_content_decoder_session_feature_init (SoupSessionFeatureInterface *feature_interface, gpointer interface_data);
@@ -75,6 +79,7 @@ G_DEFINE_TYPE_WITH_CODE (SoupContentDecoder, soup_content_decoder, G_TYPE_OBJECT
static GSList *
soup_content_decoder_get_decoders_for_msg (SoupContentDecoder *decoder, SoupMessage *msg)
{
+ SoupContentDecoderPrivate *priv = soup_content_decoder_get_instance_private (decoder);
const char *header;
GSList *encodings, *e, *decoders = NULL;
SoupContentDecoderCreator converter_creator;
@@ -104,14 +109,14 @@ soup_content_decoder_get_decoders_for_msg (SoupContentDecoder *decoder, SoupMess
return NULL;
for (e = encodings; e; e = e->next) {
- if (!g_hash_table_lookup (decoder->priv->decoders, e->data)) {
+ if (!g_hash_table_lookup (priv->decoders, e->data)) {
soup_header_free_list (encodings);
return NULL;
}
}
for (e = encodings; e; e = e->next) {
- converter_creator = g_hash_table_lookup (decoder->priv->decoders, e->data);
+ converter_creator = g_hash_table_lookup (priv->decoders, e->data);
converter = converter_creator ();
/* Content-Encoding lists the codings in the order
@@ -204,18 +209,18 @@ brotli_decoder_creator (void)
static void
soup_content_decoder_init (SoupContentDecoder *decoder)
{
- decoder->priv = soup_content_decoder_get_instance_private (decoder);
+ SoupContentDecoderPrivate *priv = soup_content_decoder_get_instance_private (decoder);
- decoder->priv->decoders = g_hash_table_new (g_str_hash, g_str_equal);
+ priv->decoders = g_hash_table_new (g_str_hash, g_str_equal);
/* Hardcoded for now */
- g_hash_table_insert (decoder->priv->decoders, "gzip",
+ g_hash_table_insert (priv->decoders, "gzip",
gzip_decoder_creator);
- g_hash_table_insert (decoder->priv->decoders, "x-gzip",
+ g_hash_table_insert (priv->decoders, "x-gzip",
gzip_decoder_creator);
- g_hash_table_insert (decoder->priv->decoders, "deflate",
+ g_hash_table_insert (priv->decoders, "deflate",
zlib_decoder_creator);
#ifdef WITH_BROTLI
- g_hash_table_insert (decoder->priv->decoders, "br",
+ g_hash_table_insert (priv->decoders, "br",
brotli_decoder_creator);
#endif
}
@@ -224,8 +229,9 @@ static void
soup_content_decoder_finalize (GObject *object)
{
SoupContentDecoder *decoder = SOUP_CONTENT_DECODER (object);
+ SoupContentDecoderPrivate *priv = soup_content_decoder_get_instance_private (decoder);
- g_hash_table_destroy (decoder->priv->decoders);
+ g_hash_table_destroy (priv->decoders);
G_OBJECT_CLASS (soup_content_decoder_parent_class)->finalize (object);
}
diff --git a/libsoup/content-sniffer/soup-content-decoder.h b/libsoup/content-sniffer/soup-content-decoder.h
index c27042ee..f31c4055 100644
--- a/libsoup/content-sniffer/soup-content-decoder.h
+++ b/libsoup/content-sniffer/soup-content-decoder.h
@@ -3,8 +3,7 @@
* Copyright (C) 2009 Red Hat, Inc.
*/
-#ifndef __SOUP_CONTENT_DECODER_H__
-#define __SOUP_CONTENT_DECODER_H__ 1
+#pragma once
#include "soup-types.h"
#include "soup-message-body.h"
@@ -12,34 +11,7 @@
G_BEGIN_DECLS
#define SOUP_TYPE_CONTENT_DECODER (soup_content_decoder_get_type ())
-#define SOUP_CONTENT_DECODER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_CONTENT_DECODER, SoupContentDecoder))
-#define SOUP_CONTENT_DECODER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_CONTENT_DECODER, SoupContentDecoderClass))
-#define SOUP_IS_CONTENT_DECODER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUP_TYPE_CONTENT_DECODER))
-#define SOUP_IS_CONTENT_DECODER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), SOUP_TYPE_CONTENT_DECODER))
-#define SOUP_CONTENT_DECODER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUP_TYPE_CONTENT_DECODER, SoupContentDecoderClass))
-
-typedef struct _SoupContentDecoderPrivate SoupContentDecoderPrivate;
-
-typedef struct {
- GObject parent;
-
- SoupContentDecoderPrivate *priv;
-} SoupContentDecoder;
-
-typedef struct {
- GObjectClass parent_class;
-
- /* Padding for future expansion */
- void (*_libsoup_reserved1) (void);
- void (*_libsoup_reserved2) (void);
- void (*_libsoup_reserved3) (void);
- void (*_libsoup_reserved4) (void);
- void (*_libsoup_reserved5) (void);
-} SoupContentDecoderClass;
-
SOUP_AVAILABLE_IN_2_30
-GType soup_content_decoder_get_type (void);
+G_DECLARE_FINAL_TYPE (SoupContentDecoder, soup_content_decoder, SOUP, CONTENT_DECODER, GObject)
G_END_DECLS
-
-#endif /* __SOUP_CONTENT_DECODER_H__ */
diff --git a/libsoup/content-sniffer/soup-content-processor.c b/libsoup/content-sniffer/soup-content-processor.c
index ca1bd169..da9ad89e 100644
--- a/libsoup/content-sniffer/soup-content-processor.c
+++ b/libsoup/content-sniffer/soup-content-processor.c
@@ -37,7 +37,7 @@ soup_content_processor_wrap_input (SoupContentProcessor *processor,
{
g_return_val_if_fail (SOUP_IS_CONTENT_PROCESSOR (processor), NULL);
- return SOUP_CONTENT_PROCESSOR_GET_INTERFACE (processor)->wrap_input (processor, base_stream, msg, error);
+ return SOUP_CONTENT_PROCESSOR_GET_IFACE (processor)->wrap_input (processor, base_stream, msg, error);
}
SoupProcessingStage
@@ -45,5 +45,5 @@ soup_content_processor_get_processing_stage (SoupContentProcessor *processor)
{
g_return_val_if_fail (SOUP_IS_CONTENT_PROCESSOR (processor), SOUP_STAGE_INVALID);
- return SOUP_CONTENT_PROCESSOR_GET_INTERFACE (processor)->processing_stage;
+ return SOUP_CONTENT_PROCESSOR_GET_IFACE (processor)->processing_stage;
}
diff --git a/libsoup/content-sniffer/soup-content-processor.h b/libsoup/content-sniffer/soup-content-processor.h
index ab92788e..39075412 100644
--- a/libsoup/content-sniffer/soup-content-processor.h
+++ b/libsoup/content-sniffer/soup-content-processor.h
@@ -3,18 +3,14 @@
* Copyright (C) 2012 Igalia, S.L.
*/
-
-#ifndef __SOUP_CONTENT_PROCESSOR_H__
-#define __SOUP_CONTENT_PROCESSOR_H__ 1
+#pragma once
#include "soup-types.h"
G_BEGIN_DECLS
-#define SOUP_TYPE_CONTENT_PROCESSOR (soup_content_processor_get_type ())
-#define SOUP_CONTENT_PROCESSOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_CONTENT_PROCESSOR, SoupContentProcessor))
-#define SOUP_IS_CONTENT_PROCESSOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUP_TYPE_CONTENT_PROCESSOR))
-#define SOUP_CONTENT_PROCESSOR_GET_INTERFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), SOUP_TYPE_CONTENT_PROCESSOR, SoupContentProcessorInterface))
+#define SOUP_TYPE_CONTENT_PROCESSOR (soup_content_processor_get_type ())
+G_DECLARE_INTERFACE (SoupContentProcessor, soup_content_processor, SOUP, CONTENT_PROCESSOR, GObject)
typedef enum {
SOUP_STAGE_INVALID,
@@ -26,9 +22,6 @@ typedef enum {
SOUP_STAGE_BODY_DATA /* Actual body data */
} SoupProcessingStage;
-typedef struct _SoupContentProcessor SoupContentProcessor;
-typedef struct _SoupContentProcessorInterface SoupContentProcessorInterface;
-
struct _SoupContentProcessorInterface {
GTypeInterface parent;
@@ -41,8 +34,6 @@ struct _SoupContentProcessorInterface {
GError **error);
};
-GType soup_content_processor_get_type (void);
-
GInputStream *soup_content_processor_wrap_input (SoupContentProcessor *processor,
GInputStream *base_stream,
SoupMessage *msg,
@@ -51,5 +42,3 @@ GInputStream *soup_content_processor_wrap_input (SoupContentProc
SoupProcessingStage soup_content_processor_get_processing_stage (SoupContentProcessor *processor);
G_END_DECLS
-
-#endif /* __SOUP_CONTENT_PROCESSOR_H__ */
diff --git a/libsoup/content-sniffer/soup-content-sniffer-stream.c b/libsoup/content-sniffer/soup-content-sniffer-stream.c
index f1ed6a1d..4b026e01 100644
--- a/libsoup/content-sniffer/soup-content-sniffer-stream.c
+++ b/libsoup/content-sniffer/soup-content-sniffer-stream.c
@@ -21,7 +21,11 @@ enum {
PROP_MESSAGE,
};
-struct _SoupContentSnifferStreamPrivate {
+struct _SoupContentSnifferStream {
+ GFilterInputStream parent_instance;
+};
+
+typedef struct {
SoupContentSniffer *sniffer;
SoupMessage *msg;
@@ -32,7 +36,7 @@ struct _SoupContentSnifferStreamPrivate {
char *sniffed_type;
GHashTable *sniffed_params;
-};
+} SoupContentSnifferStreamPrivate;
static void soup_content_sniffer_stream_pollable_init (GPollableInputStreamInterface *pollable_interface, gpointer interface_data);
@@ -45,13 +49,14 @@ static void
soup_content_sniffer_stream_finalize (GObject *object)
{
SoupContentSnifferStream *sniffer = SOUP_CONTENT_SNIFFER_STREAM (object);
+ SoupContentSnifferStreamPrivate *priv = soup_content_sniffer_stream_get_instance_private (sniffer);
- g_clear_object (&sniffer->priv->sniffer);
- g_clear_object (&sniffer->priv->msg);
- g_free (sniffer->priv->buffer);
- g_clear_error (&sniffer->priv->error);
- g_free (sniffer->priv->sniffed_type);
- g_clear_pointer (&sniffer->priv->sniffed_params, g_hash_table_unref);
+ g_clear_object (&priv->sniffer);
+ g_clear_object (&priv->msg);
+ g_free (priv->buffer);
+ g_clear_error (&priv->error);
+ g_free (priv->sniffed_type);
+ g_clear_pointer (&priv->sniffed_params, g_hash_table_unref);
G_OBJECT_CLASS (soup_content_sniffer_stream_parent_class)->finalize (object);
}
@@ -61,16 +66,17 @@ soup_content_sniffer_stream_set_property (GObject *object, guint prop_id,
const GValue *value, GParamSpec *pspec)
{
SoupContentSnifferStream *sniffer = SOUP_CONTENT_SNIFFER_STREAM (object);
+ SoupContentSnifferStreamPrivate *priv = soup_content_sniffer_stream_get_instance_private (sniffer);
switch (prop_id) {
case PROP_SNIFFER:
- sniffer->priv->sniffer = g_value_dup_object (value);
+ priv->sniffer = g_value_dup_object (value);
/* FIXME: supposed to wait until after got-headers for this */
- sniffer->priv->buffer_size = soup_content_sniffer_get_buffer_size (sniffer->priv->sniffer);
- sniffer->priv->buffer = g_malloc (sniffer->priv->buffer_size);
+ priv->buffer_size = soup_content_sniffer_get_buffer_size (priv->sniffer);
+ priv->buffer = g_malloc (priv->buffer_size);
break;
case PROP_MESSAGE:
- sniffer->priv->msg = g_value_dup_object (value);
+ priv->msg = g_value_dup_object (value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -83,13 +89,14 @@ soup_content_sniffer_stream_get_property (GObject *object, guint prop_id,
GValue *value, GParamSpec *pspec)
{
SoupContentSnifferStream *sniffer = SOUP_CONTENT_SNIFFER_STREAM (object);
+ SoupContentSnifferStreamPrivate *priv = soup_content_sniffer_stream_get_instance_private (sniffer);
switch (prop_id) {
case PROP_SNIFFER:
- g_value_set_object (value, sniffer->priv->sniffer);
+ g_value_set_object (value, priv->sniffer);
break;
case PROP_MESSAGE:
- g_value_set_object (value, sniffer->priv->msg);
+ g_value_set_object (value, priv->msg);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -101,7 +108,8 @@ static gssize
read_and_sniff (GInputStream *stream, gboolean blocking,
GCancellable *cancellable, GError **error)
{
- SoupContentSnifferStreamPrivate *priv = SOUP_CONTENT_SNIFFER_STREAM (stream)->priv;
+ SoupContentSnifferStream *sniffer = SOUP_CONTENT_SNIFFER_STREAM (stream);
+ SoupContentSnifferStreamPrivate *priv = soup_content_sniffer_stream_get_instance_private (sniffer);
gssize nread;
GError *my_error = NULL;
SoupBuffer *buf;
@@ -151,33 +159,34 @@ read_internal (GInputStream *stream,
GError **error)
{
SoupContentSnifferStream *sniffer = SOUP_CONTENT_SNIFFER_STREAM (stream);
+ SoupContentSnifferStreamPrivate *priv = soup_content_sniffer_stream_get_instance_private (sniffer);
gssize nread;
- if (sniffer->priv->error) {
- g_propagate_error (error, sniffer->priv->error);
- sniffer->priv->error = NULL;
+ if (priv->error) {
+ g_propagate_error (error, priv->error);
+ priv->error = NULL;
return -1;
}
- if (sniffer->priv->sniffing) {
+ if (priv->sniffing) {
nread = read_and_sniff (stream, blocking, cancellable, error);
if (nread <= 0)
return nread;
}
- if (sniffer->priv->buffer) {
- nread = MIN (count, sniffer->priv->buffer_nread);
+ if (priv->buffer) {
+ nread = MIN (count, priv->buffer_nread);
if (buffer)
- memcpy (buffer, sniffer->priv->buffer, nread);
- if (nread == sniffer->priv->buffer_nread) {
- g_free (sniffer->priv->buffer);
- sniffer->priv->buffer = NULL;
+ memcpy (buffer, priv->buffer, nread);
+ if (nread == priv->buffer_nread) {
+ g_free (priv->buffer);
+ priv->buffer = NULL;
} else {
/* FIXME, inefficient */
- memmove (sniffer->priv->buffer,
- sniffer->priv->buffer + nread,
- sniffer->priv->buffer_nread - nread);
- sniffer->priv->buffer_nread -= nread;
+ memmove (priv->buffer,
+ priv->buffer + nread,
+ priv->buffer_nread - nread);
+ priv->buffer_nread -= nread;
}
} else {
nread = g_pollable_stream_read (G_FILTER_INPUT_STREAM (stream)->base_stream,
@@ -205,9 +214,10 @@ soup_content_sniffer_stream_skip (GInputStream *stream,
GError **error)
{
SoupContentSnifferStream *sniffer = SOUP_CONTENT_SNIFFER_STREAM (stream);
+ SoupContentSnifferStreamPrivate *priv = soup_content_sniffer_stream_get_instance_private (sniffer);
gssize nskipped;
- if (sniffer->priv->sniffing) {
+ if (priv->sniffing) {
/* Read into the internal buffer... */
nskipped = soup_content_sniffer_stream_read (stream, NULL, 0, cancellable, error);
if (nskipped == -1)
@@ -215,17 +225,17 @@ soup_content_sniffer_stream_skip (GInputStream *stream,
/* Now fall through */
}
- if (sniffer->priv->buffer) {
- nskipped = MIN (count, sniffer->priv->buffer_nread);
- if (nskipped == sniffer->priv->buffer_nread) {
- g_free (sniffer->priv->buffer);
- sniffer->priv->buffer = NULL;
+ if (priv->buffer) {
+ nskipped = MIN (count, priv->buffer_nread);
+ if (nskipped == priv->buffer_nread) {
+ g_free (priv->buffer);
+ priv->buffer = NULL;
} else {
/* FIXME */
- memmove (sniffer->priv->buffer,
- sniffer->priv->buffer + nskipped,
- sniffer->priv->buffer_nread - nskipped);
- sniffer->priv->buffer_nread -= nskipped;
+ memmove (priv->buffer,
+ priv->buffer + nskipped,
+ priv->buffer_nread - nskipped);
+ priv->buffer_nread -= nskipped;
}
} else {
nskipped = G_INPUT_STREAM_CLASS (soup_content_sniffer_stream_parent_class)->
@@ -248,9 +258,10 @@ static gboolean
soup_content_sniffer_stream_is_readable (GPollableInputStream *stream)
{
SoupContentSnifferStream *sniffer = SOUP_CONTENT_SNIFFER_STREAM (stream);
+ SoupContentSnifferStreamPrivate *priv = soup_content_sniffer_stream_get_instance_private (sniffer);
- if (sniffer->priv->error ||
- (!sniffer->priv->sniffing && sniffer->priv->buffer))
+ if (priv->error ||
+ (!priv->sniffing && priv->buffer))
return TRUE;
return g_pollable_input_stream_is_readable (G_POLLABLE_INPUT_STREAM (G_FILTER_INPUT_STREAM (stream)->base_stream));
@@ -271,10 +282,11 @@ soup_content_sniffer_stream_create_source (GPollableInputStream *stream,
GCancellable *cancellable)
{
SoupContentSnifferStream *sniffer = SOUP_CONTENT_SNIFFER_STREAM (stream);
+ SoupContentSnifferStreamPrivate *priv = soup_content_sniffer_stream_get_instance_private (sniffer);
GSource *base_source, *pollable_source;
- if (sniffer->priv->error ||
- (!sniffer->priv->sniffing && sniffer->priv->buffer))
+ if (priv->error ||
+ (!priv->sniffing && priv->buffer))
base_source = g_timeout_source_new (0);
else
base_source = g_pollable_input_stream_create_source (G_POLLABLE_INPUT_STREAM (G_FILTER_INPUT_STREAM (stream)->base_stream), cancellable);
@@ -290,8 +302,8 @@ soup_content_sniffer_stream_create_source (GPollableInputStream *stream,
static void
soup_content_sniffer_stream_init (SoupContentSnifferStream *sniffer)
{
- sniffer->priv = soup_content_sniffer_stream_get_instance_private (sniffer);
- sniffer->priv->sniffing = TRUE;
+ SoupContentSnifferStreamPrivate *priv = soup_content_sniffer_stream_get_instance_private (sniffer);
+ priv->sniffing = TRUE;
}
static void
@@ -340,7 +352,9 @@ soup_content_sniffer_stream_is_ready (SoupContentSnifferStream *sniffer,
GCancellable *cancellable,
GError **error)
{
- if (!sniffer->priv->sniffing)
+ SoupContentSnifferStreamPrivate *priv = soup_content_sniffer_stream_get_instance_private (sniffer);
+
+ if (!priv->sniffing)
return TRUE;
return read_and_sniff (G_INPUT_STREAM (sniffer), blocking,
@@ -351,7 +365,9 @@ const char *
soup_content_sniffer_stream_sniff (SoupContentSnifferStream *sniffer,
GHashTable **params)
{
+ SoupContentSnifferStreamPrivate *priv = soup_content_sniffer_stream_get_instance_private (sniffer);
+
if (params)
- *params = sniffer->priv->sniffed_params;
- return sniffer->priv->sniffed_type;
+ *params = priv->sniffed_params;
+ return priv->sniffed_type;
}
diff --git a/libsoup/content-sniffer/soup-content-sniffer-stream.h b/libsoup/content-sniffer/soup-content-sniffer-stream.h
index de3e9c96..1db3002e 100644
--- a/libsoup/content-sniffer/soup-content-sniffer-stream.h
+++ b/libsoup/content-sniffer/soup-content-sniffer-stream.h
@@ -3,38 +3,15 @@
* Copyright (C) 2010 Red Hat, Inc.
*/
-#ifndef __SOUP_CONTENT_SNIFFER_STREAM_H__
-#define __SOUP_CONTENT_SNIFFER_STREAM_H__ 1
+#pragma once
#include "soup-types.h"
#include "content-sniffer/soup-content-sniffer.h"
G_BEGIN_DECLS
-#define SOUP_TYPE_CONTENT_SNIFFER_STREAM (soup_content_sniffer_stream_get_type ())
-#define SOUP_CONTENT_SNIFFER_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SOUP_TYPE_CONTENT_SNIFFER_STREAM, SoupContentSnifferStream))
-#define SOUP_CONTENT_SNIFFER_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), SOUP_TYPE_CONTENT_SNIFFER_STREAM, SoupContentSnifferStreamClass))
-#define SOUP_IS_CONTENT_SNIFFER_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SOUP_TYPE_CONTENT_SNIFFER_STREAM))
-#define SOUP_IS_CONTENT_SNIFFER_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SOUP_TYPE_CONTENT_SNIFFER_STREAM))
-#define SOUP_CONTENT_SNIFFER_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), SOUP_TYPE_CONTENT_SNIFFER_STREAM, SoupContentSnifferStreamClass))
-
-typedef struct _SoupContentSnifferStream SoupContentSnifferStream;
-typedef struct _SoupContentSnifferStreamPrivate SoupContentSnifferStreamPrivate;
-typedef struct _SoupContentSnifferStreamClass SoupContentSnifferStreamClass;
-
-struct _SoupContentSnifferStream {
- GFilterInputStream parent_instance;
-
- /*< private >*/
- SoupContentSnifferStreamPrivate *priv;
-};
-
-struct _SoupContentSnifferStreamClass {
- GFilterInputStreamClass parent_class;
-
-};
-
-GType soup_content_sniffer_stream_get_type (void) G_GNUC_CONST;
+#define SOUP_TYPE_CONTENT_SNIFFER_STREAM (soup_content_sniffer_stream_get_type ())
+G_DECLARE_FINAL_TYPE (SoupContentSnifferStream, soup_content_sniffer_stream, SOUP, CONTENT_SNIFFER_STREAM, GFilterInputStream)
gboolean soup_content_sniffer_stream_is_ready (SoupContentSnifferStream *sniffer,
gboolean blocking,
@@ -45,5 +22,3 @@ const char *soup_content_sniffer_stream_sniff (SoupContentSnifferStream *s
G_END_DECLS
-
-#endif /* __SOUP_CONTENT_SNIFFER_STREAM_H__ */
diff --git a/libsoup/content-sniffer/soup-content-sniffer.h b/libsoup/content-sniffer/soup-content-sniffer.h
index 7c86f668..cc9aa2b9 100644
--- a/libsoup/content-sniffer/soup-content-sniffer.h
+++ b/libsoup/content-sniffer/soup-content-sniffer.h
@@ -3,30 +3,18 @@
* Copyright (C) 2009 Gustavo Noronha Silva.
*/
-#ifndef __SOUP_CONTENT_SNIFFER_H__
-#define __SOUP_CONTENT_SNIFFER_H__ 1
+#pragma once
#include "soup-types.h"
#include "soup-message-body.h"
G_BEGIN_DECLS
-#define SOUP_TYPE_CONTENT_SNIFFER (soup_content_sniffer_get_type ())
-#define SOUP_CONTENT_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_CONTENT_SNIFFER, SoupContentSniffer))
-#define SOUP_CONTENT_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_CONTENT_SNIFFER, SoupContentSnifferClass))
-#define SOUP_IS_CONTENT_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUP_TYPE_CONTENT_SNIFFER))
-#define SOUP_IS_CONTENT_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), SOUP_TYPE_CONTENT_SNIFFER))
-#define SOUP_CONTENT_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUP_TYPE_CONTENT_SNIFFER, SoupContentSnifferClass))
-
-typedef struct _SoupContentSnifferPrivate SoupContentSnifferPrivate;
-
-typedef struct {
- GObject parent;
-
- SoupContentSnifferPrivate *priv;
-} SoupContentSniffer;
+#define SOUP_TYPE_CONTENT_SNIFFER (soup_content_sniffer_get_type ())
+SOUP_AVAILABLE_IN_2_28
+G_DECLARE_DERIVABLE_TYPE (SoupContentSniffer, soup_content_sniffer, SOUP, CONTENT_SNIFFER, GObject)
-typedef struct {
+struct _SoupContentSnifferClass {
GObjectClass parent_class;
char* (*sniff) (SoupContentSniffer *sniffer,
@@ -35,16 +23,8 @@ typedef struct {
GHashTable **params);
gsize (*get_buffer_size) (SoupContentSniffer *sniffer);
- /* Padding for future expansion */
- void (*_libsoup_reserved1) (void);
- void (*_libsoup_reserved2) (void);
- void (*_libsoup_reserved3) (void);
- void (*_libsoup_reserved4) (void);
- void (*_libsoup_reserved5) (void);
-} SoupContentSnifferClass;
-
-SOUP_AVAILABLE_IN_2_28
-GType soup_content_sniffer_get_type (void);
+ gpointer padding[6];
+};
SOUP_AVAILABLE_IN_2_28
SoupContentSniffer *soup_content_sniffer_new (void);
@@ -59,4 +39,3 @@ gsize soup_content_sniffer_get_buffer_size (SoupContentSniffer *s
G_END_DECLS
-#endif /* __SOUP_CONTENT_SNIFFER_H__ */
diff --git a/libsoup/content-sniffer/soup-converter-wrapper.c b/libsoup/content-sniffer/soup-converter-wrapper.c
index 133a3ebe..72e459cc 100644
--- a/libsoup/content-sniffer/soup-converter-wrapper.c
+++ b/libsoup/content-sniffer/soup-converter-wrapper.c
@@ -34,14 +34,18 @@ enum {
PROP_MESSAGE
};
-struct _SoupConverterWrapperPrivate
-{
+struct _SoupConverterWrapper {
+ GObject parent;
+};
+
+
+typedef struct {
GConverter *base_converter;
SoupMessage *msg;
gboolean try_deflate_fallback;
gboolean started;
gboolean discarding;
-};
+} SoupConverterWrapperPrivate;
static void soup_converter_wrapper_iface_init (GConverterIface *iface);
@@ -53,13 +57,13 @@ G_DEFINE_TYPE_WITH_CODE (SoupConverterWrapper, soup_converter_wrapper, G_TYPE_OB
static void
soup_converter_wrapper_init (SoupConverterWrapper *converter)
{
- converter->priv = soup_converter_wrapper_get_instance_private (converter);
}
static void
soup_converter_wrapper_finalize (GObject *object)
{
- SoupConverterWrapperPrivate *priv = SOUP_CONVERTER_WRAPPER (object)->priv;
+ SoupConverterWrapper *converter = (SoupConverterWrapper*)object;
+ SoupConverterWrapperPrivate *priv = soup_converter_wrapper_get_instance_private (converter);
g_clear_object (&priv->base_converter);
g_clear_object (&priv->msg);
@@ -74,7 +78,8 @@ soup_converter_wrapper_set_property (GObject *object,
const GValue *value,
GParamSpec *pspec)
{
- SoupConverterWrapperPrivate *priv = SOUP_CONVERTER_WRAPPER (object)->priv;
+ SoupConverterWrapper *converter = (SoupConverterWrapper*)object;
+ SoupConverterWrapperPrivate *priv = soup_converter_wrapper_get_instance_private (converter);
switch (prop_id) {
case PROP_BASE_CONVERTER:
@@ -106,7 +111,8 @@ soup_converter_wrapper_get_property (GObject *object,
GValue *value,
GParamSpec *pspec)
{
- SoupConverterWrapperPrivate *priv = SOUP_CONVERTER_WRAPPER (object)->priv;
+ SoupConverterWrapper *converter = (SoupConverterWrapper*)object;
+ SoupConverterWrapperPrivate *priv = soup_converter_wrapper_get_instance_private (converter);
switch (prop_id) {
case PROP_BASE_CONVERTER:
@@ -165,7 +171,7 @@ soup_converter_wrapper_new (GConverter *base_converter,
static void
soup_converter_wrapper_reset (GConverter *converter)
{
- SoupConverterWrapperPrivate *priv = SOUP_CONVERTER_WRAPPER (converter)->priv;
+ SoupConverterWrapperPrivate *priv = soup_converter_wrapper_get_instance_private (SOUP_CONVERTER_WRAPPER (converter));
if (priv->base_converter)
g_converter_reset (priv->base_converter);
@@ -182,7 +188,7 @@ soup_converter_wrapper_fallback_convert (GConverter *converter,
gsize *bytes_written,
GError **error)
{
- SoupConverterWrapperPrivate *priv = SOUP_CONVERTER_WRAPPER (converter)->priv;
+ SoupConverterWrapperPrivate *priv = soup_converter_wrapper_get_instance_private (SOUP_CONVERTER_WRAPPER (converter));
if (outbuf_size == 0) {
g_set_error (error, G_IO_ERROR, G_IO_ERROR_NO_SPACE,
@@ -232,7 +238,7 @@ soup_converter_wrapper_real_convert (GConverter *converter,
gsize *bytes_written,
GError **error)
{
- SoupConverterWrapperPrivate *priv = SOUP_CONVERTER_WRAPPER (converter)->priv;
+ SoupConverterWrapperPrivate *priv = soup_converter_wrapper_get_instance_private (SOUP_CONVERTER_WRAPPER (converter));
GConverterResult result;
GError *my_error = NULL;
@@ -320,7 +326,7 @@ soup_converter_wrapper_convert (GConverter *converter,
gsize *bytes_written,
GError **error)
{
- SoupConverterWrapperPrivate *priv = SOUP_CONVERTER_WRAPPER (converter)->priv;
+ SoupConverterWrapperPrivate *priv = soup_converter_wrapper_get_instance_private (SOUP_CONVERTER_WRAPPER (converter));
if (priv->base_converter) {
return soup_converter_wrapper_real_convert (converter,
diff --git a/libsoup/content-sniffer/soup-converter-wrapper.h b/libsoup/content-sniffer/soup-converter-wrapper.h
index 9104c5ef..c1b6f627 100644
--- a/libsoup/content-sniffer/soup-converter-wrapper.h
+++ b/libsoup/content-sniffer/soup-converter-wrapper.h
@@ -3,43 +3,16 @@
* Copyright 2011 Red Hat, Inc.
*/
-#ifndef __SOUP_CONVERTER_WRAPPER_H__
-#define __SOUP_CONVERTER_WRAPPER_H__ 1
+#pragma once
#include "soup-types.h"
G_BEGIN_DECLS
-#define SOUP_TYPE_CONVERTER_WRAPPER (soup_converter_wrapper_get_type ())
-#define SOUP_CONVERTER_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_CONVERTER_WRAPPER, SoupConverterWrapper))
-#define SOUP_CONVERTER_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_CONVERTER_WRAPPER, SoupConverterWrapperClass))
-#define SOUP_IS_CONVERTER_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUP_TYPE_CONVERTER_WRAPPER))
-#define SOUP_IS_CONVERTER_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), SOUP_TYPE_CONVERTER_WRAPPER))
-#define SOUP_CONVERTER_WRAPPER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUP_TYPE_CONVERTER_WRAPPER, SoupConverterWrapperClass))
-
-typedef struct _SoupConverterWrapperPrivate SoupConverterWrapperPrivate;
-
-typedef struct {
- GObject parent;
-
- SoupConverterWrapperPrivate *priv;
-} SoupConverterWrapper;
-
-typedef struct {
- GObjectClass parent_class;
-
- /* Padding for future expansion */
- void (*_libsoup_reserved1) (void);
- void (*_libsoup_reserved2) (void);
- void (*_libsoup_reserved3) (void);
- void (*_libsoup_reserved4) (void);
-} SoupConverterWrapperClass;
-
-GType soup_converter_wrapper_get_type (void);
+#define SOUP_TYPE_CONVERTER_WRAPPER (soup_converter_wrapper_get_type ())
+G_DECLARE_FINAL_TYPE (SoupConverterWrapper, soup_converter_wrapper, SOUP, CONVERTER_WRAPPER, GObject)
GConverter *soup_converter_wrapper_new (GConverter *base_converter,
SoupMessage *msg);
G_END_DECLS
-
-#endif /* __SOUP_CONVERTER_WRAPPER_H__ */