Tue, 04 Jan 2011 06:55:30 +0000
Remove trailing whitespace
|
31180
3f527ea0d2ea
These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31146
diff
changeset
|
1 | /** |
|
3f527ea0d2ea
These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31146
diff
changeset
|
2 | * @file slpmsg_part.c MSNSLP Parts |
|
3f527ea0d2ea
These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31146
diff
changeset
|
3 | * |
|
3f527ea0d2ea
These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31146
diff
changeset
|
4 | * purple |
|
3f527ea0d2ea
These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31146
diff
changeset
|
5 | * |
|
3f527ea0d2ea
These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31146
diff
changeset
|
6 | * Purple is the legal property of its developers, whose names are too numerous |
|
3f527ea0d2ea
These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31146
diff
changeset
|
7 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
3f527ea0d2ea
These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31146
diff
changeset
|
8 | * source distribution. |
|
3f527ea0d2ea
These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31146
diff
changeset
|
9 | * |
|
3f527ea0d2ea
These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31146
diff
changeset
|
10 | * This program is free software; you can redistribute it and/or modify |
|
3f527ea0d2ea
These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31146
diff
changeset
|
11 | * it under the terms of the GNU General Public License as published by |
|
3f527ea0d2ea
These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31146
diff
changeset
|
12 | * the Free Software Foundation; either version 2 of the License, or |
|
3f527ea0d2ea
These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31146
diff
changeset
|
13 | * (at your option) any later version. |
|
3f527ea0d2ea
These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31146
diff
changeset
|
14 | * |
|
3f527ea0d2ea
These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31146
diff
changeset
|
15 | * This program is distributed in the hope that it will be useful, |
|
3f527ea0d2ea
These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31146
diff
changeset
|
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
3f527ea0d2ea
These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31146
diff
changeset
|
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
3f527ea0d2ea
These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31146
diff
changeset
|
18 | * GNU General Public License for more details. |
|
3f527ea0d2ea
These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31146
diff
changeset
|
19 | * |
|
3f527ea0d2ea
These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31146
diff
changeset
|
20 | * You should have received a copy of the GNU General Public License |
|
3f527ea0d2ea
These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31146
diff
changeset
|
21 | * along with this program; if not, write to the Free Software |
|
3f527ea0d2ea
These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31146
diff
changeset
|
22 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
|
3f527ea0d2ea
These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31146
diff
changeset
|
23 | */ |
|
3f527ea0d2ea
These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31146
diff
changeset
|
24 | |
|
30998
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
25 | #include "internal.h" |
|
31051
342d8b8c7611
Add a ref to the part at sbconn and add some debug output.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31049
diff
changeset
|
26 | #include "debug.h" |
|
30998
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
27 | |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
28 | #include "slpmsg.h" |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
29 | #include "slpmsg_part.h" |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
30 | |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
31 | MsnSlpMessagePart *msn_slpmsgpart_new(MsnP2PHeader *header, MsnP2PFooter *footer) |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
32 | { |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
33 | MsnSlpMessagePart *part; |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
34 | |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
35 | part = g_new0(MsnSlpMessagePart, 1); |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
36 | |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
37 | if (header) |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
38 | part->header = g_memdup(header, P2P_PACKET_HEADER_SIZE); |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
39 | if (footer) |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
40 | part->footer = g_memdup(footer, P2P_PACKET_FOOTER_SIZE); |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
41 | |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
42 | part->ack_cb = msn_slpmsgpart_ack; |
| 31024 | 43 | part->nak_cb = msn_slpmsgpart_nak; |
|
30998
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
44 | |
|
31049
22a86713164e
Add support to ref/unref SlpMessageParts.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31045
diff
changeset
|
45 | return msn_slpmsgpart_ref(part); |
|
30998
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
46 | } |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
47 | |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
48 | MsnSlpMessagePart *msn_slpmsgpart_new_from_data(const char *data, size_t data_len) |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
49 | { |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
50 | MsnSlpMessagePart *part; |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
51 | int body_len; |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
52 | |
|
31248
6bd3caec2b28
Remove extra variables, and this sizeof() is wrong.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31247
diff
changeset
|
53 | if (data_len < P2P_PACKET_HEADER_SIZE) { |
|
30998
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
54 | return NULL; |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
55 | } |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
56 | |
|
31146
9334bb4736ae
Fix the possible leak in the function that's actually used.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31136
diff
changeset
|
57 | part = msn_slpmsgpart_new(NULL, NULL); |
|
9334bb4736ae
Fix the possible leak in the function that's actually used.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31136
diff
changeset
|
58 | |
|
30998
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
59 | /* Extract the binary SLP header */ |
|
31248
6bd3caec2b28
Remove extra variables, and this sizeof() is wrong.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31247
diff
changeset
|
60 | part->header = msn_p2p_header_from_wire(data); |
|
6bd3caec2b28
Remove extra variables, and this sizeof() is wrong.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31247
diff
changeset
|
61 | data += P2P_PACKET_HEADER_SIZE; |
|
30998
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
62 | |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
63 | /* Extract the body */ |
|
31045
07dad377f716
Properly set the body_len of the SlpMessagePart, this set correctly the footer value.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31042
diff
changeset
|
64 | body_len = data_len - P2P_PACKET_HEADER_SIZE - P2P_PACKET_FOOTER_SIZE; |
|
30998
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
65 | /* msg->body_len = msg->msnslp_header.length; */ |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
66 | |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
67 | if (body_len > 0) { |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
68 | part->size = body_len; |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
69 | part->buffer = g_malloc(body_len); |
|
31248
6bd3caec2b28
Remove extra variables, and this sizeof() is wrong.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31247
diff
changeset
|
70 | memcpy(part->buffer, data, body_len); |
|
6bd3caec2b28
Remove extra variables, and this sizeof() is wrong.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31247
diff
changeset
|
71 | data += body_len; |
|
30998
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
72 | } |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
73 | |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
74 | /* Extract the footer */ |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
31248
diff
changeset
|
75 | if (body_len >= 0) |
|
31248
6bd3caec2b28
Remove extra variables, and this sizeof() is wrong.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31247
diff
changeset
|
76 | part->footer = msn_p2p_footer_from_wire(data); |
|
30998
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
77 | |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
78 | return part; |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
79 | } |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
80 | |
|
31240
db0cb3d72bc9
Use the unref functions everywhere, instead of destroy. I also removed
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31235
diff
changeset
|
81 | static void msn_slpmsgpart_destroy(MsnSlpMessagePart *part) |
|
30998
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
82 | { |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
83 | g_free(part->header); |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
84 | g_free(part->footer); |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
85 | |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
86 | g_free(part); |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
87 | |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
88 | } |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
89 | |
|
31049
22a86713164e
Add support to ref/unref SlpMessageParts.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31045
diff
changeset
|
90 | MsnSlpMessagePart *msn_slpmsgpart_ref(MsnSlpMessagePart *part) |
|
22a86713164e
Add support to ref/unref SlpMessageParts.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31045
diff
changeset
|
91 | { |
|
22a86713164e
Add support to ref/unref SlpMessageParts.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31045
diff
changeset
|
92 | g_return_val_if_fail(part != NULL, NULL); |
|
31235
d347d296b0e6
As Mark did before, we probably don't need a return value from these
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31180
diff
changeset
|
93 | part->ref_count++; |
|
31049
22a86713164e
Add support to ref/unref SlpMessageParts.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31045
diff
changeset
|
94 | |
|
31051
342d8b8c7611
Add a ref to the part at sbconn and add some debug output.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31049
diff
changeset
|
95 | if (purple_debug_is_verbose()) |
|
31235
d347d296b0e6
As Mark did before, we probably don't need a return value from these
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31180
diff
changeset
|
96 | purple_debug_info("msn", "part ref (%p)[%u]\n", part, part->ref_count); |
|
31051
342d8b8c7611
Add a ref to the part at sbconn and add some debug output.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31049
diff
changeset
|
97 | |
|
31049
22a86713164e
Add support to ref/unref SlpMessageParts.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31045
diff
changeset
|
98 | return part; |
|
22a86713164e
Add support to ref/unref SlpMessageParts.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31045
diff
changeset
|
99 | } |
|
22a86713164e
Add support to ref/unref SlpMessageParts.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31045
diff
changeset
|
100 | |
|
31235
d347d296b0e6
As Mark did before, we probably don't need a return value from these
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31180
diff
changeset
|
101 | void msn_slpmsgpart_unref(MsnSlpMessagePart *part) |
|
31049
22a86713164e
Add support to ref/unref SlpMessageParts.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31045
diff
changeset
|
102 | { |
|
31235
d347d296b0e6
As Mark did before, we probably don't need a return value from these
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31180
diff
changeset
|
103 | g_return_if_fail(part != NULL); |
|
d347d296b0e6
As Mark did before, we probably don't need a return value from these
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31180
diff
changeset
|
104 | g_return_if_fail(part->ref_count > 0); |
|
31049
22a86713164e
Add support to ref/unref SlpMessageParts.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31045
diff
changeset
|
105 | |
|
22a86713164e
Add support to ref/unref SlpMessageParts.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31045
diff
changeset
|
106 | part->ref_count--; |
|
22a86713164e
Add support to ref/unref SlpMessageParts.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31045
diff
changeset
|
107 | |
|
31051
342d8b8c7611
Add a ref to the part at sbconn and add some debug output.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31049
diff
changeset
|
108 | if (purple_debug_is_verbose()) |
|
31235
d347d296b0e6
As Mark did before, we probably don't need a return value from these
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31180
diff
changeset
|
109 | purple_debug_info("msn", "part unref (%p)[%u]\n", part, part->ref_count); |
|
31051
342d8b8c7611
Add a ref to the part at sbconn and add some debug output.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31049
diff
changeset
|
110 | |
|
31049
22a86713164e
Add support to ref/unref SlpMessageParts.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31045
diff
changeset
|
111 | if (part->ref_count == 0) { |
|
22a86713164e
Add support to ref/unref SlpMessageParts.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31045
diff
changeset
|
112 | msn_slpmsgpart_destroy(part); |
|
22a86713164e
Add support to ref/unref SlpMessageParts.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31045
diff
changeset
|
113 | } |
|
22a86713164e
Add support to ref/unref SlpMessageParts.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31045
diff
changeset
|
114 | } |
|
22a86713164e
Add support to ref/unref SlpMessageParts.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31045
diff
changeset
|
115 | |
|
30998
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
116 | void msn_slpmsgpart_set_bin_data(MsnSlpMessagePart *part, const void *data, size_t len) |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
117 | { |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
118 | g_return_if_fail(part != NULL); |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
119 | |
|
31136
643ef83b4c67
Fix a lot more leaks, some old, some new.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31135
diff
changeset
|
120 | g_free(part->buffer); |
|
30998
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
121 | |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
122 | if (data != NULL && len > 0) { |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
123 | part->buffer = g_malloc(len + 1); |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
124 | memcpy(part->buffer, data, len); |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
125 | part->buffer[len] = '\0'; |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
126 | part->size = len; |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
127 | } else { |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
128 | part->buffer = NULL; |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
129 | part->size = 0; |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
130 | } |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
131 | |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
132 | } |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
133 | |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
134 | char *msn_slpmsgpart_serialize(MsnSlpMessagePart *part, size_t *ret_size) |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
135 | { |
|
31247
57079aab03d0
Change SLP P2P functions to use the new buffer access functions
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31241
diff
changeset
|
136 | char *header; |
|
57079aab03d0
Change SLP P2P functions to use the new buffer access functions
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31241
diff
changeset
|
137 | char *footer; |
|
30998
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
138 | char *base; |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
139 | char *tmp; |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
140 | size_t siz; |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
141 | |
|
31247
57079aab03d0
Change SLP P2P functions to use the new buffer access functions
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31241
diff
changeset
|
142 | base = g_malloc(P2P_PACKET_HEADER_SIZE + part->size + P2P_PACKET_FOOTER_SIZE); |
|
30998
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
143 | tmp = base; |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
144 | |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
145 | header = msn_p2p_header_to_wire(part->header); |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
146 | footer = msn_p2p_footer_to_wire(part->footer); |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
147 | |
|
31247
57079aab03d0
Change SLP P2P functions to use the new buffer access functions
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31241
diff
changeset
|
148 | siz = P2P_PACKET_HEADER_SIZE; |
|
30998
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
149 | /* Copy header */ |
|
31247
57079aab03d0
Change SLP P2P functions to use the new buffer access functions
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31241
diff
changeset
|
150 | memcpy(tmp, header, siz); |
|
30998
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
151 | tmp += siz; |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
152 | |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
153 | /* Copy body */ |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
154 | memcpy(tmp, part->buffer, part->size); |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
155 | tmp += part->size; |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
156 | |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
157 | /* Copy footer */ |
|
31247
57079aab03d0
Change SLP P2P functions to use the new buffer access functions
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31241
diff
changeset
|
158 | siz = P2P_PACKET_FOOTER_SIZE; |
|
57079aab03d0
Change SLP P2P functions to use the new buffer access functions
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31241
diff
changeset
|
159 | memcpy(tmp, footer, siz); |
|
30998
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
160 | tmp += siz; |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
161 | |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
162 | *ret_size = tmp - base; |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
163 | |
|
31135
f256308961f6
Fix some leaks. Header and footer are allocated, copied and not freed.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31075
diff
changeset
|
164 | g_free(header); |
|
f256308961f6
Fix some leaks. Header and footer are allocated, copied and not freed.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31075
diff
changeset
|
165 | g_free(footer); |
|
f256308961f6
Fix some leaks. Header and footer are allocated, copied and not freed.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31075
diff
changeset
|
166 | |
|
30998
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
167 | return base; |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
168 | } |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
169 | /* We have received the message ack */ |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
170 | void |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
171 | msn_slpmsgpart_ack(MsnSlpMessagePart *part, void *data) |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
172 | { |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
173 | MsnSlpMessage *slpmsg; |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
174 | long long real_size; |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
175 | |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
176 | slpmsg = data; |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
177 | |
|
31072
55bfe976adfe
Get rid of the Flags field in the SlpMessage in favor of the one in the Header.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31071
diff
changeset
|
178 | real_size = (slpmsg->header->flags == P2P_ACK) ? 0 : slpmsg->size; |
|
30998
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
179 | |
|
31064
6d422455a312
Use the SlpMessage header offset only instead of it and the one on the SlpMessage when sending it. This fixes sending big data which needs to be split in multiple messages.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31051
diff
changeset
|
180 | slpmsg->header->offset += part->header->length; |
|
30998
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
181 | |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
182 | slpmsg->parts = g_list_remove(slpmsg->parts, part); |
|
31241
cc8a2c660694
Correct the ref counts on the SlpMsgParts. When it's removed from the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31240
diff
changeset
|
183 | msn_slpmsgpart_unref(part); |
|
30998
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
184 | |
|
31064
6d422455a312
Use the SlpMessage header offset only instead of it and the one on the SlpMessage when sending it. This fixes sending big data which needs to be split in multiple messages.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31051
diff
changeset
|
185 | if (slpmsg->header->offset < real_size) |
|
30998
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
186 | { |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
187 | if (slpmsg->slpcall->xfer && purple_xfer_get_status(slpmsg->slpcall->xfer) == PURPLE_XFER_STATUS_STARTED) |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
188 | { |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
189 | slpmsg->slpcall->xfer_msg = slpmsg; |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
190 | purple_xfer_prpl_ready(slpmsg->slpcall->xfer); |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
191 | } |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
192 | else |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
193 | msn_slplink_send_msgpart(slpmsg->slplink, slpmsg); |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
194 | } |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
195 | else |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
196 | { |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
197 | /* The whole message has been sent */ |
|
31072
55bfe976adfe
Get rid of the Flags field in the SlpMessage in favor of the one in the Header.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31071
diff
changeset
|
198 | if (msn_p2p_msg_is_data(slpmsg->header->flags)) |
|
30998
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
199 | { |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
200 | if (slpmsg->slpcall != NULL) |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
201 | { |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
202 | if (slpmsg->slpcall->cb) |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
203 | slpmsg->slpcall->cb(slpmsg->slpcall, |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
204 | NULL, 0); |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
205 | } |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
206 | } |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
207 | } |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
208 | } |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
209 | |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
210 | /* We have received the message nak. */ |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
211 | void |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
212 | msn_slpmsgpart_nak(MsnSlpMessagePart *part, void *data) |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
213 | { |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
214 | MsnSlpMessage *slpmsg; |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
215 | |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
216 | slpmsg = data; |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
217 | |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
218 | msn_slplink_send_msgpart(slpmsg->slplink, slpmsg); |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
219 | |
|
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
220 | slpmsg->parts = g_list_remove(slpmsg->parts, part); |
|
31241
cc8a2c660694
Correct the ref counts on the SlpMsgParts. When it's removed from the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31240
diff
changeset
|
221 | msn_slpmsgpart_unref(part); |
|
30998
d6daed2e1e30
Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
222 | } |
|
31235
d347d296b0e6
As Mark did before, we probably don't need a return value from these
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31180
diff
changeset
|
223 |