[libsoup] Port more classes to the new private api



commit cb2f7854ccb4069197898b693ff82c29cc69a5ef
Author: Ignacio Casal Quinteiro <icq gnome org>
Date:   Thu Dec 1 08:43:32 2016 +0100

    Port more classes to the new private api
    
    Now only SoupMessage is missing since the private from this class
    is accessed from other classes.

 libsoup/soup-multipart-input-stream.c |   19 ++---
 libsoup/soup-proxy-resolver-default.c |   31 +++++----
 libsoup/soup-request-data.c           |    7 +-
 libsoup/soup-request-file.c           |    8 +--
 libsoup/soup-request-http.c           |    8 +--
 libsoup/soup-request.c                |   17 ++---
 libsoup/soup-requester.c              |    6 +-
 libsoup/soup-server.c                 |   74 ++++++++++-----------
 libsoup/soup-session.c                |   96 +++++++++++++--------------
 libsoup/soup-socket.c                 |  117 +++++++++++++++++++--------------
 libsoup/soup-websocket-connection.c   |    7 +--
 11 files changed, 196 insertions(+), 194 deletions(-)
---
diff --git a/libsoup/soup-multipart-input-stream.c b/libsoup/soup-multipart-input-stream.c
index a1a6683..d44991c 100644
--- a/libsoup/soup-multipart-input-stream.c
+++ b/libsoup/soup-multipart-input-stream.c
@@ -37,12 +37,6 @@
  * Since: 2.40
  **/
 
-static void soup_multipart_input_stream_pollable_init (GPollableInputStreamInterface *pollable_interface, 
gpointer interface_data);
-
-G_DEFINE_TYPE_WITH_CODE (SoupMultipartInputStream, soup_multipart_input_stream, G_TYPE_FILTER_INPUT_STREAM,
-                        G_IMPLEMENT_INTERFACE (G_TYPE_POLLABLE_INPUT_STREAM,
-                                               soup_multipart_input_stream_pollable_init))
-
 enum {
        PROP_0,
 
@@ -65,6 +59,13 @@ struct _SoupMultipartInputStreamPrivate {
        goffset                 remaining_bytes;
 };
 
+static void soup_multipart_input_stream_pollable_init (GPollableInputStreamInterface *pollable_interface, 
gpointer interface_data);
+
+G_DEFINE_TYPE_WITH_CODE (SoupMultipartInputStream, soup_multipart_input_stream, G_TYPE_FILTER_INPUT_STREAM,
+                         G_ADD_PRIVATE (SoupMultipartInputStream)
+                        G_IMPLEMENT_INTERFACE (G_TYPE_POLLABLE_INPUT_STREAM,
+                                               soup_multipart_input_stream_pollable_init))
+
 static void
 soup_multipart_input_stream_dispose (GObject *object)
 {
@@ -201,9 +202,7 @@ static void
 soup_multipart_input_stream_init (SoupMultipartInputStream *multipart)
 {
        SoupMultipartInputStreamPrivate *priv;
-       priv = multipart->priv = G_TYPE_INSTANCE_GET_PRIVATE (multipart,
-                                                             SOUP_TYPE_MULTIPART_INPUT_STREAM,
-                                                             SoupMultipartInputStreamPrivate);
+       priv = multipart->priv = soup_multipart_input_stream_get_instance_private (multipart);
 
        priv->meta_buf = g_byte_array_sized_new (RESPONSE_BLOCK_SIZE);
        priv->done_with_part = FALSE;
@@ -290,8 +289,6 @@ soup_multipart_input_stream_class_init (SoupMultipartInputStreamClass *multipart
        GInputStreamClass *input_stream_class =
                G_INPUT_STREAM_CLASS (multipart_class);
 
-       g_type_class_add_private (multipart_class, sizeof (SoupMultipartInputStreamPrivate));
-
        object_class->dispose = soup_multipart_input_stream_dispose;
        object_class->finalize = soup_multipart_input_stream_finalize;
        object_class->constructed = soup_multipart_input_stream_constructed;
diff --git a/libsoup/soup-proxy-resolver-default.c b/libsoup/soup-proxy-resolver-default.c
index 7fd0934..adfc54d 100644
--- a/libsoup/soup-proxy-resolver-default.c
+++ b/libsoup/soup-proxy-resolver-default.c
@@ -34,12 +34,6 @@
  * Deprecated: Use #SoupSession:proxy-resolver
  */
 
-static void soup_proxy_resolver_default_interface_init (SoupProxyURIResolverInterface 
*proxy_resolver_interface);
-
-G_DEFINE_TYPE_EXTENDED (SoupProxyResolverDefault, soup_proxy_resolver_default, G_TYPE_OBJECT, 0,
-                       G_IMPLEMENT_INTERFACE (SOUP_TYPE_SESSION_FEATURE, NULL)
-                       G_IMPLEMENT_INTERFACE (SOUP_TYPE_PROXY_URI_RESOLVER, 
soup_proxy_resolver_default_interface_init))
-
 enum {
        PROP_0,
        PROP_GPROXY_RESOLVER
@@ -48,7 +42,13 @@ enum {
 typedef struct {
        GProxyResolver *gproxy_resolver;
 } SoupProxyResolverDefaultPrivate;
-#define SOUP_PROXY_RESOLVER_DEFAULT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
SOUP_TYPE_PROXY_RESOLVER_DEFAULT, SoupProxyResolverDefaultPrivate))
+
+static void soup_proxy_resolver_default_interface_init (SoupProxyURIResolverInterface 
*proxy_resolver_interface);
+
+G_DEFINE_TYPE_EXTENDED (SoupProxyResolverDefault, soup_proxy_resolver_default, G_TYPE_OBJECT, 0,
+                        G_ADD_PRIVATE (SoupProxyResolverDefault)
+                       G_IMPLEMENT_INTERFACE (SOUP_TYPE_SESSION_FEATURE, NULL)
+                       G_IMPLEMENT_INTERFACE (SOUP_TYPE_PROXY_URI_RESOLVER, 
soup_proxy_resolver_default_interface_init))
 
 static void
 soup_proxy_resolver_default_init (SoupProxyResolverDefault *resolver)
@@ -59,7 +59,8 @@ static void
 soup_proxy_resolver_default_set_property (GObject *object, guint prop_id,
                                          const GValue *value, GParamSpec *pspec)
 {
-       SoupProxyResolverDefaultPrivate *priv = SOUP_PROXY_RESOLVER_DEFAULT_GET_PRIVATE (object);
+       SoupProxyResolverDefault *resolver = SOUP_PROXY_RESOLVER_DEFAULT (object);
+       SoupProxyResolverDefaultPrivate *priv = soup_proxy_resolver_default_get_instance_private (resolver);
 
        switch (prop_id) {
        case PROP_GPROXY_RESOLVER:
@@ -76,7 +77,8 @@ soup_proxy_resolver_default_set_property (GObject *object, guint prop_id,
 static void
 soup_proxy_resolver_default_constructed (GObject *object)
 {
-       SoupProxyResolverDefaultPrivate *priv = SOUP_PROXY_RESOLVER_DEFAULT_GET_PRIVATE (object);
+       SoupProxyResolverDefault *resolver = SOUP_PROXY_RESOLVER_DEFAULT (object);
+       SoupProxyResolverDefaultPrivate *priv = soup_proxy_resolver_default_get_instance_private (resolver);
 
        if (!priv->gproxy_resolver) {
                priv->gproxy_resolver = g_proxy_resolver_get_default ();
@@ -89,7 +91,8 @@ soup_proxy_resolver_default_constructed (GObject *object)
 static void
 soup_proxy_resolver_default_finalize (GObject *object)
 {
-       SoupProxyResolverDefaultPrivate *priv = SOUP_PROXY_RESOLVER_DEFAULT_GET_PRIVATE (object);
+       SoupProxyResolverDefault *resolver = SOUP_PROXY_RESOLVER_DEFAULT (object);
+       SoupProxyResolverDefaultPrivate *priv = soup_proxy_resolver_default_get_instance_private (resolver);
 
        g_clear_object (&priv->gproxy_resolver);
 
@@ -101,8 +104,6 @@ soup_proxy_resolver_default_class_init (SoupProxyResolverDefaultClass *klass)
 {
        GObjectClass *object_class = G_OBJECT_CLASS (klass);
 
-       g_type_class_add_private (klass, sizeof (SoupProxyResolverDefaultPrivate));
-
        object_class->set_property = soup_proxy_resolver_default_set_property;
        object_class->constructed = soup_proxy_resolver_default_constructed;
        object_class->finalize = soup_proxy_resolver_default_finalize;
@@ -178,7 +179,8 @@ get_proxy_uri_async (SoupProxyURIResolver  *resolver,
                     SoupProxyURIResolverCallback callback,
                     gpointer               user_data)
 {
-       SoupProxyResolverDefaultPrivate *priv = SOUP_PROXY_RESOLVER_DEFAULT_GET_PRIVATE (resolver);
+       SoupProxyResolverDefault *resolver_default = SOUP_PROXY_RESOLVER_DEFAULT (resolver);
+       SoupProxyResolverDefaultPrivate *priv = soup_proxy_resolver_default_get_instance_private 
(resolver_default);
        SoupAsyncData *async_data;
        char *uri_string;
 
@@ -211,7 +213,8 @@ get_proxy_uri_sync (SoupProxyURIResolver  *resolver,
                    GCancellable          *cancellable,
                    SoupURI              **proxy_uri)
 {
-       SoupProxyResolverDefaultPrivate *priv = SOUP_PROXY_RESOLVER_DEFAULT_GET_PRIVATE (resolver);
+       SoupProxyResolverDefault *resolver_default = SOUP_PROXY_RESOLVER_DEFAULT (resolver);
+       SoupProxyResolverDefaultPrivate *priv = soup_proxy_resolver_default_get_instance_private 
(resolver_default);
        GError *error = NULL;
        char** proxy_uris = NULL;
        char *uri_string;
diff --git a/libsoup/soup-request-data.c b/libsoup/soup-request-data.c
index 1b44131..3e07507 100644
--- a/libsoup/soup-request-data.c
+++ b/libsoup/soup-request-data.c
@@ -38,17 +38,18 @@
  * #SoupRequestData implements #SoupRequest for "data" URIs.
  */
 
-G_DEFINE_TYPE (SoupRequestData, soup_request_data, SOUP_TYPE_REQUEST)
 
 struct _SoupRequestDataPrivate {
        gsize content_length;
        char *content_type;
 };
 
+G_DEFINE_TYPE_WITH_PRIVATE (SoupRequestData, soup_request_data, SOUP_TYPE_REQUEST)
+
 static void
 soup_request_data_init (SoupRequestData *data)
 {
-       data->priv = G_TYPE_INSTANCE_GET_PRIVATE (data, SOUP_TYPE_REQUEST_DATA, SoupRequestDataPrivate);
+       data->priv = soup_request_data_get_instance_private (data);
 }
 
 static void
@@ -151,8 +152,6 @@ soup_request_data_class_init (SoupRequestDataClass *request_data_class)
        SoupRequestClass *request_class =
                SOUP_REQUEST_CLASS (request_data_class);
 
-       g_type_class_add_private (request_data_class, sizeof (SoupRequestDataPrivate));
-
        request_class->schemes = data_schemes;
 
        object_class->finalize = soup_request_data_finalize;
diff --git a/libsoup/soup-request-file.c b/libsoup/soup-request-file.c
index 5a56b28..61fc712 100644
--- a/libsoup/soup-request-file.c
+++ b/libsoup/soup-request-file.c
@@ -40,8 +40,6 @@
  * URIs.
  */
 
-G_DEFINE_TYPE (SoupRequestFile, soup_request_file, SOUP_TYPE_REQUEST)
-
 struct _SoupRequestFilePrivate {
        GFile *gfile;
 
@@ -49,10 +47,12 @@ struct _SoupRequestFilePrivate {
        goffset size;
 };
 
+G_DEFINE_TYPE_WITH_PRIVATE (SoupRequestFile, soup_request_file, SOUP_TYPE_REQUEST)
+
 static void
 soup_request_file_init (SoupRequestFile *file)
 {
-       file->priv = G_TYPE_INSTANCE_GET_PRIVATE (file, SOUP_TYPE_REQUEST_FILE, SoupRequestFilePrivate);
+       file->priv = soup_request_file_get_instance_private (file);
 
        file->priv->size = -1;
 }
@@ -265,8 +265,6 @@ soup_request_file_class_init (SoupRequestFileClass *request_file_class)
        SoupRequestClass *request_class =
                SOUP_REQUEST_CLASS (request_file_class);
 
-       g_type_class_add_private (request_file_class, sizeof (SoupRequestFilePrivate));
-
        request_class->schemes = file_schemes;
 
        object_class->finalize = soup_request_file_finalize;
diff --git a/libsoup/soup-request-http.c b/libsoup/soup-request-http.c
index 9ae2c2a..285f59d 100644
--- a/libsoup/soup-request-http.c
+++ b/libsoup/soup-request-http.c
@@ -44,13 +44,13 @@
  * #SoupMessage.
  */
 
-G_DEFINE_TYPE (SoupRequestHTTP, soup_request_http, SOUP_TYPE_REQUEST)
-
 struct _SoupRequestHTTPPrivate {
        SoupMessage *msg;
        char *content_type;
 };
 
+G_DEFINE_TYPE_WITH_PRIVATE (SoupRequestHTTP, soup_request_http, SOUP_TYPE_REQUEST)
+
 static void content_sniffed (SoupMessage *msg,
                             const char  *content_type,
                             GHashTable  *params,
@@ -59,7 +59,7 @@ static void content_sniffed (SoupMessage *msg,
 static void
 soup_request_http_init (SoupRequestHTTP *http)
 {
-       http->priv = G_TYPE_INSTANCE_GET_PRIVATE (http, SOUP_TYPE_REQUEST_HTTP, SoupRequestHTTPPrivate);
+       http->priv = soup_request_http_get_instance_private (http);
 }
 
 static gboolean
@@ -203,8 +203,6 @@ soup_request_http_class_init (SoupRequestHTTPClass *request_http_class)
        SoupRequestClass *request_class =
                SOUP_REQUEST_CLASS (request_http_class);
 
-       g_type_class_add_private (request_http_class, sizeof (SoupRequestHTTPPrivate));
-
        request_class->schemes = http_schemes;
 
        object_class->finalize = soup_request_http_finalize;
diff --git a/libsoup/soup-request.c b/libsoup/soup-request.c
index e65f507..72fc844 100644
--- a/libsoup/soup-request.c
+++ b/libsoup/soup-request.c
@@ -47,12 +47,6 @@
  * Since: 2.42
  */
 
-static void soup_request_initable_interface_init (GInitableIface *initable_interface);
-
-G_DEFINE_TYPE_WITH_CODE (SoupRequest, soup_request, G_TYPE_OBJECT,
-                        G_IMPLEMENT_INTERFACE (G_TYPE_INITABLE,
-                                               soup_request_initable_interface_init))
-
 enum {
        PROP_0,
        PROP_URI,
@@ -64,10 +58,17 @@ struct _SoupRequestPrivate {
        SoupSession *session;
 };
 
+static void soup_request_initable_interface_init (GInitableIface *initable_interface);
+
+G_DEFINE_TYPE_WITH_CODE (SoupRequest, soup_request, G_TYPE_OBJECT,
+                         G_ADD_PRIVATE (SoupRequest)
+                        G_IMPLEMENT_INTERFACE (G_TYPE_INITABLE,
+                                               soup_request_initable_interface_init))
+
 static void
 soup_request_init (SoupRequest *request)
 {
-       request->priv = G_TYPE_INSTANCE_GET_PRIVATE (request, SOUP_TYPE_REQUEST, SoupRequestPrivate);
+       request->priv = soup_request_get_instance_private (request);
 }
 
 static void
@@ -271,8 +272,6 @@ soup_request_class_init (SoupRequestClass *request_class)
 {
        GObjectClass *object_class = G_OBJECT_CLASS (request_class);
 
-       g_type_class_add_private (request_class, sizeof (SoupRequestPrivate));
-
        request_class->check_uri = soup_request_default_check_uri;
        request_class->send_async = soup_request_default_send_async;
        request_class->send_finish = soup_request_default_send_finish;
diff --git a/libsoup/soup-requester.c b/libsoup/soup-requester.c
index c67bfe3..61f6678 100644
--- a/libsoup/soup-requester.c
+++ b/libsoup/soup-requester.c
@@ -37,21 +37,19 @@ struct _SoupRequesterPrivate {
 };
 
 G_DEFINE_TYPE_WITH_CODE (SoupRequester, soup_requester, G_TYPE_OBJECT,
+                         G_ADD_PRIVATE (SoupRequester)
                         G_IMPLEMENT_INTERFACE (SOUP_TYPE_SESSION_FEATURE,
                                                soup_requester_session_feature_init))
 
 static void
 soup_requester_init (SoupRequester *requester)
 {
-       requester->priv = G_TYPE_INSTANCE_GET_PRIVATE (requester,
-                                                      SOUP_TYPE_REQUESTER,
-                                                      SoupRequesterPrivate);
+       requester->priv = soup_requester_get_instance_private (requester);
 }
 
 static void
 soup_requester_class_init (SoupRequesterClass *requester_class)
 {
-       g_type_class_add_private (requester_class, sizeof (SoupRequesterPrivate));
 }
 
 static void
diff --git a/libsoup/soup-server.c b/libsoup/soup-server.c
index 15026cd..47ebac3 100644
--- a/libsoup/soup-server.c
+++ b/libsoup/soup-server.c
@@ -118,8 +118,6 @@
  * #GMainContext.
  */
 
-G_DEFINE_TYPE (SoupServer, soup_server, G_TYPE_OBJECT)
-
 enum {
        REQUEST_STARTED,
        REQUEST_READ,
@@ -188,7 +186,6 @@ typedef struct {
        gboolean           disposed;
 
 } SoupServerPrivate;
-#define SOUP_SERVER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SOUP_TYPE_SERVER, SoupServerPrivate))
 
 #define SOUP_SERVER_SERVER_HEADER_BASE "libsoup/" PACKAGE_VERSION
 
@@ -211,6 +208,8 @@ enum {
        LAST_PROP
 };
 
+G_DEFINE_TYPE_WITH_PRIVATE (SoupServer, soup_server, G_TYPE_OBJECT)
+
 static SoupClientContext *soup_client_context_ref (SoupClientContext *client);
 static void soup_client_context_unref (SoupClientContext *client);
 
@@ -232,7 +231,7 @@ free_handler (SoupServerHandler *handler)
 static void
 soup_server_init (SoupServer *server)
 {
-       SoupServerPrivate *priv = SOUP_SERVER_GET_PRIVATE (server);
+       SoupServerPrivate *priv = soup_server_get_instance_private (server);
 
        priv->handlers = soup_path_map_new ((GDestroyNotify)free_handler);
 
@@ -247,7 +246,7 @@ static void
 soup_server_dispose (GObject *object)
 {
        SoupServer *server = SOUP_SERVER (object);
-       SoupServerPrivate *priv = SOUP_SERVER_GET_PRIVATE (server);
+       SoupServerPrivate *priv = soup_server_get_instance_private (server);
 
        priv->disposed = TRUE;
        soup_server_disconnect (server);
@@ -259,7 +258,7 @@ static void
 soup_server_finalize (GObject *object)
 {
        SoupServer *server = SOUP_SERVER (object);
-       SoupServerPrivate *priv = SOUP_SERVER_GET_PRIVATE (server);
+       SoupServerPrivate *priv = soup_server_get_instance_private (server);
 
        g_clear_object (&priv->legacy_iface);
 
@@ -285,7 +284,7 @@ soup_server_finalize (GObject *object)
 static gboolean
 soup_server_ensure_listening (SoupServer *server)
 {
-       SoupServerPrivate *priv = SOUP_SERVER_GET_PRIVATE (server);
+       SoupServerPrivate *priv = soup_server_get_instance_private (server);
        SoupSocket *listener;
 
        if (priv->listeners)
@@ -329,7 +328,7 @@ soup_server_constructor (GType                  type,
 
        server = G_OBJECT_CLASS (soup_server_parent_class)->
                constructor (type, n_construct_properties, construct_properties);
-       priv = SOUP_SERVER_GET_PRIVATE (server);
+       priv = soup_server_get_instance_private (SOUP_SERVER (server));
 
        /* For backward compatibility, we have to process the
         * :ssl-cert-file, :ssl-key-file, :interface, and :port
@@ -409,7 +408,8 @@ static void
 soup_server_set_property (GObject *object, guint prop_id,
                          const GValue *value, GParamSpec *pspec)
 {
-       SoupServerPrivate *priv = SOUP_SERVER_GET_PRIVATE (object);
+       SoupServer *server = SOUP_SERVER (object);
+       SoupServerPrivate *priv = soup_server_get_instance_private (server);
        const char *header;
 
        switch (prop_id) {
@@ -477,7 +477,7 @@ soup_server_get_property (GObject *object, guint prop_id,
                          GValue *value, GParamSpec *pspec)
 {
        SoupServer *server = SOUP_SERVER (object);
-       SoupServerPrivate *priv = SOUP_SERVER_GET_PRIVATE (server);
+       SoupServerPrivate *priv = soup_server_get_instance_private (server);
 
        switch (prop_id) {
        case PROP_PORT:
@@ -523,8 +523,6 @@ soup_server_class_init (SoupServerClass *server_class)
 {
        GObjectClass *object_class = G_OBJECT_CLASS (server_class);
 
-       g_type_class_add_private (server_class, sizeof (SoupServerPrivate));
-
        /* virtual method override */
        object_class->constructor = soup_server_constructor;
        object_class->dispose = soup_server_dispose;
@@ -975,7 +973,7 @@ soup_server_get_port (SoupServer *server)
        SoupServerPrivate *priv;
 
        g_return_val_if_fail (SOUP_IS_SERVER (server), 0);
-       priv = SOUP_SERVER_GET_PRIVATE (server);
+       priv = soup_server_get_instance_private (server);
 
        soup_server_ensure_listening (server);
        g_return_val_if_fail (priv->legacy_iface != NULL, 0);
@@ -1011,7 +1009,7 @@ soup_server_set_ssl_cert_file  (SoupServer  *server,
        SoupServerPrivate *priv;
 
        g_return_val_if_fail (SOUP_IS_SERVER (server), FALSE);
-       priv = SOUP_SERVER_GET_PRIVATE (server);
+       priv = soup_server_get_instance_private (server);
 
        if (priv->tls_cert)
                g_object_unref (priv->tls_cert);
@@ -1055,7 +1053,7 @@ soup_server_is_https (SoupServer *server)
        SoupServerPrivate *priv;
 
        g_return_val_if_fail (SOUP_IS_SERVER (server), 0);
-       priv = SOUP_SERVER_GET_PRIVATE (server);
+       priv = soup_server_get_instance_private (server);
 
        return priv->tls_cert != NULL;
 }
@@ -1081,7 +1079,7 @@ soup_server_get_listener (SoupServer *server)
        SoupServerPrivate *priv;
 
        g_return_val_if_fail (SOUP_IS_SERVER (server), NULL);
-       priv = SOUP_SERVER_GET_PRIVATE (server);
+       priv = soup_server_get_instance_private (server);
 
        soup_server_ensure_listening (server);
        g_return_val_if_fail (priv->legacy_iface != NULL, NULL);
@@ -1111,7 +1109,7 @@ soup_server_get_listeners (SoupServer *server)
        GSList *listeners, *iter;
 
        g_return_val_if_fail (SOUP_IS_SERVER (server), NULL);
-       priv = SOUP_SERVER_GET_PRIVATE (server);
+       priv = soup_server_get_instance_private (server);
 
        listeners = NULL;
        for (iter = priv->listeners; iter; iter = iter->next)
@@ -1182,7 +1180,7 @@ request_finished (SoupMessage *msg, SoupMessageIOCompletion completion, gpointer
 {
        SoupClientContext *client = user_data;
        SoupServer *server = client->server;
-       SoupServerPrivate *priv = SOUP_SERVER_GET_PRIVATE (server);
+       SoupServerPrivate *priv = soup_server_get_instance_private (server);
        SoupSocket *sock = client->sock;
        gboolean failed;
 
@@ -1224,7 +1222,7 @@ request_finished (SoupMessage *msg, SoupMessageIOCompletion completion, gpointer
 static SoupServerHandler *
 get_handler (SoupServer *server, SoupMessage *msg)
 {
-       SoupServerPrivate *priv = SOUP_SERVER_GET_PRIVATE (server);
+       SoupServerPrivate *priv = soup_server_get_instance_private (server);
        SoupURI *uri;
 
        uri = soup_message_get_uri (msg);
@@ -1271,7 +1269,7 @@ static void
 got_headers (SoupMessage *msg, SoupClientContext *client)
 {
        SoupServer *server = client->server;
-       SoupServerPrivate *priv = SOUP_SERVER_GET_PRIVATE (server);
+       SoupServerPrivate *priv = soup_server_get_instance_private (server);
        SoupServerHandler *handler;
        SoupURI *uri;
        SoupDate *date;
@@ -1417,7 +1415,7 @@ got_body (SoupMessage *msg, SoupClientContext *client)
 static void
 start_request (SoupServer *server, SoupClientContext *client)
 {
-       SoupServerPrivate *priv = SOUP_SERVER_GET_PRIVATE (server);
+       SoupServerPrivate *priv = soup_server_get_instance_private (server);
        SoupMessage *msg;
 
        soup_client_context_cleanup (client);
@@ -1447,7 +1445,7 @@ start_request (SoupServer *server, SoupClientContext *client)
 static void
 socket_disconnected (SoupSocket *sock, SoupClientContext *client)
 {
-       SoupServerPrivate *priv = SOUP_SERVER_GET_PRIVATE (client->server);
+       SoupServerPrivate *priv = soup_server_get_instance_private (client->server);
 
        priv->clients = g_slist_remove (priv->clients, client);
 
@@ -1461,7 +1459,7 @@ static void
 soup_server_accept_socket (SoupServer *server,
                           SoupSocket *sock)
 {
-       SoupServerPrivate *priv = SOUP_SERVER_GET_PRIVATE (server);
+       SoupServerPrivate *priv = soup_server_get_instance_private (server);
        SoupClientContext *client;
 
        client = soup_client_context_new (server, sock);
@@ -1550,7 +1548,7 @@ soup_server_run_async (SoupServer *server)
        SoupSocket *listener;
 
        g_return_if_fail (SOUP_IS_SERVER (server));
-       priv = SOUP_SERVER_GET_PRIVATE (server);
+       priv = soup_server_get_instance_private (server);
 
        soup_server_ensure_listening (server);
 
@@ -1591,7 +1589,7 @@ soup_server_run (SoupServer *server)
        SoupServerPrivate *priv;
 
        g_return_if_fail (SOUP_IS_SERVER (server));
-       priv = SOUP_SERVER_GET_PRIVATE (server);
+       priv = soup_server_get_instance_private (server);
 
        if (!priv->loop) {
                priv->loop = g_main_loop_new (priv->async_context, TRUE);
@@ -1630,7 +1628,7 @@ soup_server_quit (SoupServer *server)
        SoupSocket *listener;
 
        g_return_if_fail (SOUP_IS_SERVER (server));
-       priv = SOUP_SERVER_GET_PRIVATE (server);
+       priv = soup_server_get_instance_private (server);
        g_return_if_fail (priv->legacy_iface != NULL);
        g_return_if_fail (priv->listeners != NULL);
 
@@ -1666,7 +1664,7 @@ soup_server_disconnect (SoupServer *server)
        SoupClientContext *client;
 
        g_return_if_fail (SOUP_IS_SERVER (server));
-       priv = SOUP_SERVER_GET_PRIVATE (server);
+       priv = soup_server_get_instance_private (server);
 
        if (priv->legacy_iface) {
                G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
@@ -1716,7 +1714,7 @@ soup_server_listen_internal (SoupServer *server, SoupSocket *listener,
                             SoupServerListenOptions options,
                             GError **error)
 {
-       SoupServerPrivate *priv = SOUP_SERVER_GET_PRIVATE (server);
+       SoupServerPrivate *priv = soup_server_get_instance_private (server);
        gboolean is_listening;
 
        if (options & SOUP_SERVER_LISTEN_HTTPS) {
@@ -1804,7 +1802,7 @@ soup_server_listen (SoupServer *server, GSocketAddress *address,
        g_return_val_if_fail (!(options & SOUP_SERVER_LISTEN_IPV4_ONLY) &&
                              !(options & SOUP_SERVER_LISTEN_IPV6_ONLY), FALSE);
 
-       priv = SOUP_SERVER_GET_PRIVATE (server);
+       priv = soup_server_get_instance_private (server);
        g_return_val_if_fail (priv->disposed == FALSE, FALSE);
 
        saddr = soup_address_new_from_gsockaddr (address);
@@ -1828,7 +1826,7 @@ soup_server_listen_ipv4_ipv6 (SoupServer *server,
                              SoupServerListenOptions options,
                              GError **error)
 {
-       SoupServerPrivate *priv = SOUP_SERVER_GET_PRIVATE (server);
+       SoupServerPrivate *priv = soup_server_get_instance_private (server);
        GSocketAddress *addr4, *addr6;
        GError *my_error = NULL;
        SoupSocket *v4sock;
@@ -2033,7 +2031,7 @@ soup_server_listen_socket (SoupServer *server, GSocket *socket,
        g_return_val_if_fail (!(options & SOUP_SERVER_LISTEN_IPV4_ONLY) &&
                              !(options & SOUP_SERVER_LISTEN_IPV6_ONLY), FALSE);
 
-       priv = SOUP_SERVER_GET_PRIVATE (server);
+       priv = soup_server_get_instance_private (server);
        g_return_val_if_fail (priv->disposed == FALSE, FALSE);
 
        listener = g_initable_new (SOUP_TYPE_SOCKET, NULL, error,
@@ -2083,7 +2081,7 @@ soup_server_listen_fd (SoupServer *server, int fd,
        g_return_val_if_fail (!(options & SOUP_SERVER_LISTEN_IPV4_ONLY) &&
                              !(options & SOUP_SERVER_LISTEN_IPV6_ONLY), FALSE);
 
-       priv = SOUP_SERVER_GET_PRIVATE (server);
+       priv = soup_server_get_instance_private (server);
        g_return_val_if_fail (priv->disposed == FALSE, FALSE);
 
        listener = g_initable_new (SOUP_TYPE_SOCKET, NULL, error,
@@ -2129,7 +2127,7 @@ soup_server_get_uris (SoupServer *server)
        gpointer creds;
 
        g_return_val_if_fail (SOUP_IS_SERVER (server), NULL);
-       priv = SOUP_SERVER_GET_PRIVATE (server);
+       priv = soup_server_get_instance_private (server);
 
        for (l = priv->listeners, uris = NULL; l; l = l->next) {
                listener = l->data;
@@ -2172,7 +2170,7 @@ soup_server_get_async_context (SoupServer *server)
        SoupServerPrivate *priv;
 
        g_return_val_if_fail (SOUP_IS_SERVER (server), NULL);
-       priv = SOUP_SERVER_GET_PRIVATE (server);
+       priv = soup_server_get_instance_private (server);
 
        return priv->async_context;
 }
@@ -2488,7 +2486,7 @@ soup_client_context_steal_connection (SoupClientContext *client)
 static SoupServerHandler *
 get_or_create_handler (SoupServer *server, const char *exact_path)
 {
-       SoupServerPrivate *priv = SOUP_SERVER_GET_PRIVATE (server);
+       SoupServerPrivate *priv = soup_server_get_instance_private (server);
        SoupServerHandler *handler;
 
        exact_path = NORMALIZED_PATH (exact_path);
@@ -2719,7 +2717,7 @@ soup_server_remove_handler (SoupServer *server, const char *path)
        SoupServerPrivate *priv;
 
        g_return_if_fail (SOUP_IS_SERVER (server));
-       priv = SOUP_SERVER_GET_PRIVATE (server);
+       priv = soup_server_get_instance_private (server);
 
        soup_path_map_remove (priv->handlers, NORMALIZED_PATH (path));
 }
@@ -2747,7 +2745,7 @@ soup_server_add_auth_domain (SoupServer *server, SoupAuthDomain *auth_domain)
        SoupServerPrivate *priv;
 
        g_return_if_fail (SOUP_IS_SERVER (server));
-       priv = SOUP_SERVER_GET_PRIVATE (server);
+       priv = soup_server_get_instance_private (server);
 
        priv->auth_domains = g_slist_append (priv->auth_domains, auth_domain);
        g_object_ref (auth_domain);
@@ -2766,7 +2764,7 @@ soup_server_remove_auth_domain (SoupServer *server, SoupAuthDomain *auth_domain)
        SoupServerPrivate *priv;
 
        g_return_if_fail (SOUP_IS_SERVER (server));
-       priv = SOUP_SERVER_GET_PRIVATE (server);
+       priv = soup_server_get_instance_private (server);
 
        priv->auth_domains = g_slist_remove (priv->auth_domains, auth_domain);
        g_object_unref (auth_domain);
diff --git a/libsoup/soup-session.c b/libsoup/soup-session.c
index 942d891..f7aef68 100644
--- a/libsoup/soup-session.c
+++ b/libsoup/soup-session.c
@@ -142,7 +142,6 @@ typedef struct {
 
        GHashTable *request_types;
 } SoupSessionPrivate;
-#define SOUP_SESSION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SOUP_TYPE_SESSION, 
SoupSessionPrivate))
 
 #define SOUP_IS_PLAIN_SESSION(o) (G_TYPE_FROM_INSTANCE (o) == SOUP_TYPE_SESSION)
 
@@ -168,7 +167,7 @@ static void async_send_request_running (SoupSession *session, SoupMessageQueueIt
 
 #define SOUP_SESSION_USER_AGENT_BASE "libsoup/" PACKAGE_VERSION
 
-G_DEFINE_TYPE (SoupSession, soup_session, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (SoupSession, soup_session, G_TYPE_OBJECT)
 
 enum {
        REQUEST_QUEUED,
@@ -215,7 +214,7 @@ enum {
 static void
 soup_session_init (SoupSession *session)
 {
-       SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+       SoupSessionPrivate *priv = soup_session_get_instance_private (session);
        SoupAuthManager *auth_manager;
 
        priv->queue = soup_message_queue_new (session);
@@ -277,7 +276,7 @@ soup_session_constructor (GType                  type,
         */
        if (type == SOUP_TYPE_SESSION) {
                SoupSession *session = SOUP_SESSION (object);
-               SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+               SoupSessionPrivate *priv = soup_session_get_instance_private (session);
 
                g_clear_pointer (&priv->async_context, g_main_context_unref);
                priv->async_context = g_main_context_ref_thread_default ();
@@ -304,7 +303,7 @@ static void
 soup_session_dispose (GObject *object)
 {
        SoupSession *session = SOUP_SESSION (object);
-       SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+       SoupSessionPrivate *priv = soup_session_get_instance_private (session);
 
        priv->disposed = TRUE;
        soup_session_abort (session);
@@ -320,7 +319,7 @@ static void
 soup_session_finalize (GObject *object)
 {
        SoupSession *session = SOUP_SESSION (object);
-       SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+       SoupSessionPrivate *priv = soup_session_get_instance_private (session);
 
        soup_message_queue_destroy (priv->queue);
 
@@ -359,7 +358,7 @@ soup_session_finalize (GObject *object)
 static void
 ensure_socket_props (SoupSession *session)
 {
-       SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+       SoupSessionPrivate *priv = soup_session_get_instance_private (session);
        gboolean ssl_strict;
 
        if (priv->socket_props)
@@ -471,7 +470,7 @@ accept_languages_from_system (void)
 static void
 set_tlsdb (SoupSession *session, GTlsDatabase *tlsdb)
 {
-       SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+       SoupSessionPrivate *priv = soup_session_get_instance_private (session);
        GTlsDatabase *system_default;
 
        priv->tlsdb_use_default = FALSE;
@@ -507,7 +506,7 @@ set_tlsdb (SoupSession *session, GTlsDatabase *tlsdb)
 static void
 set_use_system_ca_file (SoupSession *session, gboolean use_system_ca_file)
 {
-       SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+       SoupSessionPrivate *priv = soup_session_get_instance_private (session);
        GTlsDatabase *system_default;
 
        priv->tlsdb_use_default = FALSE;
@@ -525,7 +524,7 @@ set_use_system_ca_file (SoupSession *session, gboolean use_system_ca_file)
 static void
 set_ssl_ca_file (SoupSession *session, const char *ssl_ca_file)
 {
-       SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+       SoupSessionPrivate *priv = soup_session_get_instance_private (session);
        GTlsDatabase *tlsdb;
        GError *error = NULL;
 
@@ -599,7 +598,7 @@ set_proxy_resolver (SoupSession *session, SoupURI *uri,
                    SoupProxyURIResolver *soup_resolver,
                    GProxyResolver *g_resolver)
 {
-       SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+       SoupSessionPrivate *priv = soup_session_get_instance_private (session);
 
        G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
        soup_session_remove_feature_by_type (session, SOUP_TYPE_PROXY_URI_RESOLVER);
@@ -631,7 +630,7 @@ soup_session_set_property (GObject *object, guint prop_id,
                           const GValue *value, GParamSpec *pspec)
 {
        SoupSession *session = SOUP_SESSION (object);
-       SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+       SoupSessionPrivate *priv = soup_session_get_instance_private (session);
        const char *user_agent;
        SoupSessionFeature *feature;
        GMainContext *async_context;
@@ -783,7 +782,7 @@ soup_session_get_property (GObject *object, guint prop_id,
                           GValue *value, GParamSpec *pspec)
 {
        SoupSession *session = SOUP_SESSION (object);
-       SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+       SoupSessionPrivate *priv = soup_session_get_instance_private (session);
        SoupSessionFeature *feature;
        GTlsDatabase *tlsdb;
 
@@ -924,7 +923,7 @@ soup_session_get_async_context (SoupSession *session)
        SoupSessionPrivate *priv;
 
        g_return_val_if_fail (SOUP_IS_SESSION (session), NULL);
-       priv = SOUP_SESSION_GET_PRIVATE (session);
+       priv = soup_session_get_instance_private (session);
 
        if (priv->use_thread_context)
                return g_main_context_get_thread_default ();
@@ -973,7 +972,7 @@ soup_session_host_new (SoupSession *session, SoupURI *uri)
        host->uri = soup_uri_copy_host (uri);
        if (host->uri->scheme != SOUP_URI_SCHEME_HTTP &&
            host->uri->scheme != SOUP_URI_SCHEME_HTTPS) {
-               SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+               SoupSessionPrivate *priv = soup_session_get_instance_private (session);
 
                if (soup_uri_is_https (host->uri, priv->https_aliases))
                        host->uri->scheme = SOUP_URI_SCHEME_HTTPS;
@@ -996,7 +995,7 @@ soup_session_host_new (SoupSession *session, SoupURI *uri)
 static SoupSessionHost *
 get_host_for_uri (SoupSession *session, SoupURI *uri)
 {
-       SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+       SoupSessionPrivate *priv = soup_session_get_instance_private (session);
        SoupSessionHost *host;
        gboolean https;
        SoupURI *uri_tmp = NULL;
@@ -1105,7 +1104,7 @@ redirection_uri (SoupMessage *msg)
 gboolean
 soup_session_would_redirect (SoupSession *session, SoupMessage *msg)
 {
-       SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+       SoupSessionPrivate *priv = soup_session_get_instance_private (session);
        SoupURI *new_uri;
 
        /* It must have an appropriate status code and method */
@@ -1258,7 +1257,7 @@ soup_session_append_queue_item (SoupSession *session, SoupMessage *msg,
                                gboolean async, gboolean new_api,
                                SoupSessionCallback callback, gpointer user_data)
 {
-       SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+       SoupSessionPrivate *priv = soup_session_get_instance_private (session);
        SoupMessageQueueItem *item;
        SoupSessionHost *host;
 
@@ -1292,7 +1291,7 @@ soup_session_send_queue_item (SoupSession *session,
                              SoupMessageQueueItem *item,
                              SoupMessageCompletionFn completion_cb)
 {
-       SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+       SoupSessionPrivate *priv = soup_session_get_instance_private (session);
 
        if (priv->user_agent) {
                soup_message_headers_replace (item->msg->request_headers,
@@ -1331,7 +1330,7 @@ static gboolean
 soup_session_cleanup_connections (SoupSession *session,
                                  gboolean     cleanup_idle)
 {
-       SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+       SoupSessionPrivate *priv = soup_session_get_instance_private (session);
        GSList *conns = NULL, *c;
        GHashTableIter iter;
        gpointer conn, host;
@@ -1367,7 +1366,7 @@ static gboolean
 free_unused_host (gpointer user_data)
 {
        SoupSessionHost *host = (SoupSessionHost *) user_data;
-       SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (host->session);
+       SoupSessionPrivate *priv = soup_session_get_instance_private (host->session);
 
        g_mutex_lock (&priv->conn_lock);
 
@@ -1394,7 +1393,7 @@ free_unused_host (gpointer user_data)
 static void
 drop_connection (SoupSession *session, SoupSessionHost *host, SoupConnection *conn)
 {
-       SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+       SoupSessionPrivate *priv = soup_session_get_instance_private (session);
 
        /* Note: caller must hold conn_lock, and must remove @conn
         * from priv->conns itself.
@@ -1429,7 +1428,7 @@ static void
 connection_disconnected (SoupConnection *conn, gpointer user_data)
 {
        SoupSession *session = user_data;
-       SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+       SoupSessionPrivate *priv = soup_session_get_instance_private (session);
        SoupSessionHost *host;
 
        g_mutex_lock (&priv->conn_lock);
@@ -1457,7 +1456,7 @@ connection_state_changed (GObject *object, GParamSpec *param, gpointer user_data
 SoupMessageQueue *
 soup_session_get_queue (SoupSession *session)
 {
-       SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+       SoupSessionPrivate *priv = soup_session_get_instance_private (session);
 
        return priv->queue;
 }
@@ -1466,7 +1465,7 @@ static void
 soup_session_unqueue_item (SoupSession          *session,
                           SoupMessageQueueItem *item)
 {
-       SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+       SoupSessionPrivate *priv = soup_session_get_instance_private (session);
        SoupSessionHost *host;
        SoupConnection *dedicated_conn = NULL;
 
@@ -1785,7 +1784,7 @@ get_connection_for_host (SoupSession *session,
                         gboolean *try_cleanup,
                         gboolean *is_dedicated_connection)
 {
-       SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+       SoupSessionPrivate *priv = soup_session_get_instance_private (session);
        SoupConnection *conn;
        GSList *conns;
        guint num_pending = 0;
@@ -1875,7 +1874,7 @@ static gboolean
 get_connection (SoupMessageQueueItem *item, gboolean *should_cleanup)
 {
        SoupSession *session = item->session;
-       SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+       SoupSessionPrivate *priv = soup_session_get_instance_private (session);
        SoupSessionHost *host;
        SoupConnection *conn = NULL;
        gboolean my_should_cleanup = FALSE;
@@ -2039,7 +2038,7 @@ soup_session_process_queue_item (SoupSession          *session,
 static void
 async_run_queue (SoupSession *session)
 {
-       SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+       SoupSessionPrivate *priv = soup_session_get_instance_private (session);
        SoupMessageQueueItem *item;
        SoupMessage *msg;
        gboolean try_cleanup = TRUE, should_cleanup = FALSE;
@@ -2172,7 +2171,7 @@ soup_session_queue_message (SoupSession *session, SoupMessage *msg,
 static void
 soup_session_real_requeue_message (SoupSession *session, SoupMessage *msg)
 {
-       SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+       SoupSessionPrivate *priv = soup_session_get_instance_private (session);
        SoupMessageQueueItem *item;
 
        item = soup_message_queue_lookup (priv->queue, msg);
@@ -2277,7 +2276,7 @@ soup_session_pause_message (SoupSession *session,
        g_return_if_fail (SOUP_IS_SESSION (session));
        g_return_if_fail (SOUP_IS_MESSAGE (msg));
 
-       priv = SOUP_SESSION_GET_PRIVATE (session);
+       priv = soup_session_get_instance_private (session);
        item = soup_message_queue_lookup (priv->queue, msg);
        g_return_if_fail (item != NULL);
        g_return_if_fail (item->async);
@@ -2291,7 +2290,7 @@ soup_session_pause_message (SoupSession *session,
 static void
 soup_session_real_kick_queue (SoupSession *session)
 {
-       SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+       SoupSessionPrivate *priv = soup_session_get_instance_private (session);
        SoupMessageQueueItem *item;
        GHashTable *async_pending;
        gboolean have_sync_items = FALSE;
@@ -2361,7 +2360,7 @@ soup_session_unpause_message (SoupSession *session,
        g_return_if_fail (SOUP_IS_SESSION (session));
        g_return_if_fail (SOUP_IS_MESSAGE (msg));
 
-       priv = SOUP_SESSION_GET_PRIVATE (session);
+       priv = soup_session_get_instance_private (session);
        item = soup_message_queue_lookup (priv->queue, msg);
        g_return_if_fail (item != NULL);
        g_return_if_fail (item->async);
@@ -2378,7 +2377,7 @@ soup_session_unpause_message (SoupSession *session,
 static void
 soup_session_real_cancel_message (SoupSession *session, SoupMessage *msg, guint status_code)
 {
-       SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+       SoupSessionPrivate *priv = soup_session_get_instance_private (session);
        SoupMessageQueueItem *item;
 
        item = soup_message_queue_lookup (priv->queue, msg);
@@ -2438,7 +2437,7 @@ soup_session_cancel_message (SoupSession *session, SoupMessage *msg,
        g_return_if_fail (SOUP_IS_SESSION (session));
        g_return_if_fail (SOUP_IS_MESSAGE (msg));
 
-       priv = SOUP_SESSION_GET_PRIVATE (session);
+       priv = soup_session_get_instance_private (session);
        item = soup_message_queue_lookup (priv->queue, msg);
        /* If the message is already ending, don't do anything */
        if (!item)
@@ -2455,7 +2454,7 @@ soup_session_cancel_message (SoupSession *session, SoupMessage *msg,
 static void
 soup_session_real_flush_queue (SoupSession *session)
 {
-       SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+       SoupSessionPrivate *priv = soup_session_get_instance_private (session);
        SoupMessageQueueItem *item;
        GHashTable *current = NULL;
        gboolean done = FALSE;
@@ -2527,7 +2526,7 @@ soup_session_abort (SoupSession *session)
        gpointer conn, host;
 
        g_return_if_fail (SOUP_IS_SESSION (session));
-       priv = SOUP_SESSION_GET_PRIVATE (session);
+       priv = soup_session_get_instance_private (session);
 
        SOUP_SESSION_GET_CLASS (session)->flush_queue (session);
 
@@ -2565,7 +2564,7 @@ prefetch_uri (SoupSession *session, SoupURI *uri,
        SoupSessionHost *host;
        SoupAddress *addr;
 
-       priv = SOUP_SESSION_GET_PRIVATE (session);
+       priv = soup_session_get_instance_private (session);
 
        g_mutex_lock (&priv->conn_lock);
        host = get_host_for_uri (session, uri);
@@ -2666,7 +2665,7 @@ soup_session_add_feature (SoupSession *session, SoupSessionFeature *feature)
        g_return_if_fail (SOUP_IS_SESSION (session));
        g_return_if_fail (SOUP_IS_SESSION_FEATURE (feature));
 
-       priv = SOUP_SESSION_GET_PRIVATE (session);
+       priv = soup_session_get_instance_private (session);
 
        G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
        if (SOUP_IS_PROXY_URI_RESOLVER (feature)) {
@@ -2711,7 +2710,7 @@ soup_session_add_feature_by_type (SoupSession *session, GType feature_type)
 
        g_return_if_fail (SOUP_IS_SESSION (session));
 
-       priv = SOUP_SESSION_GET_PRIVATE (session);
+       priv = soup_session_get_instance_private (session);
 
        if (g_type_is_a (feature_type, SOUP_TYPE_SESSION_FEATURE)) {
                SoupSessionFeature *feature;
@@ -2756,7 +2755,7 @@ soup_session_remove_feature (SoupSession *session, SoupSessionFeature *feature)
 
        g_return_if_fail (SOUP_IS_SESSION (session));
 
-       priv = SOUP_SESSION_GET_PRIVATE (session);
+       priv = soup_session_get_instance_private (session);
        if (g_slist_find (priv->features, feature)) {
                priv->features = g_slist_remove (priv->features, feature);
                g_hash_table_remove_all (priv->features_cache);
@@ -2794,7 +2793,7 @@ soup_session_remove_feature_by_type (SoupSession *session, GType feature_type)
 
        g_return_if_fail (SOUP_IS_SESSION (session));
 
-       priv = SOUP_SESSION_GET_PRIVATE (session);
+       priv = soup_session_get_instance_private (session);
 
        if (g_type_is_a (feature_type, SOUP_TYPE_SESSION_FEATURE)) {
        restart:
@@ -2851,7 +2850,7 @@ soup_session_has_feature (SoupSession *session,
 
        g_return_val_if_fail (SOUP_IS_SESSION (session), FALSE);
 
-       priv = SOUP_SESSION_GET_PRIVATE (session);
+       priv = soup_session_get_instance_private (session);
 
        if (g_type_is_a (feature_type, SOUP_TYPE_SESSION_FEATURE)) {
                for (f = priv->features; f; f = f->next) {
@@ -2893,7 +2892,7 @@ soup_session_get_features (SoupSession *session, GType feature_type)
 
        g_return_val_if_fail (SOUP_IS_SESSION (session), NULL);
 
-       priv = SOUP_SESSION_GET_PRIVATE (session);
+       priv = soup_session_get_instance_private (session);
        for (f = priv->features, ret = NULL; f; f = f->next) {
                if (G_TYPE_CHECK_INSTANCE_TYPE (f->data, feature_type))
                        ret = g_slist_prepend (ret, f->data);
@@ -2924,7 +2923,7 @@ soup_session_get_feature (SoupSession *session, GType feature_type)
 
        g_return_val_if_fail (SOUP_IS_SESSION (session), NULL);
 
-       priv = SOUP_SESSION_GET_PRIVATE (session);
+       priv = soup_session_get_instance_private (session);
 
        feature = g_hash_table_lookup (priv->features_cache,
                                       GSIZE_TO_POINTER (feature_type));
@@ -2979,8 +2978,6 @@ soup_session_class_init (SoupSessionClass *session_class)
 {
        GObjectClass *object_class = G_OBJECT_CLASS (session_class);
 
-       g_type_class_add_private (session_class, sizeof (SoupSessionPrivate));
-
        /* virtual method definition */
        session_class->queue_message = soup_session_real_queue_message;
        session_class->send_message = soup_session_real_send_message;
@@ -4547,7 +4544,7 @@ soup_session_request_uri (SoupSession *session, SoupURI *uri,
 
        g_return_val_if_fail (SOUP_IS_SESSION (session), NULL);
 
-       priv = SOUP_SESSION_GET_PRIVATE (session);
+       priv = soup_session_get_instance_private (session);
 
        request_type = (GType)GPOINTER_TO_SIZE (g_hash_table_lookup (priv->request_types, uri->scheme));
        if (!request_type) {
@@ -4708,7 +4705,7 @@ GIOStream *
 soup_session_steal_connection (SoupSession *session,
                               SoupMessage *msg)
 {
-       SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+       SoupSessionPrivate *priv = soup_session_get_instance_private (session);
        SoupMessageQueueItem *item;
        SoupConnection *conn;
        SoupSocket *sock;
@@ -4834,11 +4831,12 @@ soup_session_websocket_connect_async (SoupSession          *session,
                                      GAsyncReadyCallback   callback,
                                      gpointer              user_data)
 {
+       SoupSessionPrivate *priv = soup_session_get_instance_private (session);
        SoupMessageQueueItem *item;
        GTask *task;
 
        g_return_if_fail (SOUP_IS_SESSION (session));
-       g_return_if_fail (SOUP_SESSION_GET_PRIVATE (session)->use_thread_context);
+       g_return_if_fail (priv->use_thread_context);
        g_return_if_fail (SOUP_IS_MESSAGE (msg));
 
        soup_websocket_client_prepare_handshake (msg, origin, protocols);
diff --git a/libsoup/soup-socket.c b/libsoup/soup-socket.c
index e737812..5363dc7 100644
--- a/libsoup/soup-socket.c
+++ b/libsoup/soup-socket.c
@@ -30,12 +30,6 @@
  * soup_socket_get_remote_address()) may be useful to applications.
  **/
 
-static void soup_socket_initable_interface_init (GInitableIface *initable_interface);
-
-G_DEFINE_TYPE_WITH_CODE (SoupSocket, soup_socket, G_TYPE_OBJECT,
-                        G_IMPLEMENT_INTERFACE (G_TYPE_INITABLE,
-                                               soup_socket_initable_interface_init))
-
 enum {
        READABLE,
        WRITABLE,
@@ -102,7 +96,13 @@ typedef struct {
        GCancellable *connect_cancel;
        int fd;
 } SoupSocketPrivate;
-#define SOUP_SOCKET_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SOUP_TYPE_SOCKET, SoupSocketPrivate))
+
+static void soup_socket_initable_interface_init (GInitableIface *initable_interface);
+
+G_DEFINE_TYPE_WITH_CODE (SoupSocket, soup_socket, G_TYPE_OBJECT,
+                         G_ADD_PRIVATE (SoupSocket)
+                        G_IMPLEMENT_INTERFACE (G_TYPE_INITABLE,
+                                               soup_socket_initable_interface_init))
 
 static void soup_socket_peer_certificate_changed (GObject *conn,
                                                  GParamSpec *pspec,
@@ -113,7 +113,7 @@ static void finish_listener_setup (SoupSocket *sock);
 static void
 soup_socket_init (SoupSocket *sock)
 {
-       SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       SoupSocketPrivate *priv = soup_socket_get_instance_private (sock);
 
        priv->non_blocking = TRUE;
        priv->fd = -1;
@@ -127,7 +127,7 @@ soup_socket_initable_init (GInitable     *initable,
                           GError       **error)
 {
        SoupSocket *sock = SOUP_SOCKET (initable);
-       SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       SoupSocketPrivate *priv = soup_socket_get_instance_private (sock);
 
        if (priv->conn) {
                g_warn_if_fail (priv->gsock == NULL);
@@ -183,7 +183,7 @@ soup_socket_initable_init (GInitable     *initable,
 static void
 disconnect_internal (SoupSocket *sock, gboolean close)
 {
-       SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       SoupSocketPrivate *priv = soup_socket_get_instance_private (sock);
 
        g_clear_object (&priv->gsock);
        if (priv->conn && close) {
@@ -204,7 +204,8 @@ disconnect_internal (SoupSocket *sock, gboolean close)
 static void
 soup_socket_finalize (GObject *object)
 {
-       SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (object);
+       SoupSocket *sock = SOUP_SOCKET (object);
+       SoupSocketPrivate *priv = soup_socket_get_instance_private (sock);
 
        if (priv->connect_cancel) {
                if (priv->clean_dispose)
@@ -245,7 +246,7 @@ soup_socket_finalize (GObject *object)
 static void
 finish_socket_setup (SoupSocket *sock)
 {
-       SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       SoupSocketPrivate *priv = soup_socket_get_instance_private (sock);
 
        if (priv->gsock) {
                if (!priv->conn)
@@ -270,7 +271,8 @@ static void
 soup_socket_set_property (GObject *object, guint prop_id,
                          const GValue *value, GParamSpec *pspec)
 {
-       SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (object);
+       SoupSocket *sock = SOUP_SOCKET (object);
+       SoupSocketPrivate *priv = soup_socket_get_instance_private (sock);
        SoupSocketProperties *props;
 
        switch (prop_id) {
@@ -371,7 +373,8 @@ static void
 soup_socket_get_property (GObject *object, guint prop_id,
                          GValue *value, GParamSpec *pspec)
 {
-       SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (object);
+       SoupSocket *sock = SOUP_SOCKET (object);
+       SoupSocketPrivate *priv = soup_socket_get_instance_private (sock);
 
        switch (prop_id) {
        case PROP_FD:
@@ -433,8 +436,6 @@ soup_socket_class_init (SoupSocketClass *socket_class)
 {
        GObjectClass *object_class = G_OBJECT_CLASS (socket_class);
 
-       g_type_class_add_private (socket_class, sizeof (SoupSocketPrivate));
-
        /* virtual method override */
        object_class->finalize = soup_socket_finalize;
        object_class->set_property = soup_socket_set_property;
@@ -851,7 +852,7 @@ re_emit_socket_client_event (GSocketClient       *client,
 static gboolean
 socket_connect_finish (SoupSocket *sock, GSocketConnection *conn)
 {
-       SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       SoupSocketPrivate *priv = soup_socket_get_instance_private (sock);
 
        g_clear_object (&priv->connect_cancel);
 
@@ -883,7 +884,7 @@ socket_legacy_error (SoupSocket *sock, GError *error)
 static GSocketClient *
 new_socket_client (SoupSocket *sock)
 {
-       SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       SoupSocketPrivate *priv = soup_socket_get_instance_private (sock);
        GSocketClient *client = g_socket_client_new ();
 
        g_signal_connect (client, "event",
@@ -943,7 +944,7 @@ soup_socket_connect_async_internal (SoupSocket          *sock,
        GTask *task;
 
        g_return_if_fail (SOUP_IS_SOCKET (sock));
-       priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       priv = soup_socket_get_instance_private (sock);
        g_return_if_fail (!priv->is_server);
        g_return_if_fail (priv->gsock == NULL);
        g_return_if_fail (priv->remote_addr != NULL);
@@ -1017,7 +1018,7 @@ soup_socket_connect_async (SoupSocket *sock, GCancellable *cancellable,
        SoupSocketAsyncConnectData *sacd;
 
        g_return_if_fail (SOUP_IS_SOCKET (sock));
-       priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       priv = soup_socket_get_instance_private (sock);
        g_return_if_fail (!priv->is_server);
        g_return_if_fail (priv->gsock == NULL);
        g_return_if_fail (priv->remote_addr != NULL);
@@ -1048,7 +1049,7 @@ soup_socket_connect_sync_internal (SoupSocket    *sock,
        GSocketConnection *conn;
 
        g_return_val_if_fail (SOUP_IS_SOCKET (sock), SOUP_STATUS_MALFORMED);
-       priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       priv = soup_socket_get_instance_private (sock);
        g_return_val_if_fail (!priv->is_server, SOUP_STATUS_MALFORMED);
        g_return_val_if_fail (priv->gsock == NULL, SOUP_STATUS_MALFORMED);
        g_return_val_if_fail (priv->remote_addr != NULL, SOUP_STATUS_MALFORMED);
@@ -1084,7 +1085,7 @@ soup_socket_connect_sync (SoupSocket *sock, GCancellable *cancellable)
        GError *error = NULL;
 
        g_return_val_if_fail (SOUP_IS_SOCKET (sock), SOUP_STATUS_MALFORMED);
-       priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       priv = soup_socket_get_instance_private (sock);
        g_return_val_if_fail (!priv->is_server, SOUP_STATUS_MALFORMED);
        g_return_val_if_fail (priv->gsock == NULL, SOUP_STATUS_MALFORMED);
        g_return_val_if_fail (priv->remote_addr != NULL, SOUP_STATUS_MALFORMED);
@@ -1109,17 +1110,25 @@ soup_socket_connect_sync (SoupSocket *sock, GCancellable *cancellable)
 int
 soup_socket_get_fd (SoupSocket *sock)
 {
+       SoupSocketPrivate *priv;
+
        g_return_val_if_fail (SOUP_IS_SOCKET (sock), -1);
 
-       return g_socket_get_fd (SOUP_SOCKET_GET_PRIVATE (sock)->gsock);
+       priv = soup_socket_get_instance_private (sock);
+
+       return g_socket_get_fd (priv->gsock);
 }
 
 GSocket *
 soup_socket_get_gsocket (SoupSocket *sock)
 {
+       SoupSocketPrivate *priv;
+
        g_return_val_if_fail (SOUP_IS_SOCKET (sock), NULL);
 
-       return SOUP_SOCKET_GET_PRIVATE (sock)->gsock;
+       priv = soup_socket_get_instance_private (sock);
+
+       return priv->gsock;
 }
 
 GSocket *
@@ -1129,7 +1138,7 @@ soup_socket_steal_gsocket (SoupSocket *sock)
        GSocket *gsock;
 
        g_return_val_if_fail (SOUP_IS_SOCKET (sock), NULL);
-       priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       priv = soup_socket_get_instance_private (sock);
 
        gsock = priv->gsock;
        priv->gsock = NULL;
@@ -1145,7 +1154,7 @@ soup_socket_is_readable (SoupSocket *sock)
        SoupSocketPrivate *priv;
 
        g_return_val_if_fail (SOUP_IS_SOCKET (sock), FALSE);
-       priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       priv = soup_socket_get_instance_private (sock);
 
        return g_pollable_input_stream_is_readable (G_POLLABLE_INPUT_STREAM (priv->istream));
 }
@@ -1153,17 +1162,25 @@ soup_socket_is_readable (SoupSocket *sock)
 GIOStream *
 soup_socket_get_connection (SoupSocket *sock)
 {
+       SoupSocketPrivate *priv;
+
        g_return_val_if_fail (SOUP_IS_SOCKET (sock), NULL);
 
-       return SOUP_SOCKET_GET_PRIVATE (sock)->conn;
+       priv = soup_socket_get_instance_private (sock);
+
+       return priv->conn;
 }
 
 GIOStream *
 soup_socket_get_iostream (SoupSocket *sock)
 {
+       SoupSocketPrivate *priv;
+
        g_return_val_if_fail (SOUP_IS_SOCKET (sock), NULL);
 
-       return SOUP_SOCKET_GET_PRIVATE (sock)->iostream;
+       priv = soup_socket_get_instance_private (sock);
+
+       return priv->iostream;
 }
 
 static GSource *
@@ -1189,7 +1206,7 @@ static gboolean
 listen_watch (GObject *pollable, gpointer data)
 {
        SoupSocket *sock = data, *new;
-       SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (sock), *new_priv;
+       SoupSocketPrivate *priv = soup_socket_get_instance_private (sock), *new_priv;
        GSocket *new_gsock;
 
        new_gsock = g_socket_accept (priv->gsock, NULL, NULL);
@@ -1197,7 +1214,7 @@ listen_watch (GObject *pollable, gpointer data)
                return FALSE;
 
        new = g_object_new (SOUP_TYPE_SOCKET, NULL);
-       new_priv = SOUP_SOCKET_GET_PRIVATE (new);
+       new_priv = soup_socket_get_instance_private (new);
        new_priv->gsock = new_gsock;
        if (priv->async_context)
                new_priv->async_context = g_main_context_ref (priv->async_context);
@@ -1226,7 +1243,7 @@ listen_watch (GObject *pollable, gpointer data)
 static void
 finish_listener_setup (SoupSocket *sock)
 {
-       SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       SoupSocketPrivate *priv = soup_socket_get_instance_private (sock);
 
        priv->is_server = TRUE;
        priv->watch_src = soup_socket_create_watch (priv, G_IO_IN,
@@ -1269,7 +1286,7 @@ soup_socket_listen_full (SoupSocket *sock,
        GSocketAddress *addr;
 
        g_return_val_if_fail (SOUP_IS_SOCKET (sock), FALSE);
-       priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       priv = soup_socket_get_instance_private (sock);
        g_return_val_if_fail (priv->gsock == NULL, FALSE);
        g_return_val_if_fail (priv->local_addr != NULL, FALSE);
 
@@ -1328,7 +1345,7 @@ static void
 soup_socket_peer_certificate_changed (GObject *conn, GParamSpec *pspec,
                                      gpointer sock)
 {
-       SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       SoupSocketPrivate *priv = soup_socket_get_instance_private (sock);
 
        priv->tls_errors = g_tls_connection_get_peer_certificate_errors (G_TLS_CONNECTION (priv->conn));
 
@@ -1349,7 +1366,7 @@ soup_socket_setup_ssl (SoupSocket    *sock,
                       GCancellable  *cancellable,
                       GError       **error)
 {
-       SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       SoupSocketPrivate *priv = soup_socket_get_instance_private (sock);
        GTlsBackend *backend = g_tls_backend_get_default ();
 
        if (G_IS_TLS_CONNECTION (priv->conn))
@@ -1436,7 +1453,7 @@ soup_socket_setup_ssl (SoupSocket    *sock,
 gboolean
 soup_socket_start_ssl (SoupSocket *sock, GCancellable *cancellable)
 {
-       SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       SoupSocketPrivate *priv = soup_socket_get_instance_private (sock);
 
        return soup_socket_setup_ssl (sock, soup_address_get_name (priv->remote_addr),
                                      cancellable, NULL);
@@ -1466,7 +1483,7 @@ soup_socket_handshake_sync (SoupSocket    *sock,
                            GCancellable  *cancellable,
                            GError       **error)
 {
-       SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       SoupSocketPrivate *priv = soup_socket_get_instance_private (sock);
 
        if (!soup_socket_setup_ssl (sock, ssl_host, cancellable, error))
                return FALSE;
@@ -1490,7 +1507,7 @@ handshake_async_ready (GObject *source, GAsyncResult *result, gpointer user_data
        if (g_tls_connection_handshake_finish (G_TLS_CONNECTION (source),
                                               result, &error)) {
                SoupSocket *sock = g_task_get_source_object (task);
-               SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (sock);
+               SoupSocketPrivate *priv = soup_socket_get_instance_private (sock);
 
                soup_socket_event (sock, G_SOCKET_CLIENT_TLS_HANDSHAKED, priv->conn);
                g_task_return_boolean (task, TRUE);
@@ -1506,7 +1523,7 @@ soup_socket_handshake_async (SoupSocket          *sock,
                             GAsyncReadyCallback  callback,
                             gpointer             user_data)
 {
-       SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       SoupSocketPrivate *priv = soup_socket_get_instance_private (sock);
        GTask *task;
        GError *error = NULL;
 
@@ -1545,7 +1562,7 @@ soup_socket_handshake_finish (SoupSocket    *sock,
 gboolean
 soup_socket_is_ssl (SoupSocket *sock)
 {
-       SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       SoupSocketPrivate *priv = soup_socket_get_instance_private (sock);
 
        return priv->ssl;
 }
@@ -1564,7 +1581,7 @@ soup_socket_disconnect (SoupSocket *sock)
        gboolean already_disconnected = FALSE;
 
        g_return_if_fail (SOUP_IS_SOCKET (sock));
-       priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       priv = soup_socket_get_instance_private (sock);
 
        if (priv->connect_cancel) {
                disconnect_internal (sock, FALSE);
@@ -1621,7 +1638,7 @@ soup_socket_is_connected (SoupSocket *sock)
        SoupSocketPrivate *priv;
 
        g_return_val_if_fail (SOUP_IS_SOCKET (sock), FALSE);
-       priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       priv = soup_socket_get_instance_private (sock);
 
        return priv->conn && !g_io_stream_is_closed (priv->conn);
 }
@@ -1643,7 +1660,7 @@ soup_socket_get_local_address (SoupSocket *sock)
        SoupSocketPrivate *priv;
 
        g_return_val_if_fail (SOUP_IS_SOCKET (sock), NULL);
-       priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       priv = soup_socket_get_instance_private (sock);
 
        g_mutex_lock (&priv->addrlock);
        if (!priv->local_addr) {
@@ -1691,7 +1708,7 @@ soup_socket_get_remote_address (SoupSocket *sock)
        SoupSocketPrivate *priv;
 
        g_return_val_if_fail (SOUP_IS_SOCKET (sock), NULL);
-       priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       priv = soup_socket_get_instance_private (sock);
 
        g_mutex_lock (&priv->addrlock);
        if (!priv->remote_addr) {
@@ -1725,7 +1742,7 @@ unlock:
 SoupURI *
 soup_socket_get_http_proxy_uri (SoupSocket *sock)
 {
-       SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       SoupSocketPrivate *priv = soup_socket_get_instance_private (sock);
        GSocketAddress *addr;
        GProxyAddress *paddr;
        SoupURI *uri;
@@ -1752,7 +1769,7 @@ static gboolean
 socket_read_watch (GObject *pollable, gpointer user_data)
 {
        SoupSocket *sock = user_data;
-       SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       SoupSocketPrivate *priv = soup_socket_get_instance_private (sock);
 
        priv->read_src = NULL;
        g_signal_emit (sock, signals[READABLE], 0);
@@ -1764,7 +1781,7 @@ translate_read_status (SoupSocket *sock, GCancellable *cancellable,
                       gssize my_nread, gsize *nread,
                       GError *my_err, GError **error)
 {
-       SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       SoupSocketPrivate *priv = soup_socket_get_instance_private (sock);
 
        if (my_nread > 0) {
                g_assert_no_error (my_err);
@@ -1839,7 +1856,7 @@ soup_socket_read (SoupSocket *sock, gpointer buffer, gsize len,
        g_return_val_if_fail (SOUP_IS_SOCKET (sock), SOUP_SOCKET_ERROR);
        g_return_val_if_fail (nread != NULL, SOUP_SOCKET_ERROR);
 
-       priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       priv = soup_socket_get_instance_private (sock);
 
        g_mutex_lock (&priv->iolock);
 
@@ -1909,7 +1926,7 @@ soup_socket_read_until (SoupSocket *sock, gpointer buffer, gsize len,
        g_return_val_if_fail (nread != NULL, SOUP_SOCKET_ERROR);
        g_return_val_if_fail (len >= boundary_len, SOUP_SOCKET_ERROR);
 
-       priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       priv = soup_socket_get_instance_private (sock);
 
        g_mutex_lock (&priv->iolock);
 
@@ -1935,7 +1952,7 @@ static gboolean
 socket_write_watch (GObject *pollable, gpointer user_data)
 {
        SoupSocket *sock = user_data;
-       SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       SoupSocketPrivate *priv = soup_socket_get_instance_private (sock);
 
        priv->write_src = NULL;
        g_signal_emit (sock, signals[WRITABLE], 0);
@@ -1980,7 +1997,7 @@ soup_socket_write (SoupSocket *sock, gconstpointer buffer,
        g_return_val_if_fail (SOUP_IS_SOCKET (sock), SOUP_SOCKET_ERROR);
        g_return_val_if_fail (nwrote != NULL, SOUP_SOCKET_ERROR);
 
-       priv = SOUP_SOCKET_GET_PRIVATE (sock);
+       priv = soup_socket_get_instance_private (sock);
 
        g_mutex_lock (&priv->iolock);
 
diff --git a/libsoup/soup-websocket-connection.c b/libsoup/soup-websocket-connection.c
index eff6ba6..ed82a27 100644
--- a/libsoup/soup-websocket-connection.c
+++ b/libsoup/soup-websocket-connection.c
@@ -139,7 +139,7 @@ struct _SoupWebsocketConnectionPrivate {
 
 #define MAX_INCOMING_PAYLOAD_SIZE_DEFAULT   128 * 1024
 
-G_DEFINE_TYPE (SoupWebsocketConnection, soup_websocket_connection, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (SoupWebsocketConnection, soup_websocket_connection, G_TYPE_OBJECT)
 
 typedef enum {
        SOUP_WEBSOCKET_QUEUE_NORMAL = 0,
@@ -166,8 +166,7 @@ soup_websocket_connection_init (SoupWebsocketConnection *self)
 {
        SoupWebsocketConnectionPrivate *pv;
 
-       pv = self->pv = G_TYPE_INSTANCE_GET_PRIVATE (self, SOUP_TYPE_WEBSOCKET_CONNECTION,
-                                                    SoupWebsocketConnectionPrivate);
+       pv = self->pv = soup_websocket_connection_get_instance_private (self);
 
        pv->incoming = g_byte_array_sized_new (1024);
        g_queue_init (&pv->outgoing);
@@ -1137,8 +1136,6 @@ soup_websocket_connection_class_init (SoupWebsocketConnectionClass *klass)
 {
        GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
 
-       g_type_class_add_private (klass, sizeof (SoupWebsocketConnectionPrivate));
-
        gobject_class->constructed = soup_websocket_connection_constructed;
        gobject_class->get_property = soup_websocket_connection_get_property;
        gobject_class->set_property = soup_websocket_connection_set_property;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]