[libsoup] Make SoupSocket private API



commit 36b7ae15d371515d0a87c3926fcad2b8113457ed
Author: Patrick Griffis <pgriffis igalia com>
Date:   Wed Mar 25 00:05:41 2020 -0700

    Make SoupSocket private API

 docs/reference/libsoup-2.4-sections.txt | 49 ---------------------------------
 libsoup/Soup-2.4.metadata               |  2 --
 libsoup/include/soup-installed.h        |  1 -
 libsoup/meson.build                     |  1 -
 libsoup/soup-autocleanups.h             |  1 -
 libsoup/soup-server-private.h           | 23 ++++++++++++++++
 libsoup/soup-server.c                   |  2 +-
 libsoup/soup-server.h                   |  5 ----
 libsoup/soup-session-feature.c          |  5 ++--
 libsoup/soup-session-feature.h          |  3 +-
 libsoup/soup-session.c                  |  9 ++----
 libsoup/soup-socket.h                   | 15 ----------
 tests/connection-test.c                 | 23 ++++++----------
 tests/timeout-test.c                    |  8 ++++--
 14 files changed, 44 insertions(+), 103 deletions(-)
---
diff --git a/docs/reference/libsoup-2.4-sections.txt b/docs/reference/libsoup-2.4-sections.txt
index 02d1af95..cc4db3b8 100644
--- a/docs/reference/libsoup-2.4-sections.txt
+++ b/docs/reference/libsoup-2.4-sections.txt
@@ -536,55 +536,6 @@ SOUP_AUTH_MANAGER_GET_CLASS
 soup_auth_manager_get_type
 </SECTION>
 
-<SECTION>
-<FILE>soup-socket</FILE>
-<TITLE>SoupSocket</TITLE>
-SoupSocket
-soup_socket_new
-<SUBSECTION>
-SoupSocketCallback
-soup_socket_connect_async
-soup_socket_connect_sync
-<SUBSECTION>
-soup_socket_listen
-<SUBSECTION>
-soup_socket_start_ssl
-soup_socket_start_proxy_ssl
-soup_socket_is_ssl
-<SUBSECTION>
-soup_socket_disconnect
-soup_socket_is_connected
-<SUBSECTION>
-soup_socket_get_local_address
-soup_socket_get_remote_address
-<SUBSECTION>
-SoupSocketIOStatus
-soup_socket_read
-soup_socket_read_until
-soup_socket_write
-<SUBSECTION>
-SOUP_SOCKET_LOCAL_ADDRESS
-SOUP_SOCKET_REMOTE_ADDRESS
-SOUP_SOCKET_FLAG_NONBLOCKING
-SOUP_SOCKET_IS_SERVER
-SOUP_SOCKET_SSL_CREDENTIALS
-SOUP_SOCKET_TIMEOUT
-SOUP_SOCKET_SSL_FALLBACK
-SOUP_SOCKET_SSL_STRICT
-SOUP_SOCKET_TLS_CERTIFICATE
-SOUP_SOCKET_TLS_ERRORS
-SOUP_SOCKET_TRUSTED_CERTIFICATE
-<SUBSECTION Standard>
-SOUP_SOCKET
-SOUP_IS_SOCKET
-SOUP_TYPE_SOCKET
-soup_socket_get_type
-SOUP_SOCKET_CLASS
-SOUP_IS_SOCKET_CLASS
-SOUP_SOCKET_GET_CLASS
-SoupSocketClass
-</SECTION>
-
 <SECTION>
 <FILE>soup-uri</FILE>
 <TITLE>SoupURI</TITLE>
diff --git a/libsoup/Soup-2.4.metadata b/libsoup/Soup-2.4.metadata
index 87c11637..c1d3d273 100644
--- a/libsoup/Soup-2.4.metadata
+++ b/libsoup/Soup-2.4.metadata
@@ -33,8 +33,6 @@ Session
        .get_features type_arguments="weak Soup.SessionFeature"
        .send_async.cancellable#parameter default=null
 Session*.new_with_options skip=false
-Socket
-       .new skip=false
 URI
        .set_query_from_fields skip=false
 // uri_host_*.* type="Soup.URI"
diff --git a/libsoup/include/soup-installed.h b/libsoup/include/soup-installed.h
index 320e056d..1e1a0ebd 100644
--- a/libsoup/include/soup-installed.h
+++ b/libsoup/include/soup-installed.h
@@ -42,7 +42,6 @@ extern "C" {
 #include <libsoup/soup-request-http.h>
 #include <libsoup/soup-server.h>
 #include <libsoup/soup-session-feature.h>
-#include <libsoup/soup-socket.h>
 #include <libsoup/soup-status.h>
 #include <libsoup/soup-tld.h>
 #include <libsoup/soup-uri.h>
diff --git a/libsoup/meson.build b/libsoup/meson.build
index 4ca0e379..6767372f 100644
--- a/libsoup/meson.build
+++ b/libsoup/meson.build
@@ -175,7 +175,6 @@ soup_introspection_headers = [
   'soup-server.h',
   'soup-session.h',
   'soup-session-feature.h',
-  'soup-socket.h',
   'soup-status.h',
   'soup-tld.h',
   'soup-types.h',
diff --git a/libsoup/soup-autocleanups.h b/libsoup/soup-autocleanups.h
index 9566c4ae..98463080 100644
--- a/libsoup/soup-autocleanups.h
+++ b/libsoup/soup-autocleanups.h
@@ -54,7 +54,6 @@ 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)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(SoupXMLRPCParams, soup_xmlrpc_params_free)
diff --git a/libsoup/soup-server-private.h b/libsoup/soup-server-private.h
new file mode 100644
index 00000000..102bbc80
--- /dev/null
+++ b/libsoup/soup-server-private.h
@@ -0,0 +1,23 @@
+/*
+ * Copyright 2020 Igalia S.L.
+ *
+ * This file is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This file is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#pragma once
+
+#include "soup-server.h"
+
+SoupSocket   *soup_client_context_get_socket  (SoupClientContext *client);
diff --git a/libsoup/soup-server.c b/libsoup/soup-server.c
index 221c182b..208b0086 100644
--- a/libsoup/soup-server.c
+++ b/libsoup/soup-server.c
@@ -13,7 +13,7 @@
 
 #include <glib/gi18n-lib.h>
 
-#include "soup-server.h"
+#include "soup-server-private.h"
 #include "soup.h"
 #include "soup-message-private.h"
 #include "soup-misc.h"
diff --git a/libsoup/soup-server.h b/libsoup/soup-server.h
index bf1d7e3b..9caea25d 100644
--- a/libsoup/soup-server.h
+++ b/libsoup/soup-server.h
@@ -193,11 +193,6 @@ const char     *soup_client_context_get_auth_user      (SoupClientContext *clien
 SOUP_AVAILABLE_IN_2_50
 GIOStream      *soup_client_context_steal_connection   (SoupClientContext *client);
 
-/* Legacy API */
-SOUP_AVAILABLE_IN_2_4
-SOUP_DEPRECATED_IN_2_48
-SoupSocket   *soup_client_context_get_socket  (SoupClientContext *client);
-
 G_END_DECLS
 
 #endif /* __SOUP_SERVER_H__ */
diff --git a/libsoup/soup-session-feature.c b/libsoup/soup-session-feature.c
index 12716a62..7b9a3a83 100644
--- a/libsoup/soup-session-feature.c
+++ b/libsoup/soup-session-feature.c
@@ -74,14 +74,13 @@ request_queued (SoupSession *session, SoupMessage *msg, gpointer feature)
 }
 
 static void
-request_started (SoupSession *session, SoupMessage *msg,
-                SoupSocket *socket, gpointer feature)
+request_started (SoupSession *session, SoupMessage *msg, gpointer feature)
 {
        if (soup_message_disables_feature (msg, feature))
                return;
 
        SOUP_SESSION_FEATURE_GET_CLASS (feature)->
-               request_started (feature, session, msg, socket);
+               request_started (feature, session, msg);
 }
 
 static void
diff --git a/libsoup/soup-session-feature.h b/libsoup/soup-session-feature.h
index dd50a4a4..4ce7825f 100644
--- a/libsoup/soup-session-feature.h
+++ b/libsoup/soup-session-feature.h
@@ -31,8 +31,7 @@ typedef struct {
                                      SoupMessage        *msg);
        void     (*request_started)  (SoupSessionFeature *feature,
                                      SoupSession        *session,
-                                     SoupMessage        *msg,
-                                     SoupSocket         *socket);
+                                     SoupMessage        *msg);
        void     (*request_unqueued) (SoupSessionFeature *feature,
                                      SoupSession        *session,
                                      SoupMessage        *msg);
diff --git a/libsoup/soup-session.c b/libsoup/soup-session.c
index 1f08a269..e358df31 100644
--- a/libsoup/soup-session.c
+++ b/libsoup/soup-session.c
@@ -1044,8 +1044,7 @@ soup_session_send_queue_item (SoupSession *session,
                                             "Connection", "Keep-Alive");
        }
 
-       g_signal_emit (session, signals[REQUEST_STARTED], 0,
-                      item->msg, soup_connection_get_socket (item->conn));
+       g_signal_emit (session, signals[REQUEST_STARTED], 0, item->msg);
        soup_message_starting (item->msg);
        if (item->state == SOUP_MESSAGE_RUNNING)
                soup_connection_send_request (item->conn, item, completion_cb, item);
@@ -2616,7 +2615,6 @@ soup_session_class_init (SoupSessionClass *session_class)
         * SoupSession::request-started:
         * @session: the session
         * @msg: the request being sent
-        * @socket: the socket the request is being sent on
         *
         * Emitted just before a request is sent. See
         * #SoupSession::request_queued for a detailed description of
@@ -2631,9 +2629,8 @@ soup_session_class_init (SoupSessionClass *session_class)
                              G_STRUCT_OFFSET (SoupSessionClass, request_started),
                              NULL, NULL,
                              NULL,
-                             G_TYPE_NONE, 2,
-                             SOUP_TYPE_MESSAGE,
-                             SOUP_TYPE_SOCKET);
+                             G_TYPE_NONE, 1,
+                             SOUP_TYPE_MESSAGE);
 
        /**
         * SoupSession::request-unqueued:
diff --git a/libsoup/soup-socket.h b/libsoup/soup-socket.h
index a9b61a68..033d0620 100644
--- a/libsoup/soup-socket.h
+++ b/libsoup/soup-socket.h
@@ -56,42 +56,30 @@ typedef void (*SoupSocketCallback)            (SoupSocket         *sock,
                                               guint               status,
                                               gpointer            user_data);
 
-SOUP_AVAILABLE_IN_2_4
 GType soup_socket_get_type (void);
 
-SOUP_AVAILABLE_IN_2_4
 SoupSocket    *soup_socket_new                (const char         *optname1,
                                               ...) G_GNUC_NULL_TERMINATED;
 
-SOUP_AVAILABLE_IN_2_4
 void           soup_socket_connect_async      (SoupSocket         *sock,
                                               GCancellable       *cancellable,
                                               SoupSocketCallback  callback,
                                               gpointer            user_data);
-SOUP_AVAILABLE_IN_2_4
 guint          soup_socket_connect_sync       (SoupSocket         *sock,
                                               GCancellable       *cancellable);
-SOUP_AVAILABLE_IN_2_4
 gboolean       soup_socket_listen             (SoupSocket         *sock);
 
-SOUP_AVAILABLE_IN_2_4
 gboolean       soup_socket_start_ssl          (SoupSocket         *sock,
                                               GCancellable       *cancellable);
-SOUP_AVAILABLE_IN_2_4
 gboolean       soup_socket_start_proxy_ssl    (SoupSocket         *sock,
                                               const char         *ssl_host,
                                               GCancellable       *cancellable);
-SOUP_AVAILABLE_IN_2_4
 gboolean       soup_socket_is_ssl             (SoupSocket         *sock);
 
-SOUP_AVAILABLE_IN_2_4
 void           soup_socket_disconnect         (SoupSocket         *sock);
-SOUP_AVAILABLE_IN_2_4
 gboolean       soup_socket_is_connected       (SoupSocket         *sock);
 
-SOUP_AVAILABLE_IN_2_4
 GInetSocketAddress   *soup_socket_get_local_address  (SoupSocket         *sock);
-SOUP_AVAILABLE_IN_2_4
 GInetSocketAddress   *soup_socket_get_remote_address (SoupSocket         *sock);
 
 typedef enum {
@@ -101,14 +89,12 @@ typedef enum {
        SOUP_SOCKET_ERROR
 } SoupSocketIOStatus;
 
-SOUP_AVAILABLE_IN_2_4
 SoupSocketIOStatus  soup_socket_read       (SoupSocket         *sock,
                                            gpointer            buffer,
                                            gsize               len,
                                            gsize              *nread,
                                            GCancellable       *cancellable,
                                            GError            **error);
-SOUP_AVAILABLE_IN_2_4
 SoupSocketIOStatus  soup_socket_read_until (SoupSocket         *sock,
                                            gpointer            buffer,
                                            gsize               len,
@@ -119,7 +105,6 @@ SoupSocketIOStatus  soup_socket_read_until (SoupSocket         *sock,
                                            GCancellable       *cancellable,
                                            GError            **error);
 
-SOUP_AVAILABLE_IN_2_4
 SoupSocketIOStatus  soup_socket_write      (SoupSocket         *sock,
                                            gconstpointer       buffer,
                                            gsize               len,
diff --git a/tests/connection-test.c b/tests/connection-test.c
index 27ee74e9..825fd9a9 100644
--- a/tests/connection-test.c
+++ b/tests/connection-test.c
@@ -7,6 +7,7 @@
 
 #include "soup-connection.h"
 #include "soup-socket-private.h"
+#include "soup-server-private.h"
 
 #include <gio/gnetworking.h>
 
@@ -61,9 +62,7 @@ timeout_request_started (SoupServer *server, SoupMessage *msg,
 
        g_signal_handlers_disconnect_by_func (server, timeout_request_started, NULL);
 
-       G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
        sock = soup_client_context_get_socket (client);
-       G_GNUC_END_IGNORE_DEPRECATIONS;
        readable = g_signal_connect (sock, "readable",
                                    G_CALLBACK (timeout_socket), NULL);
 
@@ -141,9 +140,7 @@ server_callback (SoupServer *server, SoupMessage *msg,
                         * the declared Content-Length. Instead, we
                         * forcibly close the socket at that point.
                         */
-                       G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
                        sock = soup_client_context_get_socket (context);
-                       G_GNUC_END_IGNORE_DEPRECATIONS;
                        g_signal_connect (msg, "wrote-chunk",
                                          G_CALLBACK (close_socket), sock);
                } else if (no_close) {
@@ -161,9 +158,7 @@ server_callback (SoupServer *server, SoupMessage *msg,
        if (!strcmp (path, "/timeout-persistent")) {
                SoupSocket *sock;
 
-               G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
                sock = soup_client_context_get_socket (context);
-               G_GNUC_END_IGNORE_DEPRECATIONS;
                setup_timeout_persistent (server, sock);
        }
 
@@ -217,10 +212,11 @@ do_content_length_framing_test (void)
 }
 
 static void
-request_started_socket_collector (SoupSession *session, SoupMessage *msg,
-                                 SoupSocket *socket, gpointer user_data)
+request_started_socket_collector (SoupSession *session, SoupMessage *msg, gpointer user_data)
 {
        SoupSocket **sockets = user_data;
+        SoupConnection *conn = soup_message_get_connection (msg);
+        SoupSocket *socket = soup_connection_get_socket (conn);
        int i;
 
        debug_printf (2, "      msg %p => socket %p\n", msg, socket);
@@ -395,8 +391,7 @@ do_persistent_connection_timeout_test (void)
 }
 
 static void
-cancel_cancellable_handler (SoupSession *session, SoupMessage *msg,
-                           SoupSocket *socket, gpointer user_data)
+cancel_cancellable_handler (SoupSession *session, SoupMessage *msg, gpointer user_data)
 {
        g_cancellable_cancel (user_data);
 }
@@ -507,8 +502,7 @@ quit_loop (gpointer data)
 }
 
 static void
-max_conns_request_started (SoupSession *session, SoupMessage *msg,
-                          SoupSocket *socket, gpointer user_data)
+max_conns_request_started (SoupSession *session, SoupMessage *msg, gpointer user_data)
 {
        if (++msgs_done >= MAX_CONNS) {
                if (quit_loop_timeout)
@@ -608,10 +602,11 @@ do_max_conns_test (void)
 }
 
 static void
-np_request_started (SoupSession *session, SoupMessage *msg,
-                   SoupSocket *socket, gpointer user_data)
+np_request_started (SoupSession *session, SoupMessage *msg, gpointer user_data)
 {
        SoupSocket **save_socket = user_data;
+        SoupConnection *conn = soup_message_get_connection (msg);
+        SoupSocket *socket = soup_connection_get_socket (conn);
 
        *save_socket = g_object_ref (socket);
 }
diff --git a/tests/timeout-test.c b/tests/timeout-test.c
index 430d5476..5b7685fd 100644
--- a/tests/timeout-test.c
+++ b/tests/timeout-test.c
@@ -1,6 +1,8 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include "test-utils.h"
+#include "soup-message-private.h"
+#include "soup-connection.h"
 
 static gboolean slow_https;
 
@@ -13,12 +15,12 @@ message_finished (SoupMessage *msg, gpointer user_data)
 }
 
 static void
-request_started_cb (SoupSession *session, SoupMessage *msg,
-                   SoupSocket *socket, gpointer user_data)
+request_started_cb (SoupSession *session, SoupMessage *msg, gpointer user_data)
 {
        SoupSocket **ret = user_data;
+        SoupConnection *conn = soup_message_get_connection (msg);
 
-       *ret = socket;
+       *ret = soup_connection_get_socket (conn);
 }
 
 static void


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