libpurple/soupcompat.h

Mon, 22 Aug 2022 21:40:04 -0500

author
Elliott Sales de Andrade <quantum.analyst@gmail.com>
date
Mon, 22 Aug 2022 21:40:04 -0500
branch
gtk4
changeset 41567
517ac516af27
parent 41216
5c4269ad7ee4
child 41700
9f6a2c90800e
permissions
-rw-r--r--

Inline pidgin_make_scrollable

We need to change it for GTK4, and there are few enough that it can be inlined. Eventually, that code might be a `.ui` anyway.

Testing Done:
Compile only.

Reviewed at https://reviews.imfreedom.org/r/1615/

41212
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1 /*
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
2 * Purple - Internet Messaging Library
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
3 * Copyright (C) Pidgin Developers <devel@pidgin.im>
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
4 *
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
5 * Purple is the legal property of its developers, whose names are too numerous
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
6 * to list here. Please refer to the COPYRIGHT file distributed with this
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
7 * source distribution.
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
8 *
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
9 * This program is free software; you can redistribute it and/or modify
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
10 * it under the terms of the GNU General Public License as published by
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
11 * the Free Software Foundation; either version 2 of the License, or
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
12 * (at your option) any later version.
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
13 *
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
14 * This program is distributed in the hope that it will be useful,
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
17 * GNU General Public License for more details.
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
18 *
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
19 * You should have received a copy of the GNU General Public License
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
20 * along with this program; if not, see <https://www.gnu.org/licenses/>.
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
21 */
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
22
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
23 #ifndef PURPLE_SOUPCOMPAT_H
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
24 #define PURPLE_SOUPCOMPAT_H
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
25 /*
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
26 * This file is internal to libpurple. Do not use!
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
27 * Also, any public API should not depend on this file.
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
28 */
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
29
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
30 #include <libsoup/soup.h>
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
31
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
32 #if SOUP_MAJOR_VERSION < 3
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
33
41213
0b5c475770e2 Use accessor for SoupMessage->reason_phrase
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 41212
diff changeset
34 static inline const char *
0b5c475770e2 Use accessor for SoupMessage->reason_phrase
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 41212
diff changeset
35 soup_message_get_reason_phrase(SoupMessage *msg) {
0b5c475770e2 Use accessor for SoupMessage->reason_phrase
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 41212
diff changeset
36 return msg->reason_phrase;
0b5c475770e2 Use accessor for SoupMessage->reason_phrase
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 41212
diff changeset
37 }
0b5c475770e2 Use accessor for SoupMessage->reason_phrase
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 41212
diff changeset
38
41214
b0b7d118475f Use accessor for SoupMessage->request_headers
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 41213
diff changeset
39 static inline SoupMessageHeaders *
41215
43a4dc8903fb Use accessor for SoupMessage->response_headers
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 41214
diff changeset
40 soup_message_get_response_headers(SoupMessage *msg) {
43a4dc8903fb Use accessor for SoupMessage->response_headers
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 41214
diff changeset
41 return msg->response_headers;
43a4dc8903fb Use accessor for SoupMessage->response_headers
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 41214
diff changeset
42 }
43a4dc8903fb Use accessor for SoupMessage->response_headers
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 41214
diff changeset
43
43a4dc8903fb Use accessor for SoupMessage->response_headers
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 41214
diff changeset
44 static inline SoupMessageHeaders *
41214
b0b7d118475f Use accessor for SoupMessage->request_headers
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 41213
diff changeset
45 soup_message_get_request_headers(SoupMessage *msg) {
b0b7d118475f Use accessor for SoupMessage->request_headers
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 41213
diff changeset
46 return msg->request_headers;
b0b7d118475f Use accessor for SoupMessage->request_headers
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 41213
diff changeset
47 }
b0b7d118475f Use accessor for SoupMessage->request_headers
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 41213
diff changeset
48
41212
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
49 static inline SoupStatus
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
50 soup_message_get_status(SoupMessage *msg) {
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
51 return msg->status_code;
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
52 }
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
53
41216
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
54 static inline SoupMessage *
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
55 soup_message_new_from_encoded_form(const gchar *method,
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
56 const gchar *uri_string,
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
57 gchar *encoded_form)
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
58 {
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
59 SoupMessage *msg = NULL;
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
60 SoupURI *uri;
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
61
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
62 g_return_val_if_fail(method != NULL, NULL);
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
63 g_return_val_if_fail(uri_string != NULL, NULL);
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
64 g_return_val_if_fail(encoded_form != NULL, NULL);
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
65
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
66 uri = soup_uri_new(uri_string);
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
67 if (!uri || !uri->host) {
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
68 g_free(encoded_form);
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
69 soup_uri_free(uri);
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
70 return NULL;
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
71 }
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
72
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
73 if (strcmp(method, "GET") == 0) {
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
74 g_free(uri->query);
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
75 uri->query = encoded_form;
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
76 msg = soup_message_new_from_uri(method, uri);
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
77 } else if (strcmp (method, "POST") == 0 || strcmp (method, "PUT") == 0) {
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
78 msg = soup_message_new_from_uri(method, uri);
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
79 soup_message_body_append_take(msg->request_body,
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
80 (guchar *)encoded_form,
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
81 strlen(encoded_form));
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
82 } else {
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
83 g_free(encoded_form);
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
84 }
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
85
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
86 soup_uri_free(uri);
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
87
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
88 return msg;
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
89 }
5c4269ad7ee4 Replace the removed soup_form_request_new API
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41215
diff changeset
90
41212
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
91 #endif /* SOUP_MAJOR_VERSION < 3 */
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
92
9f0f4c23132e Use accessor for SoupMessage->status_code
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
93 #endif /* PURPLE_SOUPCOMPAT_H */

mercurial