diff options
author | Patrick Griffis <pgriffis@igalia.com> | 2020-03-25 00:05:41 -0700 |
---|---|---|
committer | Patrick Griffis <pgriffis@igalia.com> | 2020-09-19 15:41:24 -0700 |
commit | 36b7ae15d371515d0a87c3926fcad2b8113457ed (patch) | |
tree | bf72a59fe6c91c7fcac70c0b19745c18bc46b0e0 | |
parent | 685c40044da48b99cd2c8a6c08a1584d18e0d959 (diff) | |
download | libsoup-36b7ae15d371515d0a87c3926fcad2b8113457ed.tar.gz |
Make SoupSocket private API
-rw-r--r-- | docs/reference/libsoup-2.4-sections.txt | 49 | ||||
-rw-r--r-- | libsoup/Soup-2.4.metadata | 2 | ||||
-rw-r--r-- | libsoup/include/soup-installed.h | 1 | ||||
-rw-r--r-- | libsoup/meson.build | 1 | ||||
-rw-r--r-- | libsoup/soup-autocleanups.h | 1 | ||||
-rw-r--r-- | libsoup/soup-server-private.h | 23 | ||||
-rw-r--r-- | libsoup/soup-server.c | 2 | ||||
-rw-r--r-- | libsoup/soup-server.h | 5 | ||||
-rw-r--r-- | libsoup/soup-session-feature.c | 5 | ||||
-rw-r--r-- | libsoup/soup-session-feature.h | 3 | ||||
-rw-r--r-- | libsoup/soup-session.c | 9 | ||||
-rw-r--r-- | libsoup/soup-socket.h | 15 | ||||
-rw-r--r-- | tests/connection-test.c | 23 | ||||
-rw-r--r-- | 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 @@ -537,55 +537,6 @@ 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> SoupURI 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 |