[libsoup/wip/remove-deprecations: 41/49] SoupSession: Modernize defintiion and make final type



commit 2aaa853e89ebd6ebcc2d794c1005e22f689e7924
Author: Patrick Griffis <pgriffis igalia com>
Date:   Tue Mar 24 00:44:24 2020 -0700

    SoupSession: Modernize defintiion and make final type

 libsoup/soup-autocleanups.h |  3 ---
 libsoup/soup-session.c      |  8 ++++++--
 libsoup/soup-session.h      | 39 ++++-----------------------------------
 3 files changed, 10 insertions(+), 40 deletions(-)
---
diff --git a/libsoup/soup-autocleanups.h b/libsoup/soup-autocleanups.h
index 18b5c72e..836a2b3f 100644
--- a/libsoup/soup-autocleanups.h
+++ b/libsoup/soup-autocleanups.h
@@ -52,9 +52,6 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(SoupRequestData, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(SoupRequestFile, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(SoupRequestHTTP, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(SoupServer, g_object_unref)
-G_DEFINE_AUTOPTR_CLEANUP_FUNC(SoupSession, g_object_unref)
-G_DEFINE_AUTOPTR_CLEANUP_FUNC(SoupSessionAsync, g_object_unref)
-G_DEFINE_AUTOPTR_CLEANUP_FUNC(SoupSessionFeature, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(SoupSocket, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(SoupURI, soup_uri_free)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(SoupWebsocketConnection, g_object_unref)
diff --git a/libsoup/soup-session.c b/libsoup/soup-session.c
index 2c97df5d..ff9ae87c 100644
--- a/libsoup/soup-session.c
+++ b/libsoup/soup-session.c
@@ -69,6 +69,10 @@ static guint soup_host_uri_hash (gconstpointer key);
 static gboolean soup_host_uri_equal (gconstpointer v1, gconstpointer v2);
 static void free_unused_host (SoupSessionHost *host, gpointer session);
 
+struct _SoupSession {
+       GObject parent;
+};
+
 typedef struct {
        gboolean disposed;
 
@@ -2473,7 +2477,7 @@ soup_session_class_init (SoupSessionClass *session_class)
                g_signal_new ("request-started",
                              G_OBJECT_CLASS_TYPE (object_class),
                              G_SIGNAL_RUN_FIRST,
-                             G_STRUCT_OFFSET (SoupSessionClass, request_started),
+                             0,
                              NULL, NULL,
                              NULL,
                              G_TYPE_NONE, 2,
@@ -2529,7 +2533,7 @@ soup_session_class_init (SoupSessionClass *session_class)
                g_signal_new ("authenticate",
                              G_OBJECT_CLASS_TYPE (object_class),
                              G_SIGNAL_RUN_FIRST,
-                             G_STRUCT_OFFSET (SoupSessionClass, authenticate),
+                             0,
                              NULL, NULL,
                              NULL,
                              G_TYPE_NONE, 3,
diff --git a/libsoup/soup-session.h b/libsoup/soup-session.h
index d4496e63..4f965e93 100644
--- a/libsoup/soup-session.h
+++ b/libsoup/soup-session.h
@@ -3,8 +3,7 @@
  * Copyright (C) 2000-2003, Ximian, Inc.
  */
 
-#ifndef __SOUP_SESSION_H__
-#define __SOUP_SESSION_H__ 1
+#pragma once
 
 #include "soup-types.h"
 #include "soup-address.h"
@@ -13,42 +12,14 @@
 
 G_BEGIN_DECLS
 
-#define SOUP_TYPE_SESSION            (soup_session_get_type ())
-#define SOUP_SESSION(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_SESSION, SoupSession))
-#define SOUP_SESSION_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_SESSION, SoupSessionClass))
-#define SOUP_IS_SESSION(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUP_TYPE_SESSION))
-#define SOUP_IS_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), SOUP_TYPE_SESSION))
-#define SOUP_SESSION_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUP_TYPE_SESSION, SoupSessionClass))
+#define SOUP_TYPE_SESSION soup_session_get_type ()
+SOUP_AVAILABLE_IN_2_42
+G_DECLARE_FINAL_TYPE (SoupSession, soup_session, SOUP, SESSION, GObject)
 
 typedef void (*SoupSessionCallback) (SoupSession           *session,
                                     SoupMessage           *msg,
                                     gpointer               user_data);
 
-struct _SoupSession {
-       GObject parent;
-
-};
-
-typedef struct {
-       GObjectClass parent_class;
-
-       /* signals */
-       void (*request_started) (SoupSession *session, SoupMessage *msg,
-                                SoupSocket *socket);
-       void (*authenticate)    (SoupSession *session, SoupMessage *msg,
-                                SoupAuth *auth, gboolean retrying);
-
-       /* methods */
-       void  (*auth_required)   (SoupSession *session, SoupMessage *msg,
-                                 SoupAuth *auth, gboolean retrying);
-
-       /* Padding for future expansion */
-       void (*_libsoup_reserved4) (void);
-} SoupSessionClass;
-
-SOUP_AVAILABLE_IN_2_42
-GType soup_session_get_type (void);
-
 #define SOUP_SESSION_LOCAL_ADDRESS          "local-address"
 #define SOUP_SESSION_PROXY_RESOLVER         "proxy-resolver"
 #define SOUP_SESSION_MAX_CONNS              "max-conns"
@@ -203,5 +174,3 @@ SoupWebsocketConnection *soup_session_websocket_connect_finish (SoupSession
                                                                GError              **error);
 
 G_END_DECLS
-
-#endif /* __SOUP_SESSION_H__ */


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