libpurple/protocols/novell/nmrequest.c

Fri, 12 Aug 2022 03:44:34 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Fri, 12 Aug 2022 03:44:34 -0500
branch
gtk4
changeset 41560
2579a5138f0c
parent 40098
1f2ef108cfcb
permissions
-rw-r--r--

A bunch of random fixes for the the gtk4 branch

Testing Done:
Compiled

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

8675
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
1 /*
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
2 * nmrequest.c
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
3 *
8933
0f1e8160581d [gaim-migrate @ 9703]
Mike Stoddard <mistoddard@novell.com>
parents: 8684
diff changeset
4 * Copyright (c) 2004 Novell, Inc. All Rights Reserved.
0f1e8160581d [gaim-migrate @ 9703]
Mike Stoddard <mistoddard@novell.com>
parents: 8684
diff changeset
5 *
0f1e8160581d [gaim-migrate @ 9703]
Mike Stoddard <mistoddard@novell.com>
parents: 8684
diff changeset
6 * This program is free software; you can redistribute it and/or modify
0f1e8160581d [gaim-migrate @ 9703]
Mike Stoddard <mistoddard@novell.com>
parents: 8684
diff changeset
7 * it under the terms of the GNU General Public License as published by
0f1e8160581d [gaim-migrate @ 9703]
Mike Stoddard <mistoddard@novell.com>
parents: 8684
diff changeset
8 * the Free Software Foundation; version 2 of the License.
8675
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
9 *
8933
0f1e8160581d [gaim-migrate @ 9703]
Mike Stoddard <mistoddard@novell.com>
parents: 8684
diff changeset
10 * This program is distributed in the hope that it will be useful,
0f1e8160581d [gaim-migrate @ 9703]
Mike Stoddard <mistoddard@novell.com>
parents: 8684
diff changeset
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
0f1e8160581d [gaim-migrate @ 9703]
Mike Stoddard <mistoddard@novell.com>
parents: 8684
diff changeset
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
0f1e8160581d [gaim-migrate @ 9703]
Mike Stoddard <mistoddard@novell.com>
parents: 8684
diff changeset
13 * GNU General Public License for more details.
8684
7ec649752daa [gaim-migrate @ 9437]
Christian Hammond <chipx86@chipx86.com>
parents: 8675
diff changeset
14 *
8933
0f1e8160581d [gaim-migrate @ 9703]
Mike Stoddard <mistoddard@novell.com>
parents: 8684
diff changeset
15 * You should have received a copy of the GNU General Public License
0f1e8160581d [gaim-migrate @ 9703]
Mike Stoddard <mistoddard@novell.com>
parents: 8684
diff changeset
16 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 15884
diff changeset
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
8675
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
18 *
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
19 */
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
20
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
21 #include "nmrequest.h"
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
22
9360
c40bc951573a [gaim-migrate @ 10168]
Mike Stoddard <mistoddard@novell.com>
parents: 8933
diff changeset
23 static int count = 0;
c40bc951573a [gaim-migrate @ 10168]
Mike Stoddard <mistoddard@novell.com>
parents: 8933
diff changeset
24
8675
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
25 struct _NMRequest
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
26 {
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
27 int trans_id;
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
28 char *cmd;
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
29 gpointer data;
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
30 gpointer user_define;
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
31 nm_response_cb callback;
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
32 int ref_count;
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
33 };
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
34
40098
1f2ef108cfcb novell: Remove unused data/code.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 37425
diff changeset
35 NMRequest *
1f2ef108cfcb novell: Remove unused data/code.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 37425
diff changeset
36 nm_create_request(const char *cmd, int trans_id, nm_response_cb cb,
1f2ef108cfcb novell: Remove unused data/code.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 37425
diff changeset
37 gpointer resp_data, gpointer user_define)
8675
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
38 {
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
39 NMRequest *req;
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
40
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
41 if (cmd == NULL)
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
42 return NULL;
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
43
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
44 req = g_new0(NMRequest, 1);
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
45 req->cmd = g_strdup(cmd);
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
46 req->trans_id = trans_id;
9360
c40bc951573a [gaim-migrate @ 10168]
Mike Stoddard <mistoddard@novell.com>
parents: 8933
diff changeset
47 req->callback = cb;
c40bc951573a [gaim-migrate @ 10168]
Mike Stoddard <mistoddard@novell.com>
parents: 8933
diff changeset
48 req->data = resp_data;
c40bc951573a [gaim-migrate @ 10168]
Mike Stoddard <mistoddard@novell.com>
parents: 8933
diff changeset
49 req->user_define = user_define;
8675
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
50 req->ref_count = 1;
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
51
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
52 purple_debug_info("novell", "Creating NMRequest instance, total=%d\n", ++count);
9360
c40bc951573a [gaim-migrate @ 10168]
Mike Stoddard <mistoddard@novell.com>
parents: 8933
diff changeset
53
8675
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
54 return req;
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
55 }
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
56
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
57 void
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
58 nm_release_request(NMRequest * req)
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
59 {
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
60 if (req && (--req->ref_count == 0)) {
37425
5061721fd98f Remove more NULL-checks before free()
Michael McConville <mmcco@mykolab.com>
parents: 19859
diff changeset
61 g_free(req->cmd);
8675
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
62 g_free(req);
9360
c40bc951573a [gaim-migrate @ 10168]
Mike Stoddard <mistoddard@novell.com>
parents: 8933
diff changeset
63
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
64 purple_debug_info("novell",
9360
c40bc951573a [gaim-migrate @ 10168]
Mike Stoddard <mistoddard@novell.com>
parents: 8933
diff changeset
65 "Releasing NMRequest instance, total=%d\n", --count);
8675
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
66 }
9360
c40bc951573a [gaim-migrate @ 10168]
Mike Stoddard <mistoddard@novell.com>
parents: 8933
diff changeset
67
8675
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
68 }
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
69
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
70 void
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
71 nm_request_add_ref(NMRequest * req)
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
72 {
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
73 if (req)
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
74 req->ref_count++;
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
75 }
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
76
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
77 void
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
78 nm_request_set_callback(NMRequest * req, nm_response_cb callback)
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
79 {
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
80 if (req)
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
81 req->callback = callback;
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
82 }
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
83
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
84 void
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
85 nm_request_set_data(NMRequest * req, gpointer data)
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
86 {
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
87 if (req)
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
88 req->data = data;
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
89 }
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
90
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
91 void
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
92 nm_request_set_user_define(NMRequest * req, gpointer user_define)
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
93 {
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
94 if (req)
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
95 req->user_define = user_define;
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
96 }
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
97
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
98 int
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
99 nm_request_get_trans_id(NMRequest * req)
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
100 {
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
101 if (req)
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
102 return req->trans_id;
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
103 else
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
104 return -1;
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
105 }
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
106
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
107 const char *
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
108 nm_request_get_cmd(NMRequest * req)
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
109 {
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
110 if (req == NULL)
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
111 return NULL;
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
112
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
113 return req->cmd;
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
114 }
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
115
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
116 gpointer
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
117 nm_request_get_data(NMRequest * req)
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
118 {
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
119 if (req == NULL)
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
120 return NULL;
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
121
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
122 return req->data;
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
123 }
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
124
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
125 gpointer
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
126 nm_request_get_user_define(NMRequest * req)
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
127 {
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
128 if (req == NULL)
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
129 return NULL;
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
130
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
131 return req->user_define;
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
132 }
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
133
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
134 nm_response_cb
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
135 nm_request_get_callback(NMRequest * req)
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
136 {
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
137 if (req == NULL)
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
138 return NULL;
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
139
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
140 return req->callback;
4a14d9ec84a5 [gaim-migrate @ 9428]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
141 }

mercurial